(封面图来自于网络)
想学习编程的朋友可能一直纠结于到底学哪一种编程语言最有前途,我google了一下,在维基百科的下面这个页面里大概有500多种编程语言,这些相对来说还是比较知名的编程语言,不包括一些语言的方言以及一些标记性的语言。
https://en.wikipedia.org/wiki/List_of_programming_languages
市场上哪种程序员最抢手?我也google了一下,发现了2016年和2017年的两篇贴子:
http://www.codingdojo.com/blog/9-most-in-demand-programming-languages-of-2016
http://www.codingdojo.com/blog/9-most-in-demand-programming-languages-of-2017
先看2016年的语言热度排名,SQL、JAVA、JavaScript占据前三位,后面分别是C#、Python、C++、PHP、iOS、Ruby。
再来看看2017年的情况,SQL、Java、Python占据前三位,实际上JavaScript与Python差不太多。
另外有一个网站几乎每个季度都会公布一次编程语言排名,它是著名的TIOBE,它的排名算法大概也是根据网上相关文章多少、搜索关键词的频度等计算出来的。2017年2月公布的最新结果是Java、C、C++、C#、Python位居前五。
而关于“哪种语言最好?”这种问题一直在各种论坛上争吵不休,这种问题实际上是一个伪命题,何为最好?写的代码行最少?执行效率最高?可以并行执行?维护最方便?可以处理海量数据?最接近于自然语言?用不同的评价指标会得出完全不同的结果。
停止纠结
与其在多种编程语言中纠结和争吵,不如从排名前10的语言中挑一种快速入手,所有的主流编程语言基本上都是相通的。编程的基本原理是相同的,背后的算法没有变,数据结构也类似,只是语法稍有不同而已。
明白了编程的基本原理,换成另外一种语言相对来说比较容易,只是换一种语法结构去重写而已(当然背后还有庞大的类库要熟悉,这些都需要时间去熟悉)。对于某种特定的功能,有些语言写起来啰嗦一些,有些语言写起来简捷许多;有些语言执行效率高,有些语言运行稍微慢一点;有些语言可直接适用于多核CPU并行,有些语言的并行化需要做大量工作。
我学过N种编程语言,现在看来语法是最容易学的部分,最麻烦的部分在于要去熟悉大量的模块或类的使用方法,还要学会正确的使用方法。我们以四种基本的流程结构来看看几种语言的语法有何不同吧,一个程序的执行流程大致可以分为这四种:顺序、分支、循环、函数调用。
1)顺序
这种结构太简单了,所有的语言都是从上至下的执行,没什么可说的。
2)分支
Python
if(i % 7 == 0) :
stamp()
else :
forward(1)
JAVA、C#、C
if(i % 7 == 0) {
stamp();
} else {
forward(1);
}
3)循环
Python
for i in range(1,366) :
print( "hello world" )
JAVA、C#
for(int i=1; i<=365; i++) {
打印语句;
}
C
int i;
for(i=1; i<=365; i++) {
打印语句;
}
4)函数调用(实际上函数定义的语法差别稍大些)
Python
func( para1, para2 )
JAVA、C#、C
func( para1, para2 );
可以看出,这些不同语言的基本语法是非常相似的。相比语法,更重要的是理解计算机原理、数据结构和算法。如果你真是零基础,那就选Python吧,这语言写起来比较简练,上手相对容易些。
公众号后台发消息:python,跳转到“零基础学编程”的所有文章目录。
--- END ---