作者:QQ地带
推荐python,已经学习了一小段时间,感觉python是一个可以靠业余时间(每天2小时左右)进入“语境”的语言。曾经尝试过C,会在初期涉及到很多概念,阻力比较大(对于我这类0基础的人至少是这样),当然也可能跟教程有关,学C的时候我看的是超正经的教程,�。
有一个特别好的教程~做起来感觉就像玩RPG时的“主线任务——支线任务”模式
作为一个初学者,我目前的设想是先通过python入门,在一段时间后再回头学C/C++,这样可能会在一定的基础上专注于理解C/C++的“复杂而精妙的结构”。
另外还有一个小心得要分享一下:想要成为熟练工,就要准备好10000个小时。
数字不必较真,大致意思就是要准备相当多的时间和精力来实践,要有耐心和持续的兴趣。
同是新手,发出来共勉。
希望会有帮助~
--------------------------------------------------------------------------
好消息:
『笨办法学Python』的作者开始写『笨办法学C』了呢,同样是一本任务模式的教程。
不过作者说『笨办法学C』将不会主要面向0基础的人,他个人还是推荐先读一读『笨办法学Python』再读『笨办法学C』。
tl;dr - 从ruby/python学起. 二者再比较那么Python可能小胜(文档方面)
高级语言: 专注于``从网页上抓一个相册的所有图片链接并保存下来``这样能够带来成就感的、直观可见的程序逻辑,暂时远离计算机底层的运作机制 - 如指针,内存管理,``按照惯例字符串要以\0结尾``等. C语言在这一项上完败.
动态类型语言: 写起来运行出结果才是正经事,维护类型声明太分散注意力.
有包管理器,且现有的库/框架丰富: 想要一个HTML解析器? `gem i nokogiri`. (光这一项就筛选得剩下perl/ruby/python了)
文档/教程/书籍等资源丰富: 多数流行的语言都符合要求~Python社区的文档文化尤其浓重.
语言特性丰富: 初学时可以暂时不考虑高级特性,但语言会严重影响人的思维方式. 特性丰富的语言可以让你``越学越有更多惊喜``而不是``学了很久也不过如此``
流行不等于优秀 - 商业公司的宣传推广使得一些编程语言流行程度大增,比如有些大学里面IBM给赞助了个实验室,学生们就得学COBOL. 当然也不能太过冷门(见4 5两点)
如果对自学的热情没有信心,找一名导师,而这位导师对编程语言的了解往往会决定你学什么.