电脑编程好学不,学电脑编程好学吗( 五 )


《程序设计语言-实践之路》:CMU编程语言原理的教材 , 程序语言入门书 , 现在就可以看 , 会极大扩展你的眼界 , 拉开你与普通人的差距 。
Coursera 编程语言MOOC:课堂上你能接触到极端FP(函数式)的SML , 中性偏FP的Racket , 以及极端OOP(面向对象)的Ruby , 并学会问题的FP分解 vs OOP分解、ML的模式匹配、Lisp宏、不变性与可变性、解释器的实现原理等 , 让你在将来学习新语言时更加轻松并写出更好的程序 。
Udacity CS262 Programming Language:热热身 , 教你写一个简单的浏览器——其实就是一个javascript和html的解释器 , 完成后的成品还是很有趣的;接下来 , 试着完成一个之前在SICP部分提到过的项目:用Python写一个 Scheme Interpreter
其他
编程入门阶段比较容易忽视的几点:
学好英语:英语是你获取高质量学习资源的主要工具 , 但在入门阶段 , 所看的那些翻译书信息损耗也没那么严重 , 以你自己情况权衡吧 。此外英语的重要性更体现在沟通交流上 , Linus Torvalds一个芬兰人 , 一口流利的英语一直是他招募开发者为Linux干活的的法宝 , 这是你的榜样 。
学会提问:学习中肯定会遇到问题 , 首先应该学会搜索引擎的「高级搜索」 , 当单靠检索无法解决问题时 , 去Stack Overflow 或知乎 提问 , 提问前读读这篇文章:What have you tried?
不要做一匹独狼:尝试搭建一个像这样简单的个人网站 , 不要只是一个孤零零的About页面 , 去学习 Markdown 与 LaTeX , 试着在Blog上记录自己的想法 , 并订阅自己喜欢的编程类博客 。推荐几个供你参考:Joel on Software,Peter Norvig, Coding Horror
小结
以上的内容你不应该感到惧怕 , 编程的入门不是几个星期就能完成的小项目 。期间你还会遇到无数的困难 , 当你碰壁时试着尝试「费曼」技巧:将难点分而化之 , 切成小知识块 , 再逐个对付 , 之后通过向别人清楚地解说来检验自己是否真的理解 。当然 , 依旧会有你解决不了的问题 , 这时候不要强迫自己——很多时候当你之后回过头来再看这个问题时 , 一切豁然开朗 。
此外不要局限与上文提到的那些材料 , 还有一些值得在入门阶段以及将来的提升阶段反复阅读的书籍 。The Pragmatic Programmer 就是这样一本程序员入门书 , 终极书 。有人称这本书为代码小全:从DRY 到 KISS , 从做人到做程序员 , 这本书教给了你一切 , 你所需的只是遵循书上的指导 。
后记
如果你能设法完成以上的所有任务 , 恭喜你 , 你已经真正实现了编程入门 。这意味着你在之后更深入的学习中 , 不会畏惧那些学习新语言的任务 , 不会畏惧那些「复杂」的API , 更不会畏惧学习具体的技术 , 甚至感觉很容易 。当然 , 为了掌握这些东西你依旧需要大量的练习 , 腰还是会疼 , 走路还是会费劲 , 一口气也上不了5楼 。但我能保证你会在思想上有巨大的转变 , 获得极大的自信 , 看老师同学和 csdn 的眼光会变得非常微妙 , 虽然只是完成了编程入门 , 但已经成为了程序员精神世界的高富帅 。不 , 我说错了 , 即使是高富帅也不会有强力精神力 , 他也会怀疑自己 , 觉得自己没钱就什么都不是了 。但总之 , 你遵循指南好好看书 , 那就会体验「会当凌绝顶」的感觉 。

适合的系统:Windows系的用Windows , Linux系的用Linux或者Mac 。总之要和自己的需求一致 , 别给自己找到麻烦 。
2.舒服的交互硬件 。4k屏用不用的到不好说但是一个27寸以上的显示器人人都喜欢 。双显很有用 , 三显不好说 。因为我们总要开各种资料/网页 , IDE , 命令行编辑器什么的 , 小显示器你就慢慢恶心吧 。机械键盘或者hhkb请上一个 。
【电脑编程好学不,学电脑编程好学吗】3.内存要大 , CPU要快 , 硬盘要SSD 。开一堆网页 , 开IDE都是很占资源的 。编译的速度影响工作效率与心情 。
4.通畅的网络环境 。