Tags: ,.

本文内容部分整理自wikipedia

No.1 Java

历史、发展与现状

Java最初由James Gosling在Sun Microsystems开发并于1995年作为Sun Microsystems的Java平台的一个核心组件发布。该语言从C和C++继承了很多语法特性并拥有更简单的对象模型和更少的低级设施。Java应用程序通常被编译为字节码(class文件),它可以运行在任何Java虚拟机(JVM)上而不管是何种计算机体系结构。

Java语言创建时立下5个主要目标:

  1. 它应该是简单,面向对象,和熟悉的
  2. 它应该是强大,安全的
  3. 它应该是架构中立和便携的
  4. 它应该是高性能的
  5. 它应该是解释,多线程和动态的

截至2009年11月,JDK最新版本为JDK 6 Update 16。

应用领域

Sun公司定义了4个针对不同Java应用环境的平台:

  1. Java Card–针对智能卡环境
  2. Java ME–针对资源有限的环境
  3. Java SE–针对工作站环境
  4. Java EE–针对大型分布式企业应用或互联网环境

学习路线

1. Java基础

《Thinking in Java》
《Core Java 2》
《Java 5.0 Tiger》

2. Java进阶

《Effective Java》
《Java与模式》

3. Java EE

《Java Server Pages》
《Expert One-on-One J2EE Design and Development》
《Expert One-on-One J2EE Development without EJB》

开源项目

  1. Ant
  2. Struts
  3. Hibernate
  4. Spring
  5. Lucene

No.2 C

历史、发展与现状

C语言是由UNIX的研制者Dennis Ritchie和Ken Thompson于1970年研制出的B语言的基础上发展和完善起来的。

C语言可以广泛应用于不同的操作系统,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言是一种面向过程的语言,同时具有高级语言和汇编语言的优点。在C语言的基础上发展起来的有支持多种程序设计风格的C++语言,网络上广泛使用的Java、JavaScript,微软的C#等。

1983年,美国国家标准委员会(ANSI)对C语言进行了标准化,于1983年颁布了第一个C语言标准草案(83 ANSI C),后来于1987年又颁布了另一个C语言标准草案(87 ANSI C)。最新的C语言标准是在1999年颁布并在2000年3月被ANSI采用的 C99 ,但由于未得到主流编译器厂家的支持,直到2004年C99 并未被广泛使用,增加了若干新特性后C99已经逐渐让C语言和C++分道扬镳。

应用领域

由于C具有代码便携、高效率、可访问特定硬件地址、type punning和系统资源的运行时需求较低等特性,它的主要被用于“系统编程”,包括实现操作系统和嵌入式系统应用。

由于C的高效率和广泛使用,许多其他语言的编译器、库和解释器也经常由C来实现。

C有时也用作实现其他语言的中间语言。

C也在实现终端用户应用程序中广泛使用,但随着应用越来越大,大部分开发都转移到其他语言。

学习路线

1. C基础

《The C Programming Language》
《Expert C Programming》
《Pointers on C》
《C Traps and Pitfalls》
《数据结构(C语言版)》

2. C进阶

Linux C编程
《TCP/IP Illustrated》
《Unix Network Programming》

开源项目

  1. Linux kernel
  2. lighttpd
  3. memcached
  4. Tokyo Cabinet
  5. libevent
  6. Ruby

No.3 PHP

历史、发展与现状

PHP或PHP:Hypertext Preprocessor,是一种广泛使用的通用脚本语言,最初专为网络开发中生成动态网页而设计。它可以嵌入到HTML中并通常运行在通过配置处理PHP代码生成网页内容的Web服务器上。

PHP最初由Rasmus Lerdorf于1995年创建,如今主要由The PHP Group维护并作为事实上的PHP标准。

截至2009年11月,最新版本的PHP为5.3.0。

应用领域

主要为互联网应用。

学习路线
《PHP Manual》
《Beginning PHP and MySQL: From Novice to Professional》
《PHP and MySQL Web Development》

开源项目

  1. WordPress
  2. Discuz!
  3. UCenter Home
  4. Drupal
  5. phpMyAdmin
  6. smarty
  7. CakePHP
  8. Zend Framework

No.4 C++

历史、发展与现状

C++由Bjarne Stroustrup与1979年在Bell Labs开发,作为C语言的增强版。

