当前位置: 首页 > 后端技术 > Python

C、C++、Java到Python,编程入门学习什么语言好-

时间:2023-03-26 12:06:55 Python

从C、C++、Java到Python,编程初学者用什么语言好?要想进步,找出并学习一两种编程语言就显得尤为重要。近日,TIOBE更新了7月编程语言榜单,常年霸榜的C、Java、Python依然位居前三。没想到,R语言居然冲到了第八名,创下了历史最好记录。而且,随着业界对数据统计和挖掘的需求越来越大,R语言的流行已经势不可挡。但是,作为程序员吃饭的工具,编程语言之间也形成了一定的鄙视链,各大论坛剑拔弩张的气氛弥漫,难以调整。难怪很多初学者会有疑惑,为什么编程语言那么多,到底应该学什么语言呢?回顾过去几十年编程语言的风风雨雨,似乎也折射出整个信息产业的变迁与消亡。要想在技术的洪流中勇往直前,了解和学习一两种编程语言就显得尤为重要。编程语言的黄金时代“有人不喜欢花括号,开发了Python;有人周末设计了JavaScript;有人工作无聊,发明了C语言”。关于编程语言的八卦和轶事很多,但归根结底,一门编程语言的诞生一定是需求驱动的。从面向机器语言、面向过程语言到面向对象语言,编程语言的历史也经历了从复杂到简单。90年代互联网的兴起无疑是编程语言的黄金时代。套用维基百科的总结,“1990年代没有出现重大创新,其中大部分是对先前想法的重组或改变。”但就是这样一个时代,是各种编程语言的开端。当时最主流的编程语言是贝尔实验室的两位领导发明的C/C++语言。互联网的承载计算机的基础设施就是用这种语言编写的,包括Linux操作系统、数据库、编译器等等。这也奠定了C语言在IT领域的地位。只要有计算机,C/C++就一定有一席之地。但后来者盛行的故事也在随时发生,而这里的主角就是已经走到尽头的昔日巨头Netscape和Sun。1994年,Netscape发布了Navigator,一个真正的网络浏览器,但受限于当时的技术限制,Navigator更像是一个本地显示页面,没有任何交互功能。巧合的是,Sun在1995年正式向市场推出了他们的Java(Oak语言),其特点是“一次编写,到处运行”。Netscape看中了这只潜力股,选择与Sun结盟。那时,Java可以作为脚本嵌入到网页中,实现交互功能,也就是我们熟悉的JavaApplet。但是,Netscape认为Java作为Web脚本还是太复杂了。程序员BrendanEich在10天内开发了Javascript,现在所有的浏览器前端库都需要基于JavaScript实现。随着计算机的普及,互联网的兴起,Web应用的出现,Ruby、PHP等语言都出现了。正如知乎作者“强哥学堂”所说,“虽然这一时期没有创造出任何编程语言,但由于大量公司的参与,编程语言得到了前所未有的发展,形成了今天编程语言的基本形态。这也使得软件开发越来越标准化和规模化。”与此同时,还有一些“小众”的编程语言正在蓄势待发,伺机“走红”。苹果的搅局者,生态才是关键。2010年,iPhone4问世,乔布斯用智能手机改写了后来的互联网发展轨迹。iOS和Android支撑的智能手机市场,让移动互联网成为了舞台上绝对的主角。苹果创造了一个新生态。始于1984年的Objective-C作为iOS的应用开发语言,从默默无闻到声名鹊起。Objective-C依托于各种iPhone和iPad应用的开发,一度挺进TIOBE排行榜的Top3。不过,苹果在2014年的WWDC上推出了新的编程语言Swift,支持为macOS/OSX、iOS、iPadOS、watchOS和tvOS编写软件应用程序,并于次年宣布开源并支持Linux。此后,Objective-C的市场份额逐年下降,从2014年的12%下降到2016年的1%。从下图也可以看出,Swift这门新语言从0开始,一直在稳步增长过去几年。今年1月还冲上了TIOBE榜单第九名。虽然一门计算机语言无法在短时间内从编译器、语法、基础库、在程序员圈子里普及起来,但苹果还是靠自己的力量把Objective-C和Swift带入了编程语言的世界。在主流市场,可以看出编程语言与产品的生态规模密切相关。微软和VisualBasic的关系也是如此。在移动互联网时代之前,VB曾经依靠可视化开发环境成为最火的桌面开发工具,一度拥有300万开发者。而且,凭借Windows操作系统市场的优势,VB一直保持着很高的人气(遗憾的是,微软表示无意继续进化VisualBasic)。回到移动互联网时代,彼岸的Android选择了Java。随着Android阵营越来越大,Java一直是TIOBE榜单的第一名,成绩最差的也能坐上第二名。一门编程语言的长盛不衰,除了自身的优势外,其生态建设也很重要。毕竟用的人多了,还能自成一派。这充分体现在Python的流行上。大数据+AI时代,Python一骑绝尘。当“从小学起Python”的口号开始流行,这门编程语言从IT圈走入了大众圈。在大数据和AI时代,Python可以说是当仁不让。从数据分析、机器学习、Web开发到爬虫开发,借助Python都可以轻松解决。统计分析师可以用Python解决数据爬取和分析问题,大学生可以用Python解决租房问题……最重要的是Python的学习门槛比C++和Java低,简洁的语法和成熟的第三方库,即使对于非程序员,也可以在短时间内构建。用于统计分析、图形和数据挖掘的R语言也是如此。它赶上了数据应用分析的潮流,自然能从众多编程语言中脱颖而出。针对今年7月R语言破纪录的榜单成绩,TIOBECEOPaulJansen明确指出两大趋势起到关键作用:一是商业统计语言时代和软件包(如SAS、Stata、SPSS)结束,大学和研究机构使用Python和R进行统计分析;其次,与COVID-19相关的研究需要大量的统计和数据挖掘,因此易学易用的统计编程语言的流行度正在上升。又如Rust语言,它诞生于2010年,由Mozilla主导,更加强调安全性、内存配置和并发处理等特性。Facebook去年推出的区块链项目Libra之所以选择Rust语言构建,是因为它足够安全。Rust的排名也从2012年的200名跃升至最新的TIOBE榜单的前20名。以互联网的兴起为分界线,可以看到各种编程语言的潮起潮落,必然伴随着新的产品和技术。一门适应新技术发展的编程语言,即使在几十年之后,也能重现辉煌。而且随着开源社区的壮大,一门优秀的编程语言可以博采众长,成长为一颗冉冉升起的新星。结语如果你想靠一门编程语言谋生,建议你先学Java,再学Python和C++,因为这三种编程语言基本上可以解决我们工作中遇到的大部分问题。因此,你不妨先试试华为云推出的Java开发全栈成长计划,让你零基础入门,构建Java技能体系,向全栈工程师迈进!最后,正如C#之父AndersHejlsberg曾经总结的那样:如果让我总结未来十年编程语言会变成什么样子,首先我认为编程语言应该变得更加“声明式”,并且我们需要尝试在语言中引入一些东西,比如元编程、函数式编程能力,也许还需要为用户寻找扩展语法的方法,以便他们可以构建特定领域的语言等等。但总的来说,我想强调的是,对于编程语言来说,新范式是“多范式”编程语言。本文部分内容参考以下文章:1.《IT行业激荡30年->编程语言变迁史》https://zhuanlan.zhihu.com/p/1068080452,《计算机和编程语言的发展历史》https://blog.csdn.net/abc6368765/article/details/83990756点击关注,第一时间了解华为云的新鲜技术~