本帖最后由 断天涯大虾 于 2016-12-27 10:56 编辑
编程是技术革命的核心所在,现今编程语言的能力让开发者能够释放自己的潜力,打造未来的科技。
如果你是一位具有前瞻性的开发者,或者你正期望成为这样的人,现在是时候开始学习编程了,从最佳的编程语言中选出至少一个来学习,这些编程语言是:Python, Swift, JavaScript, C#, C, Ruby, PHP, Haskell, Java, C++ 还有Rust。
在此文章中,我们根据代码语言的功能性,易学程度,当前的需求/使用,未来的预期需求,将介绍10种最佳代码语言。更多的要求,代表更多的金钱。
一些像C语言,Java,Python和JavaScript这样的语言尽管已有几十年的历史了,但仍然是各自应用领域的主流。另一方面,最近很受欢迎也有一定需求量的语言有Swift, Google Go 和Rust。
学习什么样的编程语言呢?看待这个问题的方式有很多种,而答案也有很多,你的答案取决于今后你要做的事情。对许多人来说,选择标准仅仅是“需求量大的语言能获得一份高收入的工作”。但不是每个人都是这种情况,因为还有很多其他的因素需要考虑。
例如Python,这门语言在大学里用于教授学生如何编程,主要原因是Python应用广泛,容易掌握编程的概念。刚开始学习编程的话,Python是一个不错的选择。
对于那些计划在手机应用开发领域有所发展的人,Swift, C#, Java 和 JavaScript是不错的选择。对于网页开发来说,在CSS、 HTML、JavaScript这样的前端技术支持下,PHP、Java、Python和Ruby on Rails是第一选择。
如果要完成像访问关系数据库这类型的专业任务,SQL是你要学的编程语言。SQL不是一门开发应用程序的语言,而是用来连接应用程序与数据库以支持应用的。更不用说,SQL已广泛应用于许多数据驱动的应用程序中,如今对SQL的需求已超过对工作表的需求了。
如果你对硬件编程感兴趣,想要开发嵌入式系统,操作系统,通讯设备或复杂的游戏引擎等,那么你该选择的语言是C/C++(主要是C语言)。
让我们一起看看如今最受欢迎的一些编程语言,以及它们的功能,学习曲线,应用领域,目前需求和未来发展方向。
1. JavaScript-多用途编程语言如今JavaScript的需求量很大,招聘网站上到处都是JavaScript和与之相关的技术招聘信息。JavaScript当初由Brendan Eich设计,运行在Netscape浏览器中,当时的他或许连做梦都没有料到JavaScript会发展如此迅猛。
JavaScript是万维网的默认语言,是wed前端开发的主流,几乎每个web浏览器都支持JavaScript。随着Node.js的发展,JavaScript已扩展到了服务器端,目前正在与java, .Net, PHP, Ruby on Rails还有其他服务器端技术展开竞争。
除了前端和服务器端的开发,JavaScript也正在迅速成为移动应用程序开发的一个选择。开发者也在使用很多流行的JavaScript框架构建混合移动应用程序,例如ionic, kendo UI 和Sencha touch等。
目前,Javascript已广泛运用于前端应用的实现中,其中值得一提的是SpreadJS纯前端表格控件,SpreadJS是基于HTML5的JavaScript电子表格和网格功能控件,能将电子表格、数据可视化及计算功能集成在JavaScript Web应用程序中。
后来,随着像React native(由Facebook提出)这样的框架兴起,JavaScript又出现在了Android和iOS的原生应用开发领域中。 JavaScript无处不在!然而,仅靠JavaScript是不会给你带来高薪的开发工作的,你还需要学习基于JavaScript的技术,框架和库,例如Node.js, React, React Native, ionic, jQuery, D3.js 和 Kendo UI 等。相关技术的选择完全取决于你要做的事。
说到JavaScript的学习,这是一门动态编程语言,并且非常容易学习。一旦你熟悉了JavaScript的基本知识,就可以轻易地选择像jQuery, Node.js, Angular 或者 React这样的相关技术。
2. Python-学习编程的最佳语言Python是另一种编程语言,目前世界各地的开发者们正在用它进行快速应用开发。Python是模块化的,易于学习的,面向对象以及注重可读性的高级语言。
Python广泛应用于教育领域,web和Internet开发,科学与数值计算,大数据以及机器学习算法开发。
Python的深度和广度使得它成为了教育和科研领域的不二选择,世界各地的学生都在用Python进行编程学习,构建研究项目。对如今许多正在用计算机编程的学生来说,Python正是他们学习的第一门语言。
Python已经广泛应用于web和internet开发中,还出现了众多像Django, Pyramid, Flask 和 Bottle这样颇受欢迎的框架。Django CMS 和 Plone是两个基于Python并且被广泛使用的内容管理系统,许多受欢迎的网站和web应用程序都在使用它们。
最近,因为大数据分析和机器学习算法的需求大幅增长,导致Python的需求也大量增长。用Python编写的许多开源库能够完成数据科学家正广泛使用的核心机器学习算法。R是统计与数据科学中广泛应用的另一门语言,但它的学习曲线比较曲折。
一些受欢迎的Python库包括应用于数学,工程学和科学的scipy,应用于库的建模与数据分析的 “pandas”,还有一些其它非常有用的库,例如iPython, kivy, pyqt 和 pyside。
3. Java-大众化的编程语言Java是一门大众化的编程语言,经久不衰,多年来一直是工作招聘中的宠儿。1990年,Java由Sun Microsystems发布,之后被Oracle公司收购,它的哲学理念是一次写成,到处运行。
Java广泛用于web开发,企业软件开发,Android应用程序开发。由于在Android平台上运行的移动应用需求量大增,这让Java得以到达一个新高度,这也是在世界各地Java的需求量都稳居前列的原因。
Java是高级面向对象的编程语言,比C++学起来要简单,但缺少C 和 C++应用程序所能提供的性能。因为这个原因,Java通常不会用于构造核心引擎,操作系统或是嵌入式系统开发。
4. SQL-结构化查询语言SQL-结构化查询语言是一种能被数据库理解的语言。
1970年,SQL由IBM的工程师开发而成,用于在一个叫“系统R”的数据库管理系统中创建,更新与检索数据。从那时起,SQL就已逐步发展,到了今天,它依旧是市场中需求量最大的一种技能。
近些年来,使用非SQL数据库处理大数据的需求让SQL蒙上了阴影,但持续的时间不长。因为不久后,人们了解到SQL能为大数据分析提供更好的解决方案,它是一种更具有扩展性,可验证性和更能经得起时间检验的技术。
SQL这种语言用于辅助数据驱动网站,web应用程序,桌面应用程序和移动应用程序的开发。SQL在任何应用程序领域都会出现。从学习的角度来说,SQL是很容易掌握的一门语言。因为市场上对SQL的需求也很高,所以仅靠SQL,你就能找到第一份工作。
然而,要想拿到一份高薪职位,你需要具备设计,管理,维护数据库的经验,这些数据库有Oracle, MySQL, PostgreSQL, IBM DB2 和 Microsoft SQL Server 等。
5. C#-在微软技术中排名第一C#是一种通用型语言,它使得编程语言像Java一样简单。C#是一种类型安全,面向对象的编程语言,运行在.Net框架运行时环境中,C#代码被编译成符合CLI规范的IL语言(中间语言)。
C#正在迅速成为构建微软家族各种应用的选择语言,你可以用来构建客户端-服务端应用程序,数据库应用程序,web服务,移动应用程序,游戏等等。
C#在游戏开发(高级的游戏开发但不是硬件核心)中也有着良好的应用,顶级游戏引擎Unity 3D就包涵C#,C#是其支持的语言之一,而另一种支持的语言就只有JavaScript了。C#也是众多跨平台app搭建工具(例如Xamarin)的核心语言。 你可以用Xamarin产品套件来构建跨平台移动应用程序。
对于硬核心终端游戏开发来说,C, C++仍然适用,但汇编语言更适合游戏引擎的开发。Rust语言在此领域也有一席之地。
6. C/C++有人说C++已经过时了,但同时承认它仍然是一个经典。当涉及到性能至关重要的硬核心系统编程时,C/C++仍然是首选的编程语言。C比C++更接近硬件,拥有更好的性能。
很多开发者们在把Java和C++(还有C)的开发简易度比较过之后,选择了Java。而且在很多情况下,性能可以通过对硬件部分进行更多的投资而抵消。但并非总是能够如此,例如在嵌入式系统中,你就需要管理最少的硬件组合。
C 和 C++ 仍然属于高级编程语言吗? C/C++拥有最好的编译器,开发环境,库,核心开发组件和未来无可取代的大型生态系统。 现存的生态系统和高性能应用程序的需求使得对C/C++的需求量一直很高,同时,C/C++开发者们的工资标准也处在很高的水平上。
7. SwiftSwift是一门相对较新的语言,而且正在迅速流行起来。Swift是一门适用于Apple的开发语言,可用于iOS apps, OS X apps, watchOS apps 和 tvOS apps等。Swift引入了C和Objective-c的所有优点,和cocoa以及cocoa touch很好地协同工作。
Apple拥有一个自身携带的大型生态系统,毫无疑问,Swift会成为未来几年内引领发展的语言。如果你计划涉足apple生态系统,那么Swift是你将要学习的语言。
Swift易于学习,也十分有趣,原因很简单,因为它引入了像c, java, c++这样的严格类型语言的所有特性,而使用起来就像任何脚本语言(例如Ruby or Python)那样容易和有趣。你可以在Swift playgrounds中尝试使用Swift,不用担心应用程序的编译和运行,很快就能看到结果。
Apple声称Swift是第一个工业质量级的系统编程语言,能够提供像syntax这样的脚本语言,让开发变得非常地轻松。
8. PHP很多人争论说PHP不是编程语言的未来,但PHP的生态系统很庞大,未来几年内,世界各地都需要大量开发人员对其提供支持。内容管理系统的前三名是- WordPress, Drupal 和 Joomla,它们都是用PHP语言构建的,几乎现今80%的网站都在运行PHP。所以说,PHP真的很庞大!
PHP是一门易于学习的语言,可以作为你进入编程世界的入门语言。在市场上,PHP也是一门需求很高的语言,你会发现有许多工作都需要PHP技能。一般说来,相较于Java, C++, Python 或 Swift的开发人员,PHP开发人员的薪资水平处于较低阶段。
PHP生态系统包括上述顶尖的内容管理系统(如WordPress、Drupal和Joomla等 )和PHP框架(如Laravel、Symfony、Yii和FuelPHP等)。这些内容管理系统和框架能使开发者在几天内就构建出可以投入使用的网站和web应用程序。
近年来随着 Node.js、Django和Ruby on Rails的出现,使得PHP相形见绌,但是PHP正在改进,更新的版本完全可以和新兴的语言与技术展开竞争。
9. RubyRuby 是另一种简单以快速应用开发为目标的开源,面向对象,通用性编程语言.Ruby 最为著名的是它的流行框架 Rails(Ruby on Rails),并且Ruby通常用于web编程.
Ruby最适用于服务端编程,很多公司像Bloomberg, Airbnb, Shopify, Hulu and Slideshare等已经在一个或者更多个项目上使用了它。
Ruby是最适合学习的编程语言么?Ruby经常被在可读性上与Python作比较,Ruby提供了与类似英语的语法,这使得Ruby是一个作为学习第一门编程语言的完美的候选者.
10. Rust Language作为一颗冉冉升起的新星,Rust很有可能成为下一个伟大的事物.Rust正在迅速令成为辛勤的核心开发者为之着迷之物,为之魂牵梦绕之物,并且以非常快的速度上升.虽然Rust语言正在快速成长,但是目前就业市场还未完全认可,因为它确实是一门非常新的语言,有待于它的根传播得更深更广。
2010年,Rust语言由Mozilla公司开发而成,最初是格雷顿·霍尔(Graydon Hoare)的一个研究项目,目前由开发者社区维护,颇受喜爱,开发者社区也决定把Rust语言推向一个新高度。
Rust是一门底层系统编程语言,其目标在于性能、安全性和并发性,是一门能替代C/C++的很好的语言。在以前,C语言的开发者可以用Rust练手,用Rust来写操作系统,数据库,嵌入式编程,核心程序还有别的系统编程。
Rust是一门现代语言,有着高端语言的灵活性,也有像C语言这样底层语言能提供的性能和可控性。
以下是其他一些很受欢迎的编程语言,能和排名靠前的编程语言进行激烈竞争。
GO编程语言-GO是Google家族中一门相对较新的语言,对web服务器端开发、网络开发和命令行程序开发来说是个不错的选择。
R-当说到数据分析和统计软件开发时,R语言会是很好的选择。随着大数据和机器学习的兴起,R语言不断发展,并展开了和Python,Matlab的激烈竞争。
Perl-Perl是另一门受欢迎的语言(一门最老的语言之一),而且正在显示复兴迹象。DevOps正在流行,而Perl正在发展成为DevOps深受喜爱的语言。请密切关注Perl,它或许会成为像Python一样的下一个重要的语言。
VisualBasic .Net- VisualBasic .Net是 Microsoft公司的面向对象语言,适合用于开发.Net程序,以及web程序和XML web服务这样的专业领域程序。
Haskell – Haskell统治着函数式编程的世界。当与面向对象编程作比较时,函数式编程就具有了完全不同的哲学理念。函数式编程在分布式系统开发中有着很好的应用,而开发的关键是它的并行执行以及并行性。人工智能和数学计算是函数式编程的另一个领域,也是Haskell的另一领域。
结论 我们正处于一个科技敲开自动化新世界大门的时代,以机器学习、大数据和物联网作为驱动,以运行在各种各样设备上的应用程序作为支持。这些应用程序包括你手机、平板、手表、台式电脑上所使用的app,也包括幕后运行的app和程序。
安装在你车上、交通工具、医疗设备、家庭灯光系统等等的各种嵌入式设备里也在运行很多app和程序。为了安装这些程序和app,世界需要固定的程序员!
需要编程技术的科技领域的工作正在逐渐增多,如果你看了行业分析师的各种预测和调查,你就会发现在未来十几年内,对软件开发人员的需求将持续增多,并且达到供不应求的程度。
为了融入程序和app的生态系统中,参与技术革命的浪潮,你需要学习一门编程语言,并且亲自实践于编程。
没有一门顶级编程语言是可以解决所有的技术问题的,且正因为如此,在各种各样开发领域中才会针对不同的目的,选择不同的语言。例如,JavaScript通常用于前端开发,而Swift则用于iOS apps 开发,但并非是唯一的选择。
不管你是刚接触编程的新手,还是已经有几年的编程经验的老手,你都最好应该至少一年一次或者两年一次进行最佳编程语言的评估,如果有必要的话,可以计划改变现在所学语言。
希望你们能享受阅读这篇文章的乐趣,如果你们有兴趣,可以在评论中分享自己的想法。
原文链接:http://noeticforce.com/most-popular-programming-languages-best-for-developers 译文链接:https://coyee.com/article/11460-the-10-best-programming-languages-for-aspiring-developers
|