C++被视为一个中级语言,因为它既包含了高级语言的特性又包含了低级语言的特性。

C++最初命名为“带Class的C”,1983年改名为C++。

1998年C++标准委员会为C++制定标准并发布了ISO/IEC 14882:1998国际标准。

2003年委员会又发布了ISO/IEC 14882:2003标准,修正了一些缺陷。

2005年“Library Technical Report 1”(简称为TR1)发布,并为当前主流C++编译器所支持。

而下一代C++标准(所谓的C++0x)正处在开发中。

若干团体提供免费或私有的C++编译器,包括GNU Project,MIcrosoft,Intel,Borland等等。

C++设计哲学:

  1. C++被设计为静态类型的通用语言,并拥有像C一样的便携性和高效率
  2. C++被设计为直接和全面支持多种编程风格(过程式程序设计,数据抽象,面向对象编程和泛型编程)
  3. C++被设计为给程序员选择的权力,即时程序员可能选错
  4. C++被设计为尽可能与C兼容,以提供从C平滑迁移到C++的能力
  5. C++不提供平台特定的或不通用的功能
  6. C++不提供不被使用的功能的过度开销(“零过度开销原则”)
  7. C++被设计为不需要复杂的编程环境

应用领域

C++被广泛应用于软件行业,至今仍为有史以来最流行的语言之一。

其应用领域包括系统软件,应用软件,设备驱动程序,嵌入式软件,高性能服务器和客户端应用程序,视频游戏等娱乐软件等等。

C++也被用于硬件设计中。

学习路线

1. C++基础

《易学C++》
《C++ Primer》
《The C++ programming language》
《C++ Coding Standards》
《The C++ standard library》

2. C++进阶

《C++ Templates》
《Effective STL》
《Generic Programming and the STL》
《The Design and Evolution of C++》
《Inside the C++ Object Model》
《Effective C++》
《More Effective C++》
《Design Patterns》
《Modern C++ Design》

开源项目

  1. MySQL
  2. Nginx
  3. Subversion
  4. eMule
  5. V8
  6. ICE
  7. ACE
  8. LVS
  9. Android

No.5 VB

历史、发展与现状

Visual Basic(VB)是由Microsoft开发的包含IDE的事件驱动编程语言,它源自BASIC语言。
VB拥有GUI和RAD系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。
程序员可以轻松的使用VB提供的组件快速创建应用程序。
1991年4月,Visual Basic 1.0 for Windows问世,1992年9月Visual Basic 1.0 for DOS发布,最初的设计由Alan Cooper完成。
1992年11月,VB2.0发布。它对于上一个版本的界面和速度都有所改善。
1993年夏,VB3.0发布,分为标准版和企业版。其中包含一个数据引擎,可以直接读取Access数据库。
1995年8月,VB4.0发布了32位和16位版本,其中包含了而对类的支持,从此逐步引入了面向对象的程序设计思想。它还引入了“控件”的概念,使得大量已经编好的VB程序可以复用。
1997年2月,VB5.0发布,它包含了对用户自建控件的支持。VB 1.0~4.0都必须将源代码编译成VB伪代码后解释执行,而5.0以后VB支持编译成本地代码,但必须在VB运行库的支持下工作。
1998年夏,VB6.0发布。VB6是VB.NET至今仍无法完全取代的版本。
2001年,Visual Basic.NET和.NET Framework发布。由于其使用了新的核心和特性,所以很多VB程序员都要改写程序。
2002年,Visual Basic.NET 2002(v7.0)问世,此后Visual Basic包含在Visual Studio套装中,并需要运行在.NET Framework环境下。
2003年,Visual Basic.NET 2003(v7.1)推出。
2004年,Visual Studio.NET 2005测试版本发布,包含了.NET Framework2.0的测试版本。
2005年11月,Visual Basic 2005(V8.0)发布,其中Express版永久免费。Visual Basic 2005的显著优点是可以直接编写出Windows XP风格的控件。
2008年2月,Visual Basic 2008(v9.0)发布。

应用领域

VB主要用于开发Windows桌面程序和数据库应用程序,而VB.NET还可以用于企业级大型应用程序的开发。

学习路线

MSDN
《Programming Microsoft Visual Basic .NET》
《Programming Microsoft Windows with Microsoft Visual Basic.NET》
《Applied Microsoft.NET Framework Programming in VB.NET》

