1. 程式人生 > 實用技巧 >近50種語言編寫的“Hello, World”,你會幾種?可不要貪杯哦~

近50種語言編寫的“Hello, World”,你會幾種?可不要貪杯哦~

本文轉自公眾號CSDN(ID:CSDNnews)作者:Sylvain Saurel,譯者:風車雲馬

以下為譯文:

當我們學習一門程式語言時,都是從“Hello, World!”開始。所有程式設計師在其職業生涯中,都至少接觸過一個經典的“Hello, World!” 程式。通常程式設計師會使用多種程式語言,多的甚至實現了十幾種。

還有一種稱為TTHW(Time to “Hello, World!”)的方法,來衡量程式設計師建立一個新的“Hello, World!”程式的時間。

你可以用多少種不同的語言編寫一個“Hello, World!”程式,你的答案是什麼?

讓我們在計算機程式設計的世界裡回顧一翻。我會向你展示50種不同程式語言編寫的“Hello, World!”程式。同時讓你看到計算機程式語言隨時間的演變。

1. 組合語言- 1949

組合語言創建於1949年。下面我介紹一種經典的組合語言,適用於Intel 8080 8位處理器,該處理器後來在1974年4月正式推出。

bdosequ0005H;BDOSentrypoint
start:mvic,9;BDOSfunction:outputstring
lxid,msg$;addressofmsg
callbdos
ret;returntoCCP

msg$:db'Hello,world!$'
endstart

2. Fortran - 1957

Fortran程式語言是Formula Translation的派生。它是一種彙編命令式程式設計語言,特別適合於數值計算和科學計算。Fortran語言創建於1957年,用這種語言寫的“Hello, World!”:

PROGRAMHello
WRITE(*,*)'Hello,World!'
STOP
END

在Fortran 90或95版本中,程式“Hello, World!”可以這樣寫:

PROGRAMHello
WRITE(*,*)'Hello,World!'
ENDPROGRAMHello

3.Lisp - 1958

Lisp是最古老的命令式和函數語言程式設計語言。它最初創建於1958年,在20世紀70年代和80年代,Lisp最終成為人工智慧世界中非常流行的語言。

(write-line"Hello,World!")

4. Cobol - 1959

Cobol程式語言於1959年正式建立,2019年剛剛60週年。Cobol是COmmon Business Oriented Language的縮寫,它原本是一種用於編寫業務應用程式的公共語言。到2019年,Cobol仍然廣泛應用於銀行和保險領域。

IDENTIFICATIONDIVISION.
PROGRAM-ID.HELLO-WORLD.
PROCEDUREDIVISION.
DISPLAY"Hello,World!"
STOPRUN.

5. BASIC - 1964

BASIC是Beginner’s All-purpose Symbolic Instruction Code的首字母縮寫,它是一種高階程式語言,其主要特點是易用性。

PRINT"Hello,World!"
END

6. Logo - 1968

Logo是為了更容易使用Lisp語言,經常被稱為“Lisp without brackets”。具體來說,Logo是一種面向物件的程式語言。

print[HelloWorld!]

7. B - 1969

創建於1969年的B語言現在已經過時了,但它仍然扮演著重要的角色,因為它激發了C語言的靈感,而C語言至今仍被廣泛使用。

main()
{
putstr("Helloworld!*n");
return(0);
}

8. Pascal - 1970

Pascal是創建於1970年的指令式程式設計語言。它是為教學目的而設計的,其特點是語法清晰、嚴謹,有助於良好的程式結構。

begin
writeln('Hello,World!')
end.

Turbo Pascal創建於1983年,是Pascal程式語言的整合開發環境。它在20世紀80年代和90年代取得了巨大的成功。

programHelloWorld(output);
begin
writeln('Hello,World!');
readln;
end.

9. Forth - 1970

Forth是一種基於命令式的計算機程式語言,由Charles H. Moore於20世紀60年代發明,其第一個版本於1970年釋出。它在1994年被ANSI標準化,並在1997年被ISO採用。

:HELLO(--)."Hello,World!"CR;
HELLO

10. C - 1972

C語言是1972年在貝爾實驗室發明的,當時丹尼斯·裡奇(Dennis Ritchie)和肯·湯普森(Ken Thompson)正在開發UNIX。Ken Thompson之前開發了B語言。Dennis Ritchie決定從B語言中獲得靈感,通過新增型別來建立C語言。

#include<stdio.h>

intmain(void){
printf("Hello,World!
");
return0;
}

11. Smalltalk - 1972

特別是受到Lisp語言的啟發,Smalltalk是一種面向物件、自反性和動態型別的程式語言,發明於1972年。Smalltalk是最早擁有整合開發環境的程式語言之一。

Transcriptshow:'Hello,world!';cr.

12. Prolog - 1972

Prolog是一種與人工智慧和計算語言學相關的邏輯程式語言。Prolog創建於1972年。

:-write('Hello,World!'),nl.

13. ML - 1973

ML是一種基於Lisp的函數語言程式設計語言。

print"Hello,World!
";

14. Scheme - 1975

Scheme創建於1975年,是一種支援函式式和指令式程式設計的多正規化程式語言。這是基於Lisp的三大語言之一,另兩種是Common Lisp和最近建立的Clojure。

(display"Hello,World!")(newline)

15. SQL - 1978

SQL(Structured Query Language)結構化查詢語言,是一種用於操作關係資料庫的標準化計算機語言。它也可以設計“Hello, World!”。

CREATETABLEmessage(textchar(15));
INSERTINTOmessage(text)VALUES('Hello,World!');
SELECTtextFROMmessage;
DROPTABLEmessage;

16. C++ - 1980

最初在1980年由Bjarne Stroustrup以C和類的名義建立,後來在1983年以c++語言命名。c++程式語言現在已被ISO標準化,並廣泛應用於工業和其他領域。

#include<iostream>
usingnamespacestd;

intmain(){
cout<<"Hello,World!"<<endl;
return0;
}

17. Ada - 1983

Ada是一種面向物件的程式語言,於1980年初開發,1983年正式釋出。“Ada”這個名字是為了紀念Ada Lovelace,她是有史以來第一位女電腦科學家。

Ada通常用於高可靠性和安全性的實時和嵌入式系統。

withAda.Text_IO;
procedureHellois
begin
Ada.Text_IO.Put_Line("Hello,World!");
endHello;

18. Common Lisp - 1984

Common Lisp,通常縮寫為CL,是由ANSI標準化的Lisp語言規範。

(princ"Hello,World!")

19. MATLAB - 1984

MATLAB,用於“矩陣實驗室”,是一種用於數值計算的指令碼語言。MATLAB的開發環境也叫這個名字。

disp('Hello,World!')

20. Eiffel - 1985

Eiffel是一種面向物件的程式語言。Eiffel基於當今非常流行的概念,如契約程式設計或重用。

class
HELLO_WORLD
create
make
feature
make
do
print("Hello,world!%N")
end
end

21. Objective-C - 1986

Objective-C是一種自反的面向物件程式語言。它是C程式語言的擴充套件,與c++類似,但在動態訊息分發或動態載入方面與c++有很大的不同。

如今,它主要用於蘋果的作業系統:macOS及其iOS衍生產品。

#import<Foundation/Foundation.h>

intmain(){
@autoreleasepool{
NSLog(@"Hello,World!");
}
}

22. Erlang - 1986

Erlang程式語言支援幾種範例:併發、實時、分散式。它基於actor模型,具有容錯和熱更新功能,能夠開發高可用性應用程式。

io:format("Helloworld!~n").

23. Perl - 1987

Perl是Larry Wall在1987年建立的一種程式語言,用於輕鬆地處理基於文字的資訊。Perl是一種解釋語言,它受到C語言的控制和列印結構的啟發,也受到shell指令碼語言的啟發。

print"Hello,World!
";

24. Caml - 1987

Caml是Categorical Abstract Machine Language的縮寫,是一種面向程式安全性和可靠性的通用程式語言。Caml支援函式式、命令式和麵向物件的程式設計風格。它也是一種非常獨特的語言。

print_string"Hello,World!
";;

25. Tcl - 1988

Tcl是工具命令語言,是John Ousterhout在1988年開發的一種指令碼語言。這種動態型別語言是跨平臺的、可擴充套件的、易於學習的,並且基於12條語法規則。Tcl很容易與C程式語言進行互動。

1990年,John Ousterhout為Tcl開發了一個名為Tk的擴充套件,這是一個用於建立可移植圖形介面的庫。因此,今天提到Tcl時,更多的是指Tcl/Tk的組合。

puts"Hello,World!"

26. Haskell - 1990

Haskell是一種基於lambda計算和組合邏輯的函數語言程式設計語言。

main=putStrLn"Hello,World!"

27. Python - 1991

Python是一種解釋性程式語言,具有多正規化、多平臺的特點。Python支援結構化、函式式和麵向物件的指令式程式設計。這些年來,Python變得非常流行,甚至在2019年成為最受歡迎的語言之一。

Python 3.0或更高版本中的“Hello, World!”:

print("Hello,World!")

28. Visual Basic - 1991

Visual Basic,簡稱VB,是第三代事件程式語言,是微軟為其COM程式設計模型建立的整合開發環境。

PublicSubMain()
Debug.Print"Hello,World!"
EndSub

29. Lua - 1993

Lua創建於1993年,是一種自反的命令式指令碼語言,用於嵌入其他應用程式以擴充套件功能。

print("Hello,World!")

30. Ruby - 1995

Matsumoto Yukihiro由於對自己的Smalltalk和Lisp開發經歷感到失望,於1993年開始在Emacs下設計Ruby語言。他在1995年釋出了第一版。Ruby是解釋型的、面向物件的、多正規化的程式語言。

puts'Hello,World!'

31. Java - 1995

Java是James Gosling在1995年建立的一種面向物件的程式語言,至今仍是業界最流行和使用最多的語言。Java允許完成客戶機到web應用程式的所有工作,而谷歌將其作為Android移動作業系統上開發應用程式的語言,進一步擴充套件了它的功能。

classHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("Hello,World!");
}
}

32. JavaScript - 1995

JavaScript是一種指令碼程式語言,主要用於Web,但現在可以在伺服器端使用Node.js等。JavaScript是一種面向原型的程式語言。

document.write('Hello,World!');

33. PHP - 1995

就程式語言而言,1995年無疑是極其重要的一年,因為在Java和JavaScript之後,PHP也在這一年誕生。PHP主要用於Web,是一種面向物件的命令式語言,可以像其他解釋語言一樣在本地工作。

<?echo"Hello,World!"?>

34. Rebol - 1997

Rebol是一種高階指令碼程式語言,它建立在denotational語義的基礎上,自稱為“訊息傳遞語言”。這是一個“Hello, World!”:

print"Hello,World!"

35. ActionScript — 1998

ActionScript是一種用於客戶端應用程式(如Adobe Flash和Adobe Flex)和伺服器(Flash media server、JRun、Macromedia Generator)的程式語言。ActionScript在Unity graphics中用作指令碼語言。

package{
publicclassHelloWorld{
publicfunctionHelloWorld(){
trace("HelloWorld!");
}
}
}

36. D - 1999

D是一種命令式的面向物件和多正規化的程式語言。D的靈感來自許多語言,包括c++、Java和Eiffel。儘管D有很多優點,但它還未取得創造者所期望的那樣成功。

importstd.stdio;

voidmain(){
writefln("Hello,World!");
}

37. C# - 2000

c#是微軟在2000年與Sun就Java語言發生爭執後建立的。c#是一種面向物件的程式語言,用於在Microsoft上開發。該語言派生於c++和Java,使用它們的一般語法和一些概念。c#也可以用於開發ASP上的web應用程式。

usingSystem;

internalstaticclassHelloWorld{
privatestaticvoidMain(){
Console.WriteLine("Hello,World!");
}
}

38. Groovy - 2003

Groovy是一種執行在Java平臺上的面向物件程式語言。Groovy是Java語言的替代品,它的靈感來自Python、Ruby或Smalltalk。

println"Hello,World!"

39. Scala - 2003

Scala是一種多正規化程式語言,旨在以簡潔優雅的形式表達常見的程式設計模型。Scala通過靜態型別集成了面向物件和函數語言程式設計的範例。

objectHelloWorldextendsApp{
println("Hello,World!")
}

40. F# - 2005

f#是一種函式式、命令式和麵向物件的程式語言,由Microsoft開發。f#源自與之高度相容的OCaml程式語言。這兩種程式語言與ML語言屬於同一語系。

printfn"Hello,World!"

41. Windows PowerShell - 2006

Windows PowerShell是微軟開發的一套軟體,包括一個命令列介面、一種稱為PowerShell的指令碼語言和一個開發工具包。從Windows 7開始PowerShell作為標準語言。

echo"Hello,World!"

42. Clojure - 2007

Clojure是一種經過編譯的跨平臺函數語言程式設計語言,旨在建立安全且易於分發的程式。Clojure是基於Lisp的三大語言之一。Clojure可以轉換為Java程式碼、JavaScript程式碼和. net程式碼。因此,Clojure可以在JVM、CLR、瀏覽器和Node.js上使用。

(println"Hello,World!")

43. Go - 2009

Go是一種經過編譯的併發式程式語言,靈感來自C和Pascal。這種語言是由谷歌從Robert Griesemer、Rob Pike和Ken Thompson(他在1969年創造了B語言)最初提出的概念發展而來的。

packagemain

import"fmt"

funcmain(){
fmt.Println("Hello,World!")
}

44. Rust - 2010

Rust是由Mozilla設計和開發的多範型編譯的程式語言。Rust是“一種安全、併發、實用的語言”,同時支援純函數語言程式設計風格、actor模型、程序式程式設計以及面向物件程式設計。Rust常被稱為c++的潛在繼承者之一。

fnmain(){
println("Hello,World!");
}

45. Dart - 2011

Dart是一種由谷歌開發的web程式語言。它最初的目的是取代JavaScript。目前,Dart還沒有達到它的目標,開發人員的首要任務是將Dart轉換成與所有現代瀏覽器相容的JavaScript程式碼。Dart也可以用於伺服器端程式設計。

Dart是Flutter用於開發移動應用程式的語言。

main(){
print('Hello,World!');
}

46. Kotlin — 2011

Kotlin是一種面向物件的函數語言程式設計語言,具有靜態型別,允許在Java虛擬機器、JavaScript和本地的多種平臺進行編譯。2017年,谷歌使Kotlin成為繼Java之後Android官方支援的第二種程式語言。

funmain(args:Array<String>){
println("Hello,World!")
}

47. Ceylon - 2011

Ceylon由Red Hat建立,是一種高階開放原始碼程式語言,具有強型別和靜態型別。它的語法與Java相似。它可以編譯為Java或JavaScript。

voidhello(){
print("Hello,World!");
}

48. TypeScript - 2012

TypeScript是一種免費的開源程式語言,由微軟開發,旨在提高JavaScript程式碼的安全性。TypeScript語言是JavaScript的一個超集,它被轉換成JavaScript,這樣任何web瀏覽器或JavaScript引擎都可以應用。

console.log("Hello,World!");

49. Julia - 2012

Julia是一種用於科學計算的高階、強大和動態程式語言,其語法為其他類似開發環境(如MATLAB、R或Python)的使用者所熟悉。

println("Hello,World!")

50. Swift - 2014

Swift是一種經過編譯的、多正規化的物件程式語言,其設計目標是簡單、高效能和安全。它是由蘋果公司開發的開源軟體,從而與Objective-C一起成為開發移動iOS應用程式的解決方案。

print("Hello,World!")

結論

通過這次時間旅行,用50種不同語言編寫了“Hello, World!”程式,向人們展示了70年來計算機程式語言的變遷。

嗨,小夥伴們,疫情讓每個人都認識到有副業的重要性。

蘋果公司執行長蒂姆·庫克(Tim Cook)給出了這樣一條建議:“程式設計應該成為所有公立學校的必修課”奧巴馬為了號召美國吃瓜群眾讓娃學程式設計,還親自寫了一段程式碼,並表示向美國學校資助40億美元用於電腦科學教育。

C語言是每個想要學習程式設計的小夥伴首要學習的語言~為了讓大家在學習的路上少走彎路,有正確的指導,我們設定了一個學習交流群。點我進入學習基地

群內含有素材包,學習書籍電子書資源,還有免費課程。更有資深專業軟體開發工程師線上解答你的困惑,無論是零基礎還是進階者,在這裡都能獲得成長。