想学编程,请问从哪个开始较好:C/C++,Python 还是 Lisp?
程序员文章站
2022-06-05 21:50:19
...
理工科化学/材料专业,有一定数学基础但无编程经验。
我不止一次地和人说过,非计算机专业的人,学习编程最重要的是保持住兴趣,而不是纠结技能树的问题。Python上手简单(当然语言本身还是没那么简单的),有交互性强的开发环境,还有众多的第三方库,学习起来乐趣会比C/C++有乐趣得多。
我也认同每个专业的程序员都应该学习,或者或多或少了解C。但是C过于底层,强在内存操作,功能实现起来却十分复杂,并不适合作为上手语言。
另外,你是理工科的学生,Python中有像Numpy、Scipy这样的科学计算库,以及Matplotlib这样的数据呈现库,从做研究的角度来讲,Python有潜质成为你的一个得力工具。 你确定妹纸真的想写一行行由字符组成的字符串而且还可能要遭遇各种臭bug和莫名奇妙的环境设置而不是只是看完黑客帝国头脑发热而已? 如果用来套近乎, 别人学什么, 你学什么.
真学编程就别将自己当妹子了, 别人怎么学你就该怎么学. 编程应该独立于语言之外, 语言是描述工具, 都差不多, 又不是一辈子的事, 不用细挑. 四个字:请联系我
^_^ Scheme Python
不说Python的都是不客观。你们看我头像。 pascal
mmix 除了 C++,其他的还真不容易上心学。
C#
Python
JavaScript 为啥不考虑JAVA?好吧。。。各种语言都有它的适用范围,看你想搞哪方面。。。 c基本上就是专门为程序员订制的语言,要多顺手有多顺手。但是,重点是,学会Python,做很多方向的开发,学会c,能写的除了算法、数据结构和控制台程序,别的什么也做不了。 如果你想用c做更多方向的开发,用Windows就要学WIN32 API,或者GUI用各种第三方界面库,网络编程用Sockets套接字等等,还要学上一大堆操作系统原理、计算机网络、算法、等等等等!!!就算是字符串处理也无法得心应手!不过想直接操作内存又怕汇编语言的麻烦,请用C! C++过于复杂,不怕的话就上吧,虽然也是跟c差不多学完了也干不了什么太多东西,还是要另外学一大堆。不过总体来说可用好用的第三方库更多。 Python比起C++要顺手很多,不用管理内存,太省事了。除了性能不好,其他都不错。语法上也没有C++那么灵活或者说复杂!学起来比C稍微难一点点,真的就是一点点。 如果下一步是学习算法或者数据结构,C是最佳选择!没有任何多余的东西!Lisp是个中短期看不到产出的,后期受益匪浅的好东西。 看你的问题补充,貌似是理工科学生,喜欢数学的话MATLAB学过没?搞科学计算、建模、仿真、信号处理、图像处理、数据分析与挖掘、运动控制,用MATLAB和Python都可以。 如果做桌面软件开发,我还是推荐你去学c/c++,算法用c,其他的果断Python,Lisp可以作为业余爱好慢慢修炼。 这个完全要看你以后的方向,按我理解,理工科化学类的如果就是为了科研,当然是必须尝试一些数值计算有优势的语言,首先推荐MATLAB,这个几乎不需要什么编程经验,而且你已经有数学基础了,话说回来,这个东西对数学理解是有要求的。其次是python,python是国外很多科研机构和高校的推荐语言,拥有简单的语法但更主要的是有丰富的数值类和各类学科自身的库支撑,绝对让你事半功倍,缺点是运行略慢,毕竟是脚本语言,当然如果算法优异的话,其实语言本身带来的运行开销是可以忽略不计的,特别对于科研程序而言。很多国内高校教授数值计算时(比如我上学时)使用fortran,在我看来完全是没有必要的,第一fortran太偏离主流,而且从效率来看并不很高,甚至语法怪异,但是没办法国内很多前辈使用的程序库都是fortran,但是老师们都没时间也懒得去修改这些历史代码,一代一代遗留下来,不出所料的话,很多学校未来还会使用fortran,这是一种悲剧,所以只能靠你自己去学其他的。如果你不是为了科研,追求一份码农的工作(完全不管你是男是女)的话,要细分,但是我建议从C语言学起,因为对于一个码农来说如果一直依靠语言的GC来做内存相关的处理,自己完全不了解底层,那也是不行的,虽然大多数人从C开始学但是工作中绝大多数是使用C++,因为开发效率会高一些,至于LISP,如果时间充裕,等你学完一门面向过程的语言和一门面向对象的语言后,再涉猎这门神圣的语言也未尝不可,其他不多说了,你多看看书方向也就出来了,努力吧。
回复内容:
我认为是Python。我不止一次地和人说过,非计算机专业的人,学习编程最重要的是保持住兴趣,而不是纠结技能树的问题。Python上手简单(当然语言本身还是没那么简单的),有交互性强的开发环境,还有众多的第三方库,学习起来乐趣会比C/C++有乐趣得多。
我也认同每个专业的程序员都应该学习,或者或多或少了解C。但是C过于底层,强在内存操作,功能实现起来却十分复杂,并不适合作为上手语言。
另外,你是理工科的学生,Python中有像Numpy、Scipy这样的科学计算库,以及Matplotlib这样的数据呈现库,从做研究的角度来讲,Python有潜质成为你的一个得力工具。 你确定妹纸真的想写一行行由字符组成的字符串而且还可能要遭遇各种臭bug和莫名奇妙的环境设置而不是只是看完黑客帝国头脑发热而已? 如果用来套近乎, 别人学什么, 你学什么.
真学编程就别将自己当妹子了, 别人怎么学你就该怎么学. 编程应该独立于语言之外, 语言是描述工具, 都差不多, 又不是一辈子的事, 不用细挑. 四个字:请联系我
^_^ Scheme Python
不说Python的都是不客观。你们看我头像。 pascal
mmix 除了 C++,其他的还真不容易上心学。
C#
Python
JavaScript 为啥不考虑JAVA?好吧。。。各种语言都有它的适用范围,看你想搞哪方面。。。 c基本上就是专门为程序员订制的语言,要多顺手有多顺手。但是,重点是,学会Python,做很多方向的开发,学会c,能写的除了算法、数据结构和控制台程序,别的什么也做不了。 如果你想用c做更多方向的开发,用Windows就要学WIN32 API,或者GUI用各种第三方界面库,网络编程用Sockets套接字等等,还要学上一大堆操作系统原理、计算机网络、算法、等等等等!!!就算是字符串处理也无法得心应手!不过想直接操作内存又怕汇编语言的麻烦,请用C! C++过于复杂,不怕的话就上吧,虽然也是跟c差不多学完了也干不了什么太多东西,还是要另外学一大堆。不过总体来说可用好用的第三方库更多。 Python比起C++要顺手很多,不用管理内存,太省事了。除了性能不好,其他都不错。语法上也没有C++那么灵活或者说复杂!学起来比C稍微难一点点,真的就是一点点。 如果下一步是学习算法或者数据结构,C是最佳选择!没有任何多余的东西!Lisp是个中短期看不到产出的,后期受益匪浅的好东西。 看你的问题补充,貌似是理工科学生,喜欢数学的话MATLAB学过没?搞科学计算、建模、仿真、信号处理、图像处理、数据分析与挖掘、运动控制,用MATLAB和Python都可以。 如果做桌面软件开发,我还是推荐你去学c/c++,算法用c,其他的果断Python,Lisp可以作为业余爱好慢慢修炼。 这个完全要看你以后的方向,按我理解,理工科化学类的如果就是为了科研,当然是必须尝试一些数值计算有优势的语言,首先推荐MATLAB,这个几乎不需要什么编程经验,而且你已经有数学基础了,话说回来,这个东西对数学理解是有要求的。其次是python,python是国外很多科研机构和高校的推荐语言,拥有简单的语法但更主要的是有丰富的数值类和各类学科自身的库支撑,绝对让你事半功倍,缺点是运行略慢,毕竟是脚本语言,当然如果算法优异的话,其实语言本身带来的运行开销是可以忽略不计的,特别对于科研程序而言。很多国内高校教授数值计算时(比如我上学时)使用fortran,在我看来完全是没有必要的,第一fortran太偏离主流,而且从效率来看并不很高,甚至语法怪异,但是没办法国内很多前辈使用的程序库都是fortran,但是老师们都没时间也懒得去修改这些历史代码,一代一代遗留下来,不出所料的话,很多学校未来还会使用fortran,这是一种悲剧,所以只能靠你自己去学其他的。如果你不是为了科研,追求一份码农的工作(完全不管你是男是女)的话,要细分,但是我建议从C语言学起,因为对于一个码农来说如果一直依靠语言的GC来做内存相关的处理,自己完全不了解底层,那也是不行的,虽然大多数人从C开始学但是工作中绝大多数是使用C++,因为开发效率会高一些,至于LISP,如果时间充裕,等你学完一门面向过程的语言和一门面向对象的语言后,再涉猎这门神圣的语言也未尝不可,其他不多说了,你多看看书方向也就出来了,努力吧。
上一篇: 汉字转换成Unicode编码PHP程序
下一篇: PHP3与PHP4共存实例_PHP