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。
01. Java
環境: JDK1.7
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)
代碼:
#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!
#如果未安裝 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
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://www.jb51.net/article/67171.htm。
如果是直接下載下傳 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://www.jb51.net/os/RedHat/335436.html
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!
代碼:
object HelloWorld
{
def main(args:Array[String])
{
println("Hello,World!");
}
}
//編譯
d:\HelloWorld>scala HelloWorld.scala
Hello,World!
說明:
Scala 是一門把面向對象和函數式程式設計思想加入靜态類型中的程式設計語言,志在以簡練、優雅及類型安全的方式來表達常用程式設計模式。它平滑地內建了面向對象和函數語言的特性,使 Java 和其他語言的程式員使用 Scala 時更富有成效。
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!
18. TCL
環境:Linux 或帶有 WinGW 的 Windows 平台
代碼:
#指令行互動方式
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] ~]# echo | awk 'BEGIN {print "Hello,World!"}'
Hello,World!
[[email protected] ~]# awk 'BEGIN {print "Hello,World!"}'
Hello,World!
[[email protected] ~]# echo "hello world" | awk '{print}'
hello world
說明:
#AWK 是一種優良的文本處理工具。它不僅是 Linux 中也是任何環境中現有的功能最強大的資料處理引擎之一。<br />
#AWK 名稱得自于它的創始人,分别是 Alfred Aho、Peter Weinberger 和 Brian Kernighan 姓氏的首個字母。<br />
#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.
說明:
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)是一種邏輯程式設計語言。它建立在邏輯學的理論基礎之上,最初被運用于自然語言等研究領域。現已廣泛地應用在人工智能的研究中,可以用來建造專家系統、自然語言了解、智能知識庫等。
轉自:https://www.runoob.com/w3cnote/hello-world-programs-of-24-programing-language.html