在我们讨论哪些编程语言在未来会吃香这个问题之前,先来看看不同编程语言之间的的异同。
尽管动态语言在最近才大行其道,可实际上这个概念在50年前就已经提出来了。
JavaScript,HTML5和CSS3:从技术上来说,HTML5并不是一种语言,而是一项技术,这项技术和CSS3、JavaScript一起使你能够构建基于Web的应用。你可以创建运行在浏览器中的软件,这样做的好处是,你构建的应用将会拥有前所未有的移植性——几乎可以在所有的设备上运行,包括手机。几年前,Facebook开始使用HTML5来构建他们的手机应用,他们超前了这个时代,那时HTML5还不成熟。一段时间后,他们回归了传统模式。过去两年中,浏览器纷纷开始实现最好的HTML5技术,对JavaScript的需求随之增加。如果想保持你的竞争力,这是一项你必须学习的技术。(在服务器端,很多大公司以Node.js的方式使用JavaScript)
C#:在15年前,Microsoft创造了C#,从那时起,C#不断发展壮大。C#的语法类似于Java(同时也类似于C++)。C#编程软件首选Visual Studio,免费版和付费版都有。JavaScript示例
下面这个例子展示了JavaScript是怎么将一个函数存储到变量中,然后又传递给另外一个函数的。JavaScript方面的资源非常多,权威指南,参考Mozilla Developer Network,新手教程,参考以下网站。
var myfunc = function() {alert(‘hi’);};setTimeout(myfunc, 2000);
C#是一种强类型的语言,带有一个虚拟机。最初的发行版对函数式编程的支持非常少,在2006前后,Microsoft为这门语言加入了一些函数式编程的特征。和Java一样,C#也有自己的垃圾回收机制。
C# 示例
示例定义了一个叫做Program的类,Program包含一个叫做Main的函数。程序从Main函数开始运行。Main函数定义了一个强类型的整形变量x,并且在屏幕上打印x的值。学习C#方面的更多知识,移步Microsoft’s official site。
using System;
class Program
{
static void Main()
{
int x = 1000;
Console.WriteLine(x);
Java:Java即将迎来自己的20岁生日,时至今日,Java还在不断的发展、成熟。在2004年,我的一位同事说这是一门“玩具语言”。经历了早期的成长之痛后,Java早已不是一门玩具语言:它支撑起了不可胜数的网站和数据库,开源office套件也是用Java开发的。现在来看,Java的前景依旧一片光明。}
}
Java是一种强类型的语言,运行在自带垃圾回收机制的虚拟机中。尽管不是一种函数式语言,还是带有一些函数式编程的特征。
Java示例
Java和C#在很多方面类似。在Java程序中,从main函数开始运行。像上面提到的C#示例一样,在main函数中定义了一个整形的强类型变量x,并且在屏幕上打印x的值。学习更多Java知识,参考official documentation。
public class HelloWorld
{
public static void main(String[] args) {
int x = 1000;|
System.out.println(x);
}
}
PHP:PHP是一种易用的通用编程语言。其语法和Java、C++类似。在一个非常简单的层次上来说,PHP用于在网页中嵌入可变化的文本内容。比如说,在你的网页中可能存在打印当前日期的PHP代码,当你把网页代码送到浏览器,相应的PHP代码就会在屏幕上打印出当前日期。PHP能做的远比在网页上打印日期多。PHP的类库能够操作数据库(几乎你能想到的任何数据库都能处理),能进行科学计算,能处理文本。PHP的未来依旧一片光明。
Swift:这是一门全新的语言,苹果制造。一般来说我不会推荐人们学习一门全新的语言。但是要知道我们说的是苹果,并且现在你已经能使用这门全新的语言来创建iOS应用了。事实上,已经有迹象显示Swift将会成为iOS平台编程的未来。Swift的语法非常像JavaScript,但是没有分号和括号。PHP示例
PHP代码嵌入在HTML文档之中。这段PHP代码将时区设置为Los Angeles,然后打印出当前时间。浏览器解析HTML文档的时候,PHP代码部分被代码的输出结果所取代。所以最终显示在屏幕上的是“Hello! The current time is”,后面是当前时间。学习更多PHP相关知识,参考这个网站。
Hello! The current time is
date_default_timezone_set(‘America/Los_Angeles’);
echo (strftime(‘%c’));
?>
Swift是一种强类型的语言,运行在带垃圾回收机制的虚拟机中。
Honorable Mention:Swift示例
示例中定义了一个叫做str的变量,存储一个字符串。尽管没有明确指出str的类型,但是Swift是强类型的,编译器通过赋值语句右边的字符串判断出str是字符串类型。学习Swift的更多知识,参考苹果官网的相关页面。
var str = “Hello, World!”
println (str)
我们应该学习Erlang吗?虽然需要Erlang的工作不多。但是,如果你真正掌握了这门语言,那你很可能得到一份极好的工作。这是一个抉择。在真正掌握这门语言之前,你需要投入大量的精力,一旦你学成,回报也很高。
Erlang Example
下面的示例来自这篇博客,这是“hello world”示例的复杂版本。记住,Erlang是一门成熟的语言,如果你真的打算学习这门语言,参考前面提到的博客和这个网站。
-module(hello).
-export([start/0]).
start() ->
spawn(fun() -> loop() end).
loop() ->
receive
hello ->
io:format(“Hello, World!~n”),
loop();
goodbye ->
ok
程序员的职位将会持续增长,暂时还不用担心找不到工作的问题。关键是学习真正需要的技术,找到那份属于你的好工作。学习JavaScript, C#, Java, PHP(甚至包括C++)不会有错。如果你开始学习Swift,未来的就业形式一片大好。如果你想尝试一把高性能编程,看看Erlang,尽管需要Erlang的工作可能不会马上出现。不管你现在在致力于哪一门语言,好好学习,天天向上。这是关键。