模拟人生3工作狂特征 初学者如何高效学习一门编程语言?

[更新]
·
·
分类:生活百科
3492 阅读

模拟人生3工作狂特征

初学者如何高效学习一门编程语言?

初学者如何高效学习一门编程语言?

引言回答这个问题前,先对问题作正确、完整的解读。
问题的关键字:初学者、高效、一门编程语言
学习同一门编程语言,初学者和老手是不一样的。这是由人类的学习机制决定的。
人类的学习过程其实是一个在已知知识结构下进行关联、联想,产生新的认知连接的过程。从这个角度看,初学者和老手的最大区别是:初学者能利用的已有知识结构要少于老手。所以对于老手的方法不一定适用于初学者。
这些知识结构的基本构成元素就是概念。老手的既有概念多于新手,所以新手首先要形成尽可能多的、正确的概念。
编程语言的相关概念有哪些?从静态和动态两个维度来看。
静态维度
首先我们问自己一个问题:编程语言的目的到底是什么?编程语言是一种表达解决具体问题的方法(专业术语叫做“算法”)的表达工具。表达工具用于表达方式,那么类比自然语言,就需要有如下的基本元素:
1. 语法:这个可以从对应编程语言的官方语言规范或者任何一本入门书籍习得。
2. 语义:编程语言最终是在机器上执行的,但是表达的是人类的方法(思想),所以实际上它起到了桥梁(映射)的作用。
大部分初学者都是在这一关坚持不下去的。因为语义的翻译,需要人脑来做两个领域的转换。这种转换除了工具(编程语言)之外,需要有媒介(素材),这种媒介(素材)就是数据结构和算法。
关于数据结构和算法的通俗介绍可以参见我在头条上的系列连载文章(《算法素颜》):
《算法素颜(第1篇):走下神坛吧!算法》
《算法素颜(第2篇):扫雷还可以这样玩》
《算法素颜(第3篇):KO!大O——时间复杂度》
动态维度
编程语言最终是以程序的形态运行在计算机上的(更精确的说法是操作系统)。
程序的运行过程如下:
从上面的过程描述可以看出:
1. 你需要熟悉和使用编程语言对应的IDE(集成开发环境)或者编译器、解释器
2. 你需要熟悉对应的操作系统(如Windows / Unix / Linux)及基本操作
程序是否可以一次性编写正确? 除非是高德纳(《计算机程序设计艺术》的作者、知名计算机科学家)那样的大神,普通人、特别是初学者是不可能一次性将程序(特别是大规模程序)写正确的。那么如何解决这个问题呢?答案就是调试。
调试就需要调试工具(调试器)。开发应用程序就需要掌握应用程序调试器,开发内核、驱动程序就需要掌握内核调试器。
如何不打退堂鼓、半途而废? 很多朋友看到这里,估计都要打退堂鼓了:怎么要掌握这么多东西?自己能坚持下来吗?
心理学上有一个发现:人只有在强烈的动机、并形成习惯的条件下,才能持之以恒地做某件事。要形成条件反射一样的习惯,需要数月的时间在海马体的区域形成印记。
关于学习动机诚然,现在IT/互联网是相对高薪的行业,有一个短期功利性的目标牵引无可厚非。但是要坚持数月并形成习惯、甚至将来持续投入(知识和技术的更迭相当地快),就需要培养兴趣,因为兴趣是一切的老师。
如何培养兴趣?给自己设定一些解决现实问题的小目标——通过编程练习来达成一个个小目标,是一个快速获取反馈,逐步积累自信的过程。为什么人们都喜欢打游戏?因为打游戏可以获取快速反馈——升级、叫经验、加技能、加属性……我们设立一个个小的编程目标就是在模拟这个反馈过程。
经验分享与小贴士 多看专业经典书籍、多研究优秀的开源源代码、多加入圈子讨论。
编程是一门将艺术和工程结合的活,既要“看万卷书”(理论学习)、也要“行万里路”(动手实践)。
最后关于编程语言的一点补充:
不同的编程语言类型,其实对程序员的思考方式是不一样的要求。编程语言大致分为以下几类:
面向机器:汇编语言
面向过程:C……
面向说明:SQL……
面向对象:C 、Java、Ruby、Python……
面向函数:Lisp、Scheme、Haskell……
对于初学者,建议选择一门面向对象的语言入手,原因是难度适宜,便于入门时增强信心。

模拟人生3中哪两种性格会互相吸引?

1、星座,模拟人生3里面有星座搭配说。如果星座相配,会比较相处的来,不过交流似乎不是双加。
2、有共同个性,比如野心勃勃,工作狂,如果两个人都具备该特质,会在彼此发现特质的时候,双加好感。
3、通过迎合特质的交流。如果这个人工作狂,你就夸他工作努力,你们关系就双加。如果你问这个人从事的职业,是商业,你去点“友善-对商业感兴趣”,也会双加。如果这个人有音乐气质,你谈论音乐,关系也会双加。
4、在3深夜资料片里,如果你是名人,在和人交流的初期,会有一定的好感。寓意人家认识你,对名人有天生的好感。
5、在终生奖励中,你可以选择“致命吸引力”,“勾引高手”这俩奖励,基本上跟人家交流互动,就不会受到拒绝和消极回应。