开源项目

  1. DNN

No.6 C#

历史、发展与现状

C#是由Microsoft于2001发布的一种面向对象且运行于.NET Framework之上的高级程序设计语言,之后成为Ecma和ISO规范。C#的开发由原来Borland的Turbo Pascal设计者Anders Hejlsberg所带领,最新版本为3.0,同.NET Framework 3.5在2007年一起发布。C#下一版本4.0正在开发中。

C#的设计目标:

  1. C#旨在设计成一种简单、现代、通用和面向对象的编程语言
  2. C#支持以下软件工程原则:强类型检查、数组边界检查、未初始化变量引用检查和自动垃圾收集,以及软件健壮性、持久性和高编程效率
  3. C#设计为开发可在分布式环境中部署的组件
  4. 源代码可移植,并支持C和C++程序员很容易的迁移到C#
  5. 支持国际化
  6. 支持在独立的或嵌入式系统环境中编程,从非常复杂的大型操作系统到功能有限的小型系统都支持
  7. 尽管C#程序在内存和处理能力等需求上有一定的经济性,但并不确保具有C或汇编语言一样的性能

应用领域

以Web开发和Windows程序开发为主

学习路线

MSDN
《Understanding .NET》
《Programming C# 3.0》
《Professional C#》
《Essential C#》
《C# 3.0 Design Patterns》
《Microsoft C# Windows程序设计》
《ASP.NET 3.5 Unleashed》

开源项目

  1. Nunit
  2. DNN

No.7 Python

历史、发展与现状

Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。
可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响,并且结合了Unix shell和C的习惯。
Python哲学:

  1. Beautiful is bettern than ugly
  2. Explicit is better than implicit
  3. Simple is better than complex
  4. Complex is better than complicated
  5. Flat is better than nested
  6. Sparse is bettern than dense
  7. Readability counts

应用领域

由于Python功能强大,应用范围非常广泛,包括简单工具、数据处理、GUI程序开发、多媒体、科学计算、网络编程、游戏编程、企业应用等等

学习路线

《A Byte of Python》
《Core Python Programming》
《Python源码剖析》

开源项目

  1. Django
  2. Plone
  3. Zope
  4. Trac
  5. wxPython
  6. BitTorrent

No.8 Perl

历史、发展与现状

Perl是一种脚本语言,最初的设计者为Larry Wall,与1987年首次发布。
Perl借取了C、sed、awk、shell scripting以及很多其他编程语言的特性,其中最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。
Larry Wall持续监督着Perl核心语言的开发,包括即将推出的Perl 6。
O’Reilly Media出版的《Programming Perl》封面是一匹骆驼,如今骆驼成为了Perl的象征。
Perl哲学:There’s More Than One Way To Do It.

应用领域

系统管理、数据处理和Web开发为主

学习路线

《Programming Perl》
《Learning Perl》
《Professional Perl Development》
《Perl for System Administration》

开源项目

  1. CPAN

No.9 JavaScript

历史、发展与现状

JavaScript是一种广泛应用于客户端Web开发的脚步语言,最初由Netscape的Brendan Eich设计并于1995年首次亮相。
JavaScript是ECMAScript标准的一种方言,它是动态的、弱类型的、基于原型的、视function为一等公民的语言。

应用领域

主要用于网页开发

学习路线

《JavaScript The Definitive Guide》
《Professional JavaScript for Web Developers》

开源项目

  1. jQuery
  2. Ext JS
  3. GWT

No.10 Ruby

历史、发展与现状

Ruby是一门面向对象的动态语言,最早由Yukihiro Mstsumoto于1995首次发布,它的灵感和特性来自Perl、Smalltalk、Eiffel、Ada以及Lisp。
由Ruby语言本身还发展处了JRuby、IronRuby等其他平台的Ruby语言替代品。
Ruby的理念是强调人性化,非常直观,按照编程的人认为它应该的方式运行。

应用领域

以Web开发为主,也用于系统管理、数据处理和游戏脚本等领域

学习路线

《Programming Ruby》
《Agile Web Development with Rails》
《The Ruby Way》
《Ruby for Rails》
《Design Patterns in Ruby》

开源项目

  1. Ruby on Rails
  2. Merb
  3. CruiseControl.rb

1 Comment

  1. 支持下

Post comment

comment has COPYRIGHT too!