自学ruby、python之前必须先学c/c++或java吗?

好像大家对该问题的观点不一样,有人坚信必须先学c或c++ ,而有人觉得可以直接开始ruby/python,请大家站在「自学者」(非专业者)的角度评论一下。 回复内容:
這個問題討論起來很複雜,因為現在其實計算機程序員骨子裡有兩個派別,一個是“我有輪子我牛逼派”,一個是“我會造輪子我牛逼派”。前者的意思是,程序員把自己當做工程師的多一些,因為很多東西都是現成的,都是有別人寫好了的,只是要學會怎麼用就可以了的。這點在python和ruby程序員裡面比較普遍,尤其是以這兩個語言作為入門語言的人,而且這個現在其實是有點主流思想的意味,因為國外很多大學都開始拿python做第一語言。後者的意思是,程序員把自己當做科學家的多一些,他們認為能夠寫底層,“造輪子”的才是最優秀的程序員。這些一般是老程序員,大部份都是c、c++起家的。其實兩個思路本身不是很矛盾,因為用輪子的早晚也要去學造輪子。只是開始的時候怎麼做。這個問題我的觀點是,可以先拿python或者ruby做入門語言,但是像一些很神聖或者很顯示水平的東西,例如c和lisp,也是一定要學的,對水平的提升絕對不是一點半點。如果你覺得自己心裡承受能力好,或者不着急應用,只是希望以後能夠在計算機編程方面有所作為,還是拿c++做入門語言比較好,學熟悉了,別的都是小菜了。
非专业者建议学python。

原因很简单。

嗯。。。原因就是,很简单。。。

每种语言都会有它的支持者和反对者。去google一下“why python”(程序员准则:要google不要百度。虽然我平时也都用百度来搜八卦新闻,但有关编程的东西真的搜出来结果差很多),你会得到很多结果,诸如应用范围广泛、开源、社区活跃、丰富的库、跨平台等等等等,也可能找到不少对它的批评,格式死板、效率低、国内用的人很少之类。不过这些优缺点的权衡都是程序员们的烦恼。作为一个想要学点编程入门的初学者来说,简单才是最重要的。当学c++的同学还在写链表、捣鼓指针,学java的同学还在折腾运行环境的时候,学python的你已经像上图一样飞上天了。

况且python还是挺有利于形成良好编程思维的一门语言。

推荐两本我个人比较喜欢的python入门书籍,一本是《简明python教程》。另一本是《head first python》,head first系列都是非常浅显易懂的入门类书籍,虽然我只瞄过几眼,但感觉还是不错的。

不不不,绝对没有必要先学c系语言。python语法那么简单,直接学就好了。要说ruby的话,也是可以直接学的;要是真想“先学”点什么,那就学学smalltalk和lisp吧。
c 和 pascal 是比较经典的教学语言,不过也没有规定一定要先去学,我认识很多只会 python 和 php 的盆友。但是一些底层实现和编程的原理,比如内存使用等相关知识,如果没有一种经典教学语言来引导的话,对整个知识体系来讲的确是一种缺失。
没有必要。对于初学者。最好先学python 、ruby再去学c、c++ ——如果你觉得还能用得上的话。反而更容易入门。
两码事
不用,但是如果你深入进去,迟早你会需要了解底层的,所以说不如早学
呵呵,如果是仅仅学语言的话,单学python/ruby就足够了.但是如果想深入理解计算机编程的话,肯定是不够的.而且即使学了c/java也未必,单学语法很简单的.主要是看楼主想做什么.如果是做web,还有一些desktop的应用,单学那两门语言足够了
没有这个必要, 但是在掌握python之后学习些别的语言, 即使不拿来直接使用, 也会让你得到更多想法.在how to become a hacker(http://www.pavietnam.net/)一文中提到要学习的python, c/c++, java, perl, and lisp这几门语言都不错, 对于入门的话, c之类的确复杂难以理解,在这种层面上, python可能是最好的选择, 在熟悉python之后, 学习c/c++, java之类的难度就会降低许多, 最好能够掌握这几种语言, 至少要能看得懂才好.
作为一个serious programmer,c/c++是必须的。在实际开发中,你可能用ruby,python之类的语言。在某些情况下还需要用c/c++ 为它们写扩展或者wrapper。同时了解几门语言,比较着学习,可以让你对各个语言特性有更深的理解。

Posted in 未分类

发表评论