天天看點

一天學會24種程式設計語言的Hello World程式

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>        
一天學會24種程式設計語言的Hello World程式

說明:

#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.        
一天學會24種程式設計語言的Hello World程式

代碼:

print("Hello,World!")      
一天學會24種程式設計語言的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!"        
一天學會24種程式設計語言的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        

代碼:

一天學會24種程式設計語言的Hello World程式

說明:

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!").    
#注意,句末有點号       
一天學會24種程式設計語言的Hello World程式

說明:

Prolog(Programming in Logic)是一種邏輯程式設計語言。它建立在邏輯學的理論基礎之上,最初被運用于自然語言等研究領域。現已廣泛地應用在人工智能的研究中,可以用來建造專家系統、自然語言了解、智能知識庫等。

轉自:https://www.runoob.com/w3cnote/hello-world-programs-of-24-programing-language.html

繼續閱讀