编程语言大简介(基于《2011程序员薪资调查报告》)

来源:互联网 发布:算法的正确性 编辑:程序博客网 时间:2024/04/30 10:04

根据CSDN 2011年《2011程序员薪资调查报告》

薪酬从高到低(呵呵,有选择了吧):

1. Erlang:是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。http://baike.baidu.com/view/765701.htm

$ erl
Erlang R14B (erts-5.8.1.1) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]

Eshell V5.8.1.1 (abort with ^G)
1>

">"表示在等待输入:

1> 2*6.
12
2>

求整数阶乘:

-module(fact) -export([fac/1])  

fac(1) -> 1;  fac(N) when N > 1 -> N * fac(N-1).

Yaws: 一个Erlang写的服务器,据说并发能是apache的15倍

2.Perl (推荐学习)最初的设计者为拉里·沃尔(Larry Wall),他于1987年12月18日发表。Perl借取了C、sed、awk、shell scripting以及很多其他程序语言的特性。其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。简而言之,Perl象C一样强大,象awk、sed等脚本描述语言一样方便。Perl 一般被称为“实用报表提取语言”(Practical Extraction and Report Language),你也可能看到“perl”,所有的字母都是小写的。一般,“Perl”,有大写的 P,是指语言本身,而“perl”,小写的 p,是指程序运行的解释器。

变量定义,以$号开头,如:$num =1;  

数组定义,以@开头,如:@array = (1,2,3);  

数组元素调用 $array[index],其中index表示数组下标,如上例,$array[0]的值是1  

散列定义,以%开头,如:%hash=("a",1,"b",2);  

散列调用 %hash,其中keys表示键值,多用字符串表示,注意hash的key必须具有唯一性,但value可以不唯一,为此hash的key经常被用来做唯一化处理,如上例中的"a", "b", vaules是keys对应的值,如1,2。$hash{"b"}的值是2。

在Linux 系统下、大部分类UNIX 系统(包括Mac OS X),perl是随系统安装的,可在命令行终端输入命令perl -v,查看版本,对于Windows有两种版本可用:Strawberry Perl 与 ActivePerl

3. Scala 是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。它平滑地集成了面向对象和函数语言的特性。http://www.oschina.net/p/scala/

1object Capital {

2    defmain(args:Array[String]) {
3        varcapi= Map("US"-> "Washington","France"-> "Paris")
4        capi +=("Japan"-> "Tokyo")
5        println(capi("France"))
6    }
7}

编译:scalac filename.scala

4.Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 语言。由 Ruby 语言本身还发展出了JRuby(Java 平台)、IronRuby(.NET 平台)等其他平台的 Ruby 语言替代品。

  #!/usr/bin/env ruby

  puts "Hello, world!"

Ruby的变量有一定的规则,以$开头的一定是全局变量,以@开头的都是实例变量,而以@@开头的是类变量。


5.Python 是一种面向对象、直译式计算机程序设计语言,Python语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,速度要求非常高,就可以用C++重写。

Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。

6.Object-C (2011的年度语言)这个大家都知道,IOS,iphone,ipad。。通常写作objective-c或者obj-c,是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。在MAC OSX系统下,运用苹果提供的SDK等开发工具包,可以用来做IOS开发,开发后的程序在Iphone虚拟机中进行测试,运用的主要语言为Object-c。

7.Groovy是一种新兴的 Java 2 平台语言。Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。是一个基于 Java虚拟机的敏捷 动态语言。构建在强大的Java语言之上 并 添加了从Python,Ruby和Smalltalk等语言中学到的 诸多特征。为Java开发者提供了 现代最流行的编程语言特性,而且学习成本很低(几乎为零);


8.Unix Shell, 必须掌握。Bourne shell是早期版本Unix所使用的shell,并成为一个事实上的标准;任何类Unix系统至少拥有一个与Bourne shell相兼容的shell。Bourne shell程序位于Unix系统的“/bin/sh”。在某些系统中,比如BSD,“/bin/sh”是一个或等同于Bourne shell,但在Linux等其他系统上,“/bin/sh”更多的是一个兼容的、更加富功能性的shell链接。POSIX将其标准shell制定为Korn shell的一个严格子集。

http://www.phpchina.com/download/handbook/linux-html/type3.html

ls--->类似dos下的dir

shell脚本-->类似dos下bat脚本

9.ABAP,现在主要SAP的产品使用,高级企业应用编程语言,SAP R/3的应用程序就是用ABAP/4编写的。
ABAP/4是面向对象语言。它支持封装性和继承性。
封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。  
ABAP/4具有事件驱动的特性。   
ABAP/4和COBOL具有类似之处。   
ABAP/4适合生成报表。   
ABAP/4支持对数据库的操作。

REPORT demo_abap_events_1.

WRITE / 'Statement 1'.

FORM routine.
  WRITE / 'Subroutine'.
ENDFORM.

WRITE / 'Statement 2'.
PERFORM routine.
WRITE / 'Statement 3'.

执行的结果:

Statement 1

10. C++  这个不多说了:http://baike.baidu.com/view/118570.htm

11.PHP,这个也是web中最为流行的语言之一。是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。http://baike.baidu.com/view/369913.htm

12.C 它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画;

main()
{
int a,b,c;
for(a=1;a<=9;a++)
{
for(b=1;b<=a;b++)
{
c=b*a;
printf("%dx%d=%d ",b,a,c);
}
printf("\n");
}
}


13. ActionScript, 说到flash,应该就不陌生了。ActionScript 动作脚本是遵循 ECMAscript第四版 的 Adobe Flash Player 运行时环境的编程语言。它在 Flash 内容和应用程序中实现交互性、数据处理以及其他功能。 ActionScript是Flash的脚本语言,与JavaScript相似,ActionScript是一种编程语言。


14.Visual Basic, Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言,VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。现在主要在.net中。学习成本相对比较低,在中国的政府、事业单位很多系统使用。

15. Delphi,这个基于Pascal语言的面向对象编程语言Object Pascal(工具?),著名的快速应用程序开发工具(Rapid Application Development,简称RAD),http://baike.baidu.com/view/3297.htm。

16.Java,终于轮到Java了,这个是和C/C++占据编程语言大半江山的王者,只是,平均收入。。。,相对讲,门槛低,但适用面广。http://baike.baidu.com/view/29.htm

17.C#, C#(C Sharp)是微软(Microsoft)为。NET Framework量身订做的程序语言,C#拥有C/C++的强大功能以及Visual Basic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言.

using System;   class Hello  {   static void Main()  {   Console.WriteLine("Hello,world");   Console.ReadLine();  }   } 

18 .NET(应该主要指ASP.NET等,其实C#和VisualBasic的一部分也是.NET框架内的),http://baike.baidu.com/view/4294.htm

19.JavaScript,JavaScript是目前网页中设计中最容易学又最方便的语言,http://baike.baidu.com/view/16168.htm,Web2.0的页面主要通过Javascript和CSS(样式表)进行动态处理。

20.PL/SQL,Oracle的PL/SQL主要是数据库的操作语言,基于SQL的过程化SQL语言。


虽然物以稀为贵,但是,要知道贵德人也少,一般可不好找,呵呵



















原创粉丝点击