无论你是编程爱好者还是将来要以编程为职业的准程序员,需要做好心理准备的是只会一门语言是不够的。当然编程语言太多,总共有100多种,都学的话时间不允许,也没有必要,而且每年的语言的排名都在变,根据语言在编程领域的使用的广泛度。但是并不意味着排名第一的语言可以解决所有的问题。可能正好在这个时间段某类语言被广泛的使用,需要综合考虑的是这段时间内的开发的应用和使用的领域。而且很多语言有自己的特长,比如Java在大数据,服务器,后端,等都有广泛的运用。在大应用程序方便,C++,Java得到广泛的使用,比如图形处理软件,游戏软件等。C因为是很多程序的鼻祖,在核心算法方面被用来提升效率和优化硬件。Python在网络爬虫,科学计算研究领域被广泛使用。而且Python也是很容易上手的。Javascript是网络前端语言,通常配合PHP, 还有数据库SQL等, 当然还有GO, Rust,都是增长势头不错的语言。肯定有它们的过人之处,能够在这么多的语言中脱颖而出。还有些语言有比较强的平台依赖性,比如ios的Swift,Windows的VBA和C#等。
回到问题的核心,其实是问自己你学编程语言的目的是为了什么,如果是是为了兴趣想了解语言,让我建议从Java开始,C也是不错的选择。尤其是C是大学本科计算机必修的语言。Python也是很多人推荐的,但是个人认为正是因为Python太容易上手,而且语言结构比较的松散,不利于养成好的习惯,如果习惯了Python再回去学习比较严谨的C,C++等语言会很吃力。由奢入俭难就是这个道理。Python的很多智能用法方便了老程序员,却让新的程序员容易掉入坑里,不愿意出来。
如果你是为了寻找一份程序员的工作,那估计就要考虑行业的需求了。不同的行业对不同的背景的程序员需求不同。国内的编程更多是在前端和上层的运用,很少做底层开发的,因为底层开发时间长,投入大,收益还没有保障,所以更多的还是拿来主义。既然有需求就会有市场,如果你是为了找个职位,需要考虑国内的大环境。
之前针对零基础的初学者的编程语言选择问题,我还专门写了文章,感兴趣的朋友可以关注我的头条号的相关文章参考一下。
所以不用纠结于哪一门语言,因为最终你可能需要了解多门语言,而最后你用的最多的可能不一定是你开始学的,而且每个阶段用的语言可能都不一样。
世间武功绝学太多,每一种绝学都有自己的长处,针对不同的对手使用不同的绝招才能克敌制胜,然而最高的境界却是无招胜有招。放在编程的世界里的道理是一样的,开始的时候可能是比较强调某一门语言,最后就是根据需求来选择最佳的语言组合,发挥各语言的优势,达到程序效率,客户体验,运维成本各方面的最优组合。