在咱们讨论哪些编程语言在将来会吃香这个问题以前,先来看看不一样编程语言之间的的异同。前端
当咱们说到动态语言时,这个“动态”实际上说的是变量类型。使用动态语言编写程序的时候,能够声明一个变量,在程序运行的过程当中又能够改变这个变量的类型。与动态语言相对的是静态语言,或者叫强类型语言。好比C++和Java就是强类型的语言,而JavaScript,PHP和Perl是动态类型的语言。程序员
在C++中,声明变量的时候必须同时指定变量的类型。在程序运行的过程当中,若是试图去改变这个变量的类型,编译器就会报错。这在Java中也是同样。web
可是JavaScript不同,在JavaScript程序运行过程当中能够改变变量的类型。事实上,在声明变量的时候就不须要指定这个变量的类型,在使用变量的时候,能够先把一个整数赋值给这个变量,而后又用一个字符串覆盖这个整数,这在动态类型的语言中都是容许的。数据库
随着动态语言的发展,人们对函数式语言的兴趣也愈来愈大。在函数式语言中,函数自己能够被存储在变量中,存储在变量中的函数又能够做为参数传递给另外的函数。如今的大多数语言都在必定程度上支持函数式编程。好比说C++,C++容许程序员将指针传递给函数。JavaScript等一些语言使函数的传递变得更加容易。因此,通常认为C++不是一个真正意义上的函数式语言,而认为JavaScript是函数式语言,而Haskell通常被认为是函数式语言的绝佳示例。编程
理论上来讲,只要你正确书写代码,你就不会有任何bugs。这听起来很美好。可实际上,当你和许多其余程序员合做完成一个大项目时,有一个bug会常常出现,这就是内存泄露。你定义了一个变量,使用完这个变量以后却没有及时回收这部份内存,这时咱们就说发生了内存泄露。若是发生了内存泄露又没有及时发现,随着程序运行时间的增长,程序愈来愈大,直到消耗完系统的全部内存,而后系统崩溃。浏览器
须要说明的是,确实存在几种不一样的垃圾回收机制:一种是系统按期扫描内存,发现那些再也不使用的内存;另一种是系统为每个变量保留一个tab,一旦发现变量再也不使用,立刻删除之。从技术上来讲,后者并非一种垃圾回收机制,而是“引用计数”。服务器
当Java在20世纪90年代中期横空出世的时候,人们对它不是直接将代码编译成汇编语言这一点十分在乎。和C++相反,Java在编译的时候先把程序编译成一个叫字节码的中间代码。在运行时,系统调用虚拟机执行字节码,有时甚至只是将字节码编译成汇编代码。许多语言采用虚拟机的方式运行,好比说前面提到的Java、C#等。如今这种类型的语言在速度上获得了长足的发展。编程语言
说了这么多,那么程序员到底应该学习哪些语言呢?下面列举了五种在将来工做中有丰富需求的语言。除此以外,我还列举了第六种语言,做为一个“honorable mention”。函数式编程
JavaScript,HTML5和CSS3:从技术上来讲,HTML5并非一种语言,而是一项技术,这项技术和CSS三、JavaScript一块儿使你可以构建基于Web的应用。你能够建立运行在浏览器中的软件,这样作的好处是,你构建的应用将会拥有史无前例的移植性——几乎能够在全部的设备上运行,包括手机。几年前,Facebook开始使用HTML5来构建他们的手机应用,他们超前了这个时代,那时HTML5还不成熟。一段时间后,他们回归了传统模式。过去两年中,浏览器纷纷开始实现最好的HTML5技术,对JavaScript的需求随之增长。若是想保持你的竞争力,这是一项你必须学习的技术。(在服务器端,不少大公司以Node.js的方式使用JavaScript)。函数
C#:在15年前,Microsoft创造了C#,从那时起,C#不断发展壮大。C#的语法相似于Java(同时也相似于C++)。C#编程软件首选Visual Studio,免费版和付费版都有。
C#是一种强类型的语言,带有一个虚拟机。最初的发行版对函数式编程的支持很是少,在2006先后,Microsoft为这门语言加入了一些函数式编程的特征。和Java同样,C#也有本身的垃圾回收机制。
C# 示例:
示例定义了一个叫作Program的类,Program包含一个叫作Main的函数。程序从Main函数开始运行。Main函数定义了一个强类型的整形变量x,而且在屏幕上打印x的值。
Java:Java即将迎来本身的20岁生日,时至今日,Java还在不断的发展、成熟。在2004年,个人一位同事说这是一门“玩具语言”。经历了早期的成长之痛后,Java早已不是一门玩具语言:它支撑起了不计其数的网站和数据库,开源office套件也是用Java开发的。如今来看,Java的前景依旧一片光明。
Java是一种强类型的语言,运行在自带垃圾回收机制的虚拟机中。尽管不是一种函数式语言,仍是带有一些函数式编程的特征。
Java示例:
Java和C#在不少方面相似。在Java程序中,从main函数开始运行。像上面提到的C#示例同样,在main函数中定义了一个整形的强类型变量x,而且在屏幕上打印x的值。
PHP:PHP是一种易用的通用编程语言。其语法和Java、C++相似。在一个很是简单的层次上来讲,PHP用于在网页中嵌入可变化的文本内容。好比说,在你的网页中可能存在打印当前日期的PHP代码,当你把网页代码送到浏览器,相应的PHP代码就会在屏幕上打印出当前日期。PHP能作的远比在网页上打印日期多。PHP的类库可以操做数据库(几乎你能想到的任何数据库都能处理),能进行科学计算,能处理文本。PHP的将来依旧一片光明。
PHP示例:
PHP代码嵌入在HTML文档之中。这段PHP代码将时区设置为Los Angeles,而后打印出当前时间。浏览器解析HTML文档的时候,PHP代码部分被代码的输出结果所取代。因此最终显示在屏幕上的是“Hello! The current time is”,后面是当前时间。学习更多PHP相关知识,参考这个网站。
Swif:这是一门全新的语言,苹果制造。通常来讲我不会推荐人们学习一门全新的语言。可是要知道咱们说的是苹果,而且如今你已经能使用这门全新的语言来建立iOS应用了。事实上,已经有迹象显示Swift将会成为iOS平台编程的将来。Swift的语法很是像JavaScript,可是没有分号和括号。
Swift是一种强类型的语言,运行在带垃圾回收机制的虚拟机中。
程序员确定是在哪都能找到工做,但不必定是你特别喜欢的职位,关键还在于学习真正能用得着的技术,找到那份属于你的好工做。学习JavaScript、C#、Java、PHP、C++不会有错。若是你开始学习Swift,将来的就业形式一片大好。无论你如今在致力于哪一门语言,都要脚踏实地的学到精,这是关键。
转载请注明:前端录»将来两年你最须要这几种编程语言!