本文轉自公眾號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月正式推出,
bdos equ 0005H ; BDOS entry point
start: mvi c,9 ; BDOS function: output string
lxi d,msg$ ; address of msg
call bdos
ret ; return to CCP
msg$: db 'Hello, world!$'
end start
2. Fortran - 1957
Fortran編程語言是Formula Translation的派生,它是一種匯編命令式程式設計語言,特別適合于數值計算和科學計算,Fortran語言創建于1957年,用這種語言寫的“Hello, World!”:
PROGRAM Hello
WRITE (*,*) 'Hello, World!'
STOP
END
在Fortran 90或95版本中,程式“Hello, World!”可以這樣寫:
PROGRAM Hello
WRITE (*,*) 'Hello, World!'
END PROGRAM Hello
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仍然廣泛應用于銀行和保險領域,
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
DISPLAY "Hello, World!"
STOP RUN.
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 [Hello World !]
?
7. B - 1969
創建于1969年的B語言現在已經過時了,但它仍然扮演著重要的角色,因為它激發了C語言的靈感,而C語言至今仍被廣泛使用,
main()
{
putstr("Hello world!*n");
return(0);
}
8. Pascal - 1970
Pascal是創建于1970年的命令式編程語言,它是為教學目的而設計的,其特點是語法清晰、嚴謹,有助于良好的程式結構,
begin
writeln('Hello, World!')
end.
Turbo Pascal創建于1983年,是Pascal編程語言的集成開發環境,它在20世紀80年代和90年代取得了巨大的成功,
program HelloWorld(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語言,
/n/nint main(void) {/n printf(/"Hello, World!/n/");/n return 0;/n}","classes":[]}" data-cke-widget-upcasted="1" data-cke-widget-keep-attr="0" data-widget="codeSnippet">#include <stdio.h>
int main(void) {
printf("Hello, World!
");
return 0;
}
11. Smalltalk - 1972
特別是受到Lisp語言的啟發,Smalltalk是一種面向物件、自反性和動態型別的編程語言,發明于1972年,Smalltalk是最早擁有集成開發環境的編程語言之一,
Transcript show: '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!”,
CREATE TABLE message (text char(15));
INSERT INTO message (text) VALUES ('Hello, World!');
SELECT text FROM message;
DROP TABLE message;
16. C++ - 1980
最初在1980年由Bjarne Stroustrup以C和類的名義創建,后來在1983年以c++語言命名,c++編程語言現在已被ISO標準化,并廣泛應用于工業和其他領域,
/nusing namespace std;/n/nint main() {/n cout << /"Hello, World!/" << endl;/n return 0;/n}/n","classes":[]}" data-cke-widget-upcasted="1" data-cke-widget-keep-attr="0" data-widget="codeSnippet">#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
return 0;
}
17. Ada - 1983
Ada是一種面向物件的編程語言,于1980年初開發,1983年正式發布,“Ada”這個名字是為了紀念Ada Lovelace,她是有史以來第一位女計算機科學家,
Ada通常用于高可靠性和安全性的實時和嵌入式系統,
with Ada.Text_IO;
procedure Hello is
begin
Ada.Text_IO.Put_Line ("Hello, World!");
end Hello;
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衍生產品,
/n/nint main() {/n @autoreleasepool {/n NSLog(@/"Hello, World!/");/n }/n}/n","classes":[]}" data-cke-widget-upcasted="1" data-cke-widget-keep-attr="0" data-widget="codeSnippet">#import <Foundation/Foundation.h>
int main() {
@autoreleasepool {
NSLog(@"Hello, World!");
}
}
22. Erlang - 1986
Erlang編程語言支持幾種范例:并發、實時、分布式,它基于actor模型,具有容錯和熱更新功能,能夠開發高可用性應用程式,
io:format("Hello world!~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編程模型創建的集成開發環境,
Public Sub Main()
Debug.Print "Hello, World!"
End Sub
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移動作業系統上開發應用程式的語言,進一步擴展了它的功能,
class HelloWorld {
public static void main(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,是一種面向物件的命令式語言,可以像其他解釋語言一樣在本地作業,
\n","classes":[]}" data-cke-widget-upcasted="1" data-cke-widget-keep-attr="0" data-widget="codeSnippet"><? 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 {
public class HelloWorld {
public function HelloWorld() {
trace("Hello World !");
}
}
}
36. D - 1999
D是一種命令式的面向物件和多范式的編程語言,D的靈感來自許多語言,包括c++、Java和Eiffel,盡管D有很多優點,但它還未取得創造者所期望的那樣成功,
import std.stdio;
void main () {
writefln("Hello, World!");
}
37. C# - 2000
c#是微軟在2000年與Sun就Java語言發生爭執后創建的,c#是一種面向物件的編程語言,用于在Microsoft上開發,該語言派生于c++和Java,使用它們的一般語法和一些概念,c#也可以用于開發ASP上的web應用程式,
using System;
internal static class HelloWorld {
private static void Main() {
Console.WriteLine("Hello, World!");
}
}
38. Groovy - 2003
Groovy是一種運行在Java平臺上的面向物件編程語言,Groovy是Java語言的替代品,它的靈感來自Python、Ruby或Smalltalk,
println "Hello, World!"
39. Scala - 2003
Scala是一種多范式編程語言,旨在以簡潔優雅的形式表達常見的編程模型,Scala通過靜態型別集成了面向物件和函式式編程的范例,
object HelloWorld extends App {
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語言)最初提出的概念發展而來的,
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
44. Rust - 2010
Rust是由Mozilla設計和開發的多范型編譯的編程語言,Rust是“一種安全、并發、實用的語言”,同時支持純函式式編程風格、actor模型、程序式編程以及面向物件編程,Rust常被稱為c++的潛在繼承者之一,
fn main() {
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官方支持的第二種編程語言,
) {/n println(/"Hello, World!/")/n}/n","classes":[]}" data-cke-widget-upcasted="1" data-cke-widget-keep-attr="0" data-widget="codeSnippet">fun main(args: Array<String>) {
println("Hello, World!")
}
47. Ceylon - 2011
Ceylon由Red Hat創建,是一種高級開放原始碼編程語言,具有強型別和靜態型別,它的語法與Java相似,它可以編譯為Java或JavaScript,
void hello() {
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語言是每個想要學習編程的小伙伴首要學習的語言~為了讓大家在學習的路上少走彎路,有正確的指導,我們設定了一個學習交流群,點我進入學習基地
?
群內含有素材包,學習書籍電子書資源,還有免費課程,更有資深專業軟體開發工程師在線解答你的困惑,無論是零基礎還是進階者,在這里都能獲得成長,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/203912.html
標籤:其他
上一篇:Git 常用命令
