时间:2019-08-02 19:36:06 作者:johnnyl 浏览量:36
所以继续购买 Java/Ruby /JavaScript /PHP书本吧,你或许会从中得到一些有用的东西。可是它们不会在 24 小时或 21 天内改动你的生活,也不会教会你作为一个程序员所需求的一切专业常识。何不尽力作业,在接下来的 24 个月内不断改善?
参阅书本
Bloom,Benjamin (ed.)《Developing Talent in Young People》,Ballantine,1985.
Brooks,Fred,《No Silver Bullets》,IEEE Computer,vol. 20,no. 4,1987,p. 10-19.
Bryan,W.L. & Harter,N.《Studies on the telegraphic language: The acquisition of a hierarchy of habits》. Psychology Review,1899,8,345-375
Hayes,John R.,《Complete Problem Solver》Lawrence Erlbaum,1989.
Chase,William G. & Simon,Herbert A.《Perception in Chess》,Cognitive Psychology,1973,4,55-81.
Lave,Jean,《Cognition in Practice: Mind,Mathematics,and Culture in Everyday Life》,Cambridge University Press,1988.
前面问题的答案
典型 PC 上各种操作所需求的大致时刻:
履行典型指令:1/100000000 秒,即 1 纳秒
从一级缓存中提取:0.5 纳秒
分支猜测失误:5 纳秒
从二级缓存获取:7 纳秒
互斥锁/解锁:25 纳秒
从主存储器提取:100 纳秒
经过 1Gbps 网络发送 2K 字节:20000 纳秒
从内存中按次序读取 1MB :250000 纳秒
重新磁盘方位(SEEK)获取:8000000 纳秒
从磁盘中按次序读取 1MB:20000000 纳秒
将数据包发送到欧洲并返回:150 毫秒,即 150000000 纳秒
程序员必读经典长文图5
附:言语挑选
有人会问,他们应该先学什么编程言语。这儿没有规范答案,但请考虑以下几点:
参阅你的朋友。当被问到“我应该运用什么操作体系,Windows、Unix 或 Mac?”我的答复通常是:“运用你的朋友运用的任何东西。”你从朋友那里学到的优势将抵消操作体系或编程言语之间的任何内涵差异。还要考虑你未来的朋友:程序员社区的人,假如你继续的话,你将成为其间的一员。你所挑选的言语有一个大的正在成长的集体还是一个小的正在消亡的集体?有书、网站和在线论坛能够得到答案吗?你喜爱那些论坛里的人吗?
简单实用。比如 C++和 Java 这样的编程言语是由有经历的程序员团队规划的,这些程序员关怀他们代码的运行时功率。因而,为了应对这些状况,这些言语有些地方是很杂乱的。你关怀的是学习编程。你不需求那么杂乱。你需求的是一种言语,它关于新手程序员来说也能够能够很简单地学习和记忆。
互动。你更乐意用哪种方法学弹钢琴:一般的,互动的方法,你一按一个键就听到一个音符;或许“批量”形式,在这种形式下,你只在完结一整首歌后才听到音符?显然,互动形式使钢琴学习和更简单。对编程来说也是如此,坚持运用互动形式的言语并运用它。
考虑到这些规范,关于要学习的第一种编程言语我的建议是 Python 或 Scheme。另一个挑选是 JavaScript,这不是由于它是为初学者精心规划的,而是由于它有许多在线教程,比如 Khan Academy 的教程。但每个人的状况都略有不同,还有一些其他的好挑选。假如你还是隔小孩,你或许更喜爱 Alice 或 Squeak 或 Blockly(年长的学习者也或许喜爱这些)。这些都没联系,重要的是你要挑选并开始。
附录:书本和其他资源
有人问他们应该从哪些书和网页上学习。我再重复一遍:仅仅看书是不行的。但我能够引荐以下资源:
Scheme:“Structure and Interpretation of Computer Programs (Abelson & Sussman)”或许是计算机科学最好的导论书本,它也确实将教授编程作为了解计算机科学的一种方法。你能够在网上看到关于这本书的讲座视频,以及完整的文本。这本书读起来具有应战性,将筛选一些或许经过这种方法获得成功的人。
Scheme:“How to Design Programs (Felleisen et al.)”是关于在实践中怎么以高雅和实用的方法规划程序的最佳书本之一。