Rumah  >  Artikel  >  pembangunan bahagian belakang  >  自学 Ruby、Python 之前必须先学 C/C++ 或 Java 吗?

自学 Ruby、Python 之前必须先学 C/C++ 或 Java 吗?

WBOY
WBOYasal
2016-06-06 16:22:441310semak imbas

好像大家对该问题的观点不一样,有人坚信必须先学C或C++ ,而有人觉得可以直接开始Ruby/Python,请大家站在「自学者」(非专业者)的角度评论一下。

回复内容:

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

原因很简单。

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

自学 Ruby、Python 之前必须先学 C/C++ 或 Java 吗?

每种语言都会有它的支持者和反对者。去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(pavietnam.net/)一文中提到要学习的
Python, C/C++, Java, Perl, and LISP
这几门语言都不错, 对于入门的话, c之类的确复杂难以理解,
在这种层面上, Python可能是最好的选择, 在熟悉Python之后, 学习C/C++, Java之类的难度就会降低许多, 最好能够掌握这几种语言, 至少要能看得懂才好. 作为一个serious programmer,c/c++是必须的。在实际开发中,你可能用ruby,python之类的语言。在某些情况下还需要用c/c++ 为它们写扩展或者wrapper。同时了解几门语言,比较着学习,可以让你对各个语言特性有更深的理解。
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn