Home  >  Article  >  Backend Development  >  自学 Ruby、Python 之前必须先学 C/C++ 或 Java 吗?

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

WBOY
WBOYOriginal
2016-06-06 16:22:441307browse

好像大家对该问题的观点不一样,有人坚信必须先学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。同时了解几门语言,比较着学习,可以让你对各个语言特性有更深的理解。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn