一天學會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>  

說明:

#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 平臺

代碼:

[root@Linux ~]# echo | awk '{print "Hello,World!"}'  
Hello,World!  
[root@Linux ~]# echo | awk 'BEGIN {print "Hello,World!"}'
Hello,World!  
[root@Linux ~]# awk 'BEGIN {print "Hello,World!"}'  
Hello,World!  
[root@Linux ~]# 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章