如果你即将或正在学习某种程序设计语言,在有多种语言可以选择时,你就会面临一些困惑,例如,你正在学习的编程语言会不会过时?一种编程语言在未来有多重要?本文帮助你解答这些疑问。 一、静态类语言 1、Java 近年来,Java成为最受欢迎的编程语言,一是得益于其跨平台的特性,另一方面是因为Java比C++更加简单,容易学习。其次,安卓对于Java继续是最受欢迎的编程语言也起到了很大的推动作用。 随着Spark(使用Scala语言)和Cassandra(支持其他语言)这两种大数据管理框架日渐崛起,很难说Hadoop保持最流行的大数据管理框架这个头号还会多久,不过考虑到大企业通常不太愿意求变,Hadoop不会消失。Java编程语言同样如此。因此,在未来几年,Java依然会很强大,将是最重要的编程语言之一。 2、Objective-C 由于苹果发布了Swift,Objective-C只用于苹果产品,预计Objective-C在将来不会继续流行。不过,这并不意味着你在今年不该学习Objective-C,因为大多数面向iOS开发的项目仍是用Objective-C编写的。 3、C 相比其他编程语言,C相当低级,但由于它是操作系统的通用语言,仍会继续流行,因为许多开发工具是用C编写的,Linux也是用C编写的。 从某个层面上来说,你只有会C语言,才能称得上是一个优秀的程序员,才能写出最底层的应用。 4、C++ 从性能和功能方面来看,C++仍被认为是最强大的语言(即使相比Rust),它在某些领域可能会继续很重要,比如需要高性能的(比如游戏引擎)。最新标准(C++14)的重大修订版预计会在年发布,所以它仍是一种不断发展的语言。 将来,Rust在系统编程的一些方面有可能会取代C++,因为Rust旨在能够开发出比C++更安全的软件。 5、C# 在过去,局限于微软平台和作为闭源语言对C#很不利,但是Mono基本上解决了那些问题(不过Mono存在性能问题,最近的更新版有所改进)。 用过C#的开发人员似乎很喜欢C#语言,所以它有强大的社区。不用说,C#是Unity3D的主要语言,这种颇受欢迎的游戏引擎还可以用在iOS和Linux等操作系统上。 关于这一点,C#也比较受欢迎,用于企业开发。很显然,微软会让C#存活一阵子,确保它对.NET平台来说很重要。 二、动态类语言 1、JavaScript 毫无疑问,JavaScript会变得越来越流行,尤其是鉴于它可用于后端开发,甚至有可能构建原生移动应用程序(通过ReactNative)。JavaScript继续以相当快的步伐获得更多的工具和更新版,所以可以预计它在将来仍会极其重要。 2、Ruby 初创公司钟爱RubyonRails。Airbnb、Twitch和Hulu等许多知名网站都是用Rails构建的,这意味着它们会需要Ruby开发人员。此外,由于开发人员以使用Rails为乐,又很容易上手,Rails会继续受到编程新手们的追捧。 话虽如此,强势崛起的Node.js肯定会对RubyonRails的人气有所影响――Node.js在Github上已经赶超Rails。虽然这并不绝对表明Node.js会赶超Rails,但是我们应该指出,几年前,Rails同样赶超了Python最大的后端开发Web框架Django,而Rails的星数多过Django。 此外,同构(isomorphic)应用程序这股新趋势可能会影响Rails的采用,因为据说这种开发方法可改善Web应用程序的性能。同构应用程序基本上需要在Node.js平台上运行,这个平台是用JavaScript编写的。只要精通一种语言(JavaScript)的好处也许会让一些潜在的新手不学Ruby。 然而,由于Rails继续经常得到更新版,它在一段时期内仍然很重要,尤其是由于它有一个忠诚的社区,成千上万的实用工具有助于简化开发工作。因而,尽管人气下降,但Ruby仍会坚守地盘。 3、Python Python颇受学术研究人员和数据科学家的欢迎,许多学校选择通过Python让初学者学习编程知识。这意味着,Python会继续稳步发展,依然很重要。因此,虽然Python不会像JavaScript那样迅猛发展,或者在人气和需求方面迎来同样的迅猛增长,但是它继续很强大――不用说,谷歌是建立在Python上的。 4、PHP 这几年来,后端开发趋势一直离PHP渐行渐远,可是世界上80%的网站仍是用PHP构建的,这毕竟是一种为Web设计的语言。 不过,如果你上网搜索一下初学者应该学哪种编程语言,会发现开发人员一般不推荐学PHP。实际上,许多开发人员很讨厌它。 PHP社区在竭力摆脱名声欠佳的形象,为此推出了新的准则,教人们如何正确编写PHP代码,并开发了新工具,但总的来说,截至年12月,PHP的未来似乎相当停滞不前,至少在美国是这样。 (码农谷) 北京什么时候治疗白癜风好北京白癜风专科医院咨询
|