【翻译】Teach Yourself Programming in Ten Years

本文批判速成编程观念,强调编程需长期刻意练习。通过10000小时的实践,掌握多种语言,理解计算机原理,参与开源项目,方能成为优秀程序员。

这是一篇经典文章,告诉学习编程不是一蹴而就的事情,如同学习作曲、烹饪等,都需要长时间的刻意练习才能有所成就。

最重要的是,摆正心态,要有长期学习的意识。

下面结合个人理解,没有完全翻译,而是进行的总结。
Why is everyone in such a rush?
作者从市面上那些《24小时自学C++》《21天学会java》速成编程的书籍说起,分析了为啥24小时学不会C++:

  1. 自学:只是了解无法理解,因为没时间从编程实践汲取经验教训 ,没时间与优秀的程序员共事,没有处在C++的环境中;
  2. C++:只学到了基本语法,无法理解C++的优缺点,只学会了完成任务,没学会编程,这对于编程思维的提升没有任何意义。
    “只学会一点是很危险的”。
    “如果一门编程语言无法影响你对编程的思考方式,那就不值得学习”
    “糟糕的程序设计很容易,傻瓜也能在21天内学会糟糕的程序设计”。
    Teach Yourself Programming in Ten Years
    这一部分讨论了两个关键点:刻意练习和10000小时。
    刻意练习:原文是deliberative practice,不是简单机械重复练习,而是走出舒适区,不断挑战自己,然后反思总结,进行螺旋式上升。
    10000小时:长时间重复刻意练习,保持每周20小时的练习,大概需要10年。天才也需要这么久才能达到顶尖水平。
    So You Want to be a Programmer
    作者给出几个成功秘诀,其实就是注重编程实践,软件工程思想和系统知识等。
    1. 培养编程兴趣,有兴趣才能坚持10000小时
    2. 实践出真知,完成难度适合的任务,反馈并不断重复纠错,螺旋式上升
    3. 多交流,读源代码,比看书管用
    4. 工作中协作开发项目,学会带领他人并虚心学习,学会写可维护性强的代码
    5. 多学几种语言,强调类抽象语言(java/C++)、支持声明规范语言(C++模版语言)、强调并行性的语言(go)、函数式编程语言(Haskell)、强调语法抽象语言(lisp)
    6. 学习计算机原理,理解指令、内存、磁盘读取等知识
    7. 参与语言标准化工作

总之,刻意练习,坚持实践,说不定24个月之后你就会看到改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值