Hello,World,几乎是程序猿学习各种语言的第一个程序,心血来潮,有空拿主流开发语言如何实现,汇总并整理了下.包括大致快速了解下这门语言,开发,编译,环境搭建,运行,简单语言等。其实很多语言是由关联的,在当下,只掌握一门语言是不够的,比如说Python,语言简洁,开发快是其最大优点。但缺点是速度相对较慢,但C/C++/Java开发比较慢,程序运行速度比较快,如果想兼具两者的优点,就要写Python的扩展,这就涉及到(C,C++,Java,Fortan...)等语言,Python的GUI中Tkinter里面又涉及到TCL语言,所以就PYTHON开发来说,就必须熟悉C(CPython就是用C开发出来的),最好同时熟悉Java(Jython,Python的基于Java的实现)C++/C#(IronPython就是基于C#及.net的实现),还有不同语言间的通信可能会用到CORBAL,还有Python中可能会调用SHELL中的命令,或Perl的命令。所以,精通一到两门,熟悉多门语言是必须的。
下面用多种语言来实现打印Hello,World,包括所需要的环境(主要是如何编译,链接等),代码,语言说明,语言特色介绍.
并带附录:2014年编程语言总排行榜前二十名、Web开发语言排行榜前十名以及移动应用开发语言排行榜前十名
01. Java
环境:
JDK1.7
<span style="font-family:SimHei;font-size:14px;">C:\>java -version java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b13) Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)</span>
代码:
#FileName: HelloWorld.java public class HelloWorld #如果有public类的话,类名必须和文件同名,注意大小写 { #Java入口程序,程序从此入口 public static void main(String[] args) { #向控制台打印一条语句 System.out.println("Hello,World!"); } }
说明:
D:\HelloWorld>javac HelloWorld.java #用javac编译成字节码文件(HelloWorld.class) D:\HelloWorld>java HelloWorld #用java解释执行成特定平台的机器码 Hello,World!
02. C
环境:
MinGW 或各种C/C++编译器
D:\HelloWorld>gcc -v Reading specs from C:/Perl/site/lib/auto/MinGW/bin/../lib/gcc/mingw32/3.4.5/specs Configured with: ../gcc-3.4.5-20060117-3/configure --with-gcc --with-gnu-ld --with-gnu-as --host=min gw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c,c++,f77,ad a,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --dis able-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enabl e-hash-synchronization --enable-libstdcxx-debug Thread model: win32 gcc version 3.4.5 (mingw-vista special r3)
代码:
#include <stdio.h> int main() #main入口函数 { printf("Hello,World!"); #printf函数打印 return 1; #函数返回值 }
说明:
D:\HelloWorld>gcc HelloWorld.c -o output #文件名HelloWorld.c, -o输出文件名:output HelloWorld.c:6:2: warning: no newline at end of file D:\HelloWorld>output #直接运行输出文件 Hello,World!</span>
#如果未安装GCC,那么必须按照 http://gcc.gnu.org/install/上的详细说明安装GCC。 #为了在 Windows上安装GCC,需要安装MinGW. 为了安装 MinGW,请访问MinGW的主页www.mingw.org, #进入MinGW下载页面,下载最新版本的 MinGW 安装程序,命名格式为 MinGW-<version>.exe #当安装 MinWG时,至少要安装gcc-core、gcc-g++、binutils和MinGW runtime,但是一般情况下都会安装更多其他的项。 #添加您安装的 MinGW 的bin子目录到您的 PATH 环境变量中,这样您就可以在命令行中通过简单的名称来指定这些工具。 #当完成安装时,就可以从Windows命令行上运行gcc、g++、ar、ranlib、dlltool和其他一些GNU工具。
03. C++
环境:
MinGW 或 各种C++编译器
头文件后缀名:.h, .hpp, .hxx 源文件后缀名:.cpp, .c++, .cxx, .cc, .C
代码:
#include <iostream> //std::cout要用到的头文件 #include <stdio.h> //标准输入输出头文件 int main() { printf("Hello,World!--Way 1\n"); //printf语句打印 puts("Hello,World!--Way 2"); //puts语句 puts("Hello," " " "World!--Way 3"); //字符串拼接 std::cout << "Hello,World!--Way 4" << std::endl; //C++教科书上写法 return 1; //作为注释 }
说明:
D:\HelloWorld>g++ HelloWorld.c++ -o output //源文件后缀也可为.cpp, .C D:\HelloWorld>output Hello,World!--Way 1 Hello,World!--Way 2 Hello,World!--Way 3 Hello,World!--Way 4</span>
04. Python
环境:
Python 2.x 或 Python 3.x
D:\HelloWorld>python Python 2.7.4 (default, Apr 6 2013, 19:55:15) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
代码:
>>>> print "Hello,World!" #Python 2.x Hello,World! >>> print("Hello,World!") #Python 3.x Hello,World!
说明:
1. 在Python 3.x中,print语句是函数,所以为print() 2. 也可以在写在.py文件,同样执行. 3. python2.6及以上版本和python3.x基本相同,也同样可以使用print()来打印
05. C#
环境:
Windows
d:\HelloWorld>csc -v Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.4927 for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727 Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.
代码:
//FileName: HelloWorld.cs using System; class TestApp { public static void Main() { Console.WriteLine("Hello,World!"); Console.ReadKey(); } } //执行如下: d:\HelloWorld>csc HelloWorld.cs Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.4927 for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727 Copyright (C) Microsoft Corporation 2001-2005. All rights reserved. d:\HelloWorld>HelloWorld.exe Hello,World!
说明:
C#其实和Java非常相像,刚才用的是命令行方式,需要设置环境变量,可以参考下面:
http://kb.cnblogs.com/page/42080/
如果是直接下载Microsoft Visual Studio的话,就可以再IDE中用快捷键编译,运行
06. PHP
环境:
XAMPP 1.8.3 环境搭建指南:http://www.cnblogs.com/wangkangluo1/archive/2011/07/19/2110943.html
代码:
<!DOCTYPE html> <body> <?php echo "Hello,World!"; //打印语句 echo "The first php program!"; //打印语句 echo phpinfo(); //phpinfo()系统函数,输出环境信息 ?> </body> </html>
说明:
#PHP(Hypertext Preprocessor)。 #PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言 #PHP语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。 #PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。它可以比CGI或者Perl更快速的执行动态网页。 #与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多; #与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,成分利用了服务器的性能; #PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中, #其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。 #PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
07. JavaScript
环境:
node.js 或 jaxer
node下载链接: http://nodejs.org/download/ 按提示,下载自己想要的文件即可。
D:\>node -v v0.10.33
代码:
var sys = require("sys"); #导入需要的sys模块 sys.puts("Hello,World!"); #调用里面的puts函数来打印字符串
说明:
D:\>node HelloWorld.js #node + *.js,执行 Hello,World! #JavaScript是Web的编程语言。 #所有现代的HTML页面都使用JavaScript。 #JavaScript 非常容易学。
08. Ruby
环境:
ruby 1.9.3
D:\HelloWorld>ruby -v ruby 1.9.3p429 (2013-05-15) [i386-mingw32]
代码:
#可用print语句打印 print "Hello,World!\n" #可用puts语句打印 puts "Hello,World!\n" #可以先声明一个变量,然后再用puts语句 a = "Hello,World!\n" puts a #可以先写个函数再调用 def say(name) "Hello,#{name}" end puts say("World!")
说明:
D:\HelloWorld>ruby HelloWorld.rb #运行方式类似Python,Perl Hello,World! Hello,World! Hello,World! Hello,World!
09. R
环境:
R-3.1.2-win(适用于32,64位),分别有相应的GUI
C:\>R #安装好了之后,输入R后显示 R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" Copyright (C) 2014 The R Foundation for Statistical Computing Platform: i386-w64-mingw32/i386 (32-bit) R 'license()''licence()' R. 'contributors()' 'citation()'RR 'demo()''help()' 'help.start()'HTML 'q()'R.
代码:
print("Hello,World!")
说明:
R语言,一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘.
下面安装下载比较详细的步骤:
http://blog.csdn.net/qibaoyuan/article/details/6827352
10. SQL
环境:
ORACLE SQL/PLUS
代码:
SQL> select 'Hello,World!' from dual; 'HELLO,WORLD ------------ Hello,World!
说明:
还可以建一个表,插入,再查询,最后删除该表;
SQL> CREATE TABLE MESSAGE (TEXT CHAR(15)); #创建表 INSERT INTO MESSAGE (TEXT) VALUES ('Hello, world!'); #插入表 SELECT TEXT FROM MESSAGE; #查询表 DROP TABLE MESSAGE; #删除表 Table created. SQL> 1 row created. SQL> TEXT --------------- Hello, world!
11. Perl
环境:
Perl 5.16 或 MinGW
下载URL: http://www.activestate.com/activeperl/downloads
D:\HelloWorld>perl -v This is perl 5, version 16, subversion 3 (v5.16.3) built for MSWin32-x86-multi-thread (with 1 registered patch, see perl -V for more detail) Copyright 1987-2012, Larry Wall Binary build 1603 [296746] provided by ActiveState http://www.ActiveState.com Built Mar 13 2013 11:29:21 Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page.
代码:
#!C:\Perl\bin #Windows平台下 #!/usr/bin/env perl #Linux环境下 print "Hello,World!\n"; #print("Hello,World")也可 输出结果 D:\HelloWorld>perl HelloWorld.pl #类似于python file.py Hello,World!
说明:
#Perl 5.10及以上的版本,可以用 use 5.010; say "Hello,World!";
12. HTML
环境:
HTML 或 HTML 5.0
代码
<!DOCTYPE html> <html> <body> <h1>This is the first program!</h1> <p>Hello,World!</p> </body> </html>
说明:
HTML4.0无论用那种浏览器,HTML5.0有些浏览器只支持部分功能,打可以打开。可用不同的编辑器编辑.
13. VB
环境:
VBC version 8.0.5
D:\Learn\C>vbc -v Microsoft (R) Visual Basic Compiler version 8.0.50727.5483 for Microsoft (R) .NET Framework version 2.0.50727.5485 Copyright (c) Microsoft Corporation. All rights reserved. vbc : Command line warning BC2007 : unrecognized option 'v'; ignored vbc : Command line error BC2008 : no input sources specified
代码:
'FileName: HelloWorld.rb rb作为VB源文件的后缀 Module Hello Sub Main() '程序人口函数 MsgBox("Hello,World!") '计算机屏幕上显示信息 End Sub 'End作为程序块结尾 End Module '单引号作为注释
说明:
D:\>vbc HelloWorld.vb #vbs来编译,生成HelloWorld.exe可执行文件 Microsoft (R) Visual Basic Compiler version 8.0.50727.5483 for Microsoft (R) .NET Framework version 2.0.50727.5485 Copyright (c) Microsoft Corporation. All rights reserved. D:\>HelloWorld
14. Scala
环境:
scala-2.11.4.msi编译器
d:\>scala Welcome to Scala version 2.11.4 (Java HotSpot(TM) Client VM, Java 1.7.0_51). Type in expressions to have them evaluated. Type :help for more information. scala> println("Hello,World!"); #可在交互式界面执行println语句,倒很想java Hello,World!
http://developer.51cto.com/art/200909/154647.htm
代码:
object HelloWorld { def main(args:Array[String]) { println("Hello,World!"); } } //编译 d:\HelloWorld>scala HelloWorld.scala Hello,World!
说明:
Scala是一门把面向对象和函数式编程思想加入静态类型中的编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。它平滑地集成了面向对象和函数语言的特性,使Java和其他的程序员更富有成效。
15. Shell
环境:
Linux/Unix平台,或安装了MinGW和MSYS的Windows平台
代码:
#安装了MinGW和MSYS的Windows平台 D:\HelloWorld>echo "Hello,World!" "Hello,World!" #Linux平台下 #echo "Hello,World!" 或 printf "Hello,World!" #如果是写在文件中: chmod +x HelloWorld.sh ./HelloWorld.sh
说明:
#Shell诞生于Unix,是与Linux/Unix交互的工具,单独地学习Shell是没有意义的,必须先学习Linux/Unix。 #Shell虽然是Unix的第一个脚本语言,但它是相当优秀的。它结合了延展性与效率,持续保有独具的特色,并不断的被改良,功能更加强大。 #缺陷:Shell需要依赖其他程序才能完成大部分的工作;长处是:简洁的脚本语言标记方式,比C语言编写的程序执行更快、更有效率
16. Delphi
环境:
Delphi 7
代码:
[File|New|Application]-->拖一个Button,一个Label
-->双击Button,编码如下:
procedure TForm1.Button1Click(Sender: TObject); begin label1.Caption := 'Hello,World!'; end; procedure TForm1.FormCreate(Sender: TObject); begin end; end.
说明:
Delphi,是Windows平台下著名的快速应用程序开发工具(Rapid Application Development,简称RAD)。
似乎很多人都觉得Delphi已经没落了、过时了(我身边有好多同事都没听过Delphi)。
但我不这么认为。“真正的程序员用c,聪明的程序员用Delphi”
经典无需多言,尤其是开发GUI程序,拖一下就OK了!!!
17. Fortran
环境:
Linux 或者 安装了MinGW的Windows平台
D:\HelloWorld>gfortran -v Using built-in specs. COLLECT_GCC=gfortran COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.8.1/lto-wrapper.exe Target: mingw32 Configured with: ../gcc-4.8.1/configure --prefix=/mingw --host=mingw32 --build=mingw32 --without-pic --enable-shared --enable-static --with-gnu-ld --enable-lto --enable-libssp --disable-multilib --ena ble-languages=c,c++,fortran,objc,obj-c++,ada --disable-sjlj-exceptions --with-dwarf2 --disable-win32 -registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --with-gmp=/usr/src/pkg/gm p-5.1.2-1-mingw32-src/bld --with-mpc=/usr/src/pkg/mpc-1.0.1-1-mingw32-src/bld --with-mpfr= --with-sy stem-zlib --with-gnu-as --enable-decimal-float=yes --enable-libgomp --enable-threads --with-libiconv -prefix=/mingw32 --with-libintl-prefix=/mingw --disable-bootstrap LDFLAGS=-s CFLAGS=-D_USE_32BIT_TIM E_T Thread model: win32 gcc version 4.8.1 (GCC)
代码:
program hello print *,"Hello World!" end program hello
说明:
Fortran是最早出现的计算机语言,主要用于科学及工程计算领域,在这一点和Python相同
D:\HelloWorld>gfortran -ffree-form HelloWorld.f -o out.exe #-ffree-form自由格式 -o后面是输出文件 #后缀名可以为.f, .F, .f90, .fpp. 如果是.f90结尾的文件,可以不用-ffree-form,因为该后缀结尾的文件默认是自由格式 D:\HelloWorld>out #如果是.f结尾的话,必须要加上,否则报错 Hello World!
找到两个靠谱点,可以编译通过的LINK:
http://www.ithov.com/linux/100577.shtml
18. TCL
环境:
Linux 或 带有WinGW的Windows平台
代码:
<span style="font-family:SimHei;font-size:14px;">#命令行交互方式 D:\>tclsh % puts "Hello,World!" Hello,World! % exit D:> #文件方式运行 #!/usr/local/bin/tcl puts "Hello, world!" D:\>tclsh HelloWorld.tcl Hello,World!
说明:
1. 文件名后缀.tcl 编译器为tclsh(命令方式显示) 或 wish(GUI方式显示)
2. TCL(Tool Command Language)一种通用的脚本语言,几乎在所有平台都能运行,功能非常强大
19. FoxPro
环境:
VFP9.0
代码:
?"Hello,World!"
说明:
尽管编译,运行都通过了,在GUI界面都不知道如何显示编译后的结果,还是在命令行界面里运行.FXP文件,显示的结果。
Visual FoxPro原名FoxBase,最初是由美国Fox Software公司于1988年推出的数据库产品,在DOS上运行,与xBase系列兼容。FoxPro是FoxBase的加强版,最高版本曾出过2.6。之后于1992年,Fox Software公司被Microsoft收购,加以发展,使其可以在Windows上运行,并且更名为 Visual FoxPro。 FoxPro比FoxBASE在功能和性能上又有了很大的改进,主要是引入了窗口、按纽、列表框和文本框等控件,进一步提高了系统的开发能力。
20. Ada
环境:
ADA95的gnat编译器
d:\HelloWorld>gnat GNAT 4.8.1 Copyright 1996-2013, Free Software Foundation, Inc. List of available commands gnat bind gnatbind gnat chop gnatchop gnat clean gnatclean gnat compile gnatmake -f -u -c gnat check gnatcheck gnat elim gnatelim gnat find gnatfind gnat krunch gnatkr gnat link gnatlink gnat list gnatls gnat make gnatmake gnat metric gnatmetric gnat name gnatname gnat preprocess gnatprep gnat pretty gnatpp gnat stack gnatstack gnat stub gnatstub gnat test gnattest gnat xref gnatxref
代码:
说明:
Ada是一种表现能力很强的通用程序设计语言,它是美国国防部为克服软件开发危机,在经过除去#行获得最终处理过的文件后即可交由GNAT编译.
21. AWK
环境:
Linux/Unix平台,或安装了MinGW和MSYS的Windows平台
代码:
[[email protected] ~]# echo | awk '{print "Hello,World!"}' Hello,World! [[email protected]<span style="font-family: SimHei; font-size: 14px;">Linux</span><span style="font-size: 14px; font-family: SimHei;"> ~]# echo | awk 'BEGIN {print "Hello,World!"}'</span> Hello,World! [[email protected] ~]# awk 'BEGIN {print "Hello,World!"}' Hello,World! [[email protected] ~]# echo "hello world" | awk '{print}' hello world
说明:
#AWK是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。 #这种编程及数据操作语言(其名称得自于它的创始人(Alfred Aho,Peter Weinberger和Brian Kernighan姓氏的首个字母)的最大功能取决于一个人所拥有的知识。 #AWK提供了极其强大的功能:可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。
22. Sed
环境:
Linux/Unix
代码:
# sed -ne '1s/.*/Hello, world!/p' Hello,World! #第一行为输入 Hello, world! #
说明:
sed 流编辑器,和awk,正则表达式等一起,是编写Linux脚本中非常有用的工具.
23. Pascal
环境:
Free Pacal IDE
代码:
Program HelloWorld(output); begin writeln('Hello, world!') {程序块的最后一条语句后不需要";" - 如果添加一个";"会在程序中增加一个“空语句”} end.</span>
说明:
Pascal程序开始于外部文件描述符作为参数的program关键字;然后跟着begin和end关键字封装的主要块。分号分区语句,句点终结整个程序(或单元)。Pascal源代码是大小写不敏感的。这里是一个非常简单的“Hello world”程序示例的源代码: (注:在实际编程中,通常可以省略第一行的output).其语法整理上来看,很像Delphi,基本上是一个等级的。另外,FPC编译器安装后,居然显示是乱码,看来还是要下载(Turbo
Pascal)更经典些,不过听说Turbo Pascal下载比较难,再说,能不能在WIN*64位的平台编译也不知道,就下了个FPC用用.
24. Prolog
环境:
SWI-PrologPortable 编译器
代码:
write("Hello,World!").
#注意,句末有点号
说明:
Prolog(Programming in Logic)是一种逻辑编程语言。它建立在逻辑学的理论基础之上,最初被运用于自然语言等研究领域。现已广泛的应用在人工智能的研究中,可以用来建造专家系统、自然语言理解、智能知识库等
附录:
IEEE Spectrum 根据十多个数据来源,对各大编程语言的使用普及率进行了统计,公布了2014年编程语言总排行榜前二十名、Web开发语言排行榜前十名以及移动应用开发语言排行榜前十名。统计数据结果如下:
总排行榜:
Web开发排行TOP10:
01. Java
02. Python
03. C#
04. PHP
05. JavaScript
06. Ruby
07. Perl
08. HTML
09. Scala
10. Go
Web开发排行TOP10:
01. Java
02. C
03. C++
04. C#
05. JavaScript
06. Objective-C
07. Scala
08. Delphi
09. Scheme
10. ActionScript
以上统计数据分别来自Google搜索结果、Google趋势分析、推特、GitHub库、StackOverflow 问答、Reddit 文章、Hacker News、Career Builder、ice job以及IEEE 期刊论文等