自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

教你用50種語言寫“Hello, World”

開發(fā) 前端
當我們學習一門新的語言時,“Hello, World!“通常是我們所寫的第一個程序。相信作為一名程序員的你,職業(yè)生涯中至少完成了一個“Hello, World!“程序。程序員一般也都會使用多門語言,甚至有多數人都會使用十幾種語言。

當我們學習一門新的語言時,“Hello, World!“通常是我們所寫的第一個程序。相信作為一名程序員的你,職業(yè)生涯中至少完成了一個“Hello, World!“程序。程序員一般也都會使用多門語言,甚至有多數人都會使用十幾種語言。

甚至有一個名為TTHW的指標來衡量一個程序員接觸一門新的編程語言時,成功寫出“Hello, World!“并運行所需要的時間。

然而,如果我問你,你會用多少種編程語言寫“Hello, World!“?你的答案會是多少?

為了刷新你的記憶,我會帶你經歷一段計算機編程領域的時空之旅。為此,我將向你展示50種不同的編程語言的

“Hello, World!“程序的寫法。你也會了解計算機語言隨著時間的推進發(fā)生了哪些變化。

1. 匯編語言 - 1949

匯編語言誕生于1949年。本文我向你展示的是適用于Intel 8080的8位處理器的,發(fā)布于1974年4月的匯編語言經典代碼。

 

  1. bdos equ 0005H ; BDOS entry point  
  2. start: mvi c,9 ; BDOS functionoutput string  
  3. lxi d,msg$ ; address of msg  
  4. call bdos  
  5. ret ; return to CCP  
  6. msg$: db 'Hello, world!$'  
  7. end start 

2. Fortran - 1957

Fortran是Formula Translation的衍生物,這是一種通用的交互式編程語言,特別適合于數值和科學計算。Fortran創(chuàng)建于1957年,下面是它的第一個“Hello, World!”程序:

 

  1. PROGRAM Hello  
  2. WRITE (*,*) 'Hello, World!'  
  3. STOP  
  4. END  
  5. Fortran 90 或 95的寫法有所不同:  
  6. PROGRAM Hello  
  7. WRITE (*,*) 'Hello, World!'  
  8. END PROGRAM Hello 

3. Lisp - 1958

Lisp是最古老的編程語言系列,它既是交互式的又是函數式的。1958年,Lisp作為一種實用的演示程序模型被創(chuàng)建出來,但是直到1970和1980年代,Lisp才成為人工智能世界中非常流行的語言。

下面是Lisp的“Hello, World!”程序:

  1. (write-line "Hello, World!"

4. Cobol - 1959

Cobol語言于1959年正式創(chuàng)立,并且在2019年剛剛慶祝過創(chuàng)立60周年。Cobol表示面向通用業(yè)務的語言(COmmon Business Oriented Language),目標是成為編程業(yè)務應用程序的通用語言。在2019年,Cobol仍被廣泛應用于銀行和保險的相關系統(tǒng)中。

下面是Cobol的“Hello, World!”程序:

 

  1. IDENTIFICATION DIVISION.  
  2. PROGRAM-ID. HELLO-WORLD.  
  3. PROCEDURE DIVISION.  
  4. DISPLAY "Hello, World!"  
  5. STOP RUN. 

5. BASIC - 1964

BASIC是Beginner’s All-purpose Symbolic Instruction Code(初學者通用符號說明代碼)的縮寫。它是一門高級編程語言,其主要目標在于易用。它的“Hello, World!”程序如下:

 

  1. PRINT "Hello, World!"  
  2. END 

6. Logo - 1968

Logo旨在成為易用的Lisp,通常被稱為“Lisp without brackets”,Logs并不是面向對象編程語言,但它可以幫助你入門計算機編程。

  1. print [Hello World !] 

7. B - 1969

B語言創(chuàng)建于1969年,它現在已經過時了,但它的計算機編程語言的發(fā)展史上發(fā)揮著重要的作用。因為正是B語言啟發(fā)了現在廣泛應用的C語言。

 

  1. main()  
  2.  
  3. putstr("Hello world!*n");  
  4. return(0);  

是不是語法層面就非常像C語言了。

8. Pascal - 1970

Pascal是一種交互式編程語言,它創(chuàng)建于1970年。它被設計出來主要出于教學目的,因為這個語言的特點是清晰,且嚴格的語法有助于良好的程序結構。

 

  1. begin  
  2. writeln('Hello, World!' 
  3. end

Turbo Pascal是Pascal語言的集成開發(fā)環(huán)境,在1983年被創(chuàng)建,并在1980年代和1990年代取得了巨大的成功。

Turbo Pascal的“Hello, World!“程序如下:

 

  1. program HelloWorld(output);  
  2. begin  
  3. writeln('Hello, World!');  
  4. readln;  
  5. end

9. Forth - 1970

Forth是一門基于棧的交互式編程語言,由Charles H. Moore在1960年代發(fā)明。但它的第一個大版本是在1970年發(fā)布的。它于1994年被ANSI標準化,并于1997年被ISO采納。2014年的Forth2012為語言的發(fā)展又煥發(fā)了生機。

下面是1970年版本Forth語言的“Hello, World!” 程序:

 

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

10. C - 1972

1972年的貝爾實驗室中,Dennis Ritchie和Ken Thompson兩位大佬為了開發(fā)UNIX發(fā)明了C語言。Ken Thompson曾開發(fā)過B語言,Dennis Ritchie決定通過對B語言添加類型來創(chuàng)造C語言。所以說B語言為C語言提供了靈感。

 

  1. #include  
  2. int main(void)  
  3.  
  4. printf("Hello, World!\n");  
  5. return 0;  

11. Smalltalk - 1972

Smalltalk受到Lisp的啟發(fā),它是一門面向對象的,動態(tài)類型的編程語言,它被發(fā)明于1972年。Smalltalk是最早具有集成開發(fā)環(huán)境的編程語言之一。

  1. Transcript show: 'Hello, world!'; cr. 

12. Prolog - 1972

Prolog是與人工智能和計算語言學相關的邏輯編程語言,被創(chuàng)建于1972年。

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

13. ML - 1973

ML是Meta Language的簡稱,是一種以Lisp為基礎的函數型編程語言。ML通常以Lisp為特征,具有類型。

  1. print "Hello, World!\n"

14. Scheme - 1975

Scheme創(chuàng)建于1975年,是一種多范式編程語言,支持函數式和交互式編程。它是Lisp三種重要的變種之一,由Common Lisp和Clojure共同開發(fā)。

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

15. SQL - 1978

SQL即結構化查詢語言,是用于操作關系數據庫的標準計算機編程語言。雖然在設計時不能創(chuàng)建簡單的“Hello, World!“程序,但我想寫出來應該是一個有趣的程序,如果你想學習SQL,這里有一些推薦課程。

 

  1. CREATE TABLE message (text char(15));  
  2. INSERT INTO message (text) VALUES ('Hello, World!');  
  3. SELECT text FROM message;  
  4. DROP TABLE message; 

16. C++ - 1980

C++是由Bjarne Stroustrup在1980年創(chuàng)建,他為C語言增加了類,在1983年得名C++?,F在C++已經通過了ISO標準化,并廣泛應用于工業(yè)和其他領域。

 

  1. #include  
  2. using namespace std;  
  3. int main() {  
  4. cout << "Hello, World!" << endl;  
  5. return 0;  

17. Ada - 1983

Ada是一種面向對象編程語言,其開發(fā)始于1980年初,并在1983年完成發(fā)布。之所以叫做Ada是為了紀念Ada Lovelace,這可能是歷史上第一位女性計算機科學家。

Ada通常用于需要很高可靠性和安全性的實時系統(tǒng)和嵌入式系統(tǒng)中。

 

  1. with Ada.Text_IO;  
  2. procedure Hello is  
  3. begin  
  4. Ada.Text_IO.Put_Line ("Hello, World!");  
  5. end Hello; 

18. Common Lisp - 1984

Common Lisp,通常縮寫為CL,是ANSI標準化的Lisp語言規(guī)范。

  1. (princ "Hello, World!"

19. MATLAB - 1984

MATLAB是一種用于數值計算的腳本語言,被用于“Matrix Laboratory”。MATLAB是由同名的開發(fā)環(huán)境模擬的。

  1. disp('Hello, World!'

20. Eiffel - 1985

Eiffel是一種圍繞設計方法設計的面向對象編程語言,它具有當下非常流行的概念,例如“按約定編程”或復用。

 

  1. class  
  2. HELLO_WORLD  
  3. create  
  4. make  
  5. feature  
  6. make  
  7. do  
  8. print ("Hello, world!%N" 
  9. end  
  10. end 

21. Objective-C - 1986

Objective-C是一種面向對象編程語言,它像C++一樣,是C語言的擴展,而與C++的區(qū)別在于它的動態(tài)消息分發(fā)或動態(tài)加載。

現在,它主要用于Apple操作系統(tǒng):macOS以及iOS的衍生品。

 

  1. #import <Foundation/Foundation.h>  
  2. int main() {  
  3. @autoreleasepool {  
  4. NSLog(@"Hello, World!");  
  5.  

22. Erlang - 1986

Erlang是一種支持多種范式的編程語言:并發(fā)、實時、分布式。它基于Actor Model,具有容錯能力以及代碼熱更新能力,所以Erlang開發(fā)的應用可用性通常很高。

  1. io:format("Hello world!~n"). 

23. Perl - 1987

Perl是由Larry Wall在1987年創(chuàng)建的編程語言,它可以輕松處理基于文本的消息。Perl是一種解釋型語言,它受C語言的控制和打印結構以及shell腳本的啟發(fā)。

  1. print "Hello, World!\n"

24. Caml - 1987

Caml代表Categorical Abstract Machine Language(分類抽象機器語言),是一種通用的編程語言,旨在提高程序的安全性和可靠性。Caml是一種致力于函數式、交互式和面向對象風格,這也是一種非常獨特的語言。

  1. print_string "Hello, World!\n"

25. Tcl - 1988

Tool Command Language(工具命令行語言),是John Ousterhout在1988年開發(fā)的一種腳本語言。它是一種動態(tài)類型語言,具有跨平臺、可擴展、易學習等特點。并且可以輕松和C語言進行交互。

在1990年, John Ousterhout又開發(fā)了Tcl的擴展——Tk,這是一個可移植的用于創(chuàng)建圖形界面的庫。我們今天所討論的Tcl,多數情況是指Tcl和Tk的組合。

  1. puts "Hello, World!" 

26. Haskell - 1990

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

  1. main = putStrLn "Hello, World!" 

27. Python - 1991

相信大家對Python都比較熟悉,即使沒有過,基本上也都聽說過。它是一門解釋型語言,可以跨平臺。Python支持結構體,函數和面向對象的交互式編程。隨著AI的發(fā)展,近幾年Python的熱度也是持續(xù)上漲。

下面是Python3.0以后版本“Hello, World“程序的寫法。

  1. print("Hello, World!"

28. Visual Basic - 1991

Visual Basic,通常簡稱為VB,是第三代事件編程語言。微軟也為其創(chuàng)建了集成開發(fā)環(huán)境。

 

  1. Public Sub Main()  
  2. Debug.Print "Hello, World!"  
  3. End Sub 

29. Lua - 1993

Lua創(chuàng)建于1993年,是交互式編程語言。它專注于嵌入其他應用程序以對其進行擴展。

譯者注:我們之前介紹過Lua在Redis中的應用,不知道你是否還記得。

  1. print("Hello, World!"

30. Ruby - 1995

由于對Smalltalk和Lisp的開發(fā)感到沮喪,Yukihiro Matsumoto從1993年起開始在Emacs上設計Ruby語言,并于1995年發(fā)布了第一版。Ruby是解釋型、面向對象、多范式的編程語言。

  1. puts 'Hello, World!' 

31. Java - 1995

Java是James Gosling(我們常說的高司令)在1995年時創(chuàng)建的一門面向對象編程語言,到目前為止,Java仍然是業(yè)界最流行、使用最廣泛的語言。使用Java可以開發(fā)從客戶端到服務端到各種應用,Google選擇Java作為Android開發(fā)語言這件事使得Java得到了更進一步的發(fā)展。

 

  1. class HelloWorld {  
  2. public static void main(String[] args){  
  3. System.out.println("Hello, World!");  
  4.  

32. JavaScript - 1995

JavaScript是一門主要用于開發(fā)Web頁面的腳本語言,但現在也可以用作服務端開發(fā),如Nodejs。

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

33. PHP - 1995

1995年對于編程語言而言絕對是非常重要的一年,在Java和JavaScript之后,PHP也于同年誕生。PHP是一門解釋型的面向對象編程語言。

  1. <? echo "Hello, World!" ?> 

34. Rebol - 1997

Rebol是一種高級腳本語言,自稱“消息傳遞語言”。

  1. print "Hello, World!" 

35. ActionScript — 1998

ActionScript可以用于開發(fā)客戶端應用程序,如Adobe Flash和Adobe Flex;也可以用于服務端開發(fā)(Flash media server, JRun, Macromedia Generator)?,F在,ActionScript在Unity圖形引擎中被當作腳本語言使用。

 

  1. package {  
  2. public class HelloWorld {  
  3. public function HelloWorld() {  
  4. trace("Hello World !");  
  5.  
  6.  

36. D - 1999

D語言是一門面向對象編程語言,它的設計借鑒于許多語言,包括C++、Java和Eiffel。D語言是一門優(yōu)秀的語言,但是一直都沒有像它的創(chuàng)造者期望的那樣獲得成功。

 

  1. import std.stdio;  
  2. void main () {  
  3. writefln("Hello, World!");  

37. C# - 2000

2000年,微軟就Java語言與Sun公司發(fā)生爭議,隨后便創(chuàng)造了C#,C#是一種被設計為在Microsoft.NET平臺上開發(fā)的面向對象的編程語言,它是由C++和Java派生而來,使用了許多它們的通用特性和概念。C#也可以用來在ASP.NET平臺上開發(fā)Web應用。

 

  1. using System;  
  2. internal static class HelloWorld {  
  3. private static void Main() {  
  4. Console.WriteLine("Hello, World!");  
  5.  

38. Groovy - 2003

Groovy是運行在Java虛擬機上的一門面向對象編程語言,它是Java的超集,其設計受到了Python、Ruby和Smalltalk的啟發(fā)。

  1. println "Hello, World!" 

39. Scala - 2003

Scala是一種多范式編程語言,旨在以簡潔、優(yōu)雅的形式表達常見的編程模型。Scala通過靜態(tài)類型集成了面向對象和函數式編程的范例。

 

  1. object HelloWorld extends App {  
  2. println("Hello, World!" 

40. F# - 2005

F#是一門在.NET平臺上開發(fā)的函數式、面向對象編程語言。F#源自與它高度兼容的OCaml,它們都屬于ML語言這一系列的。

  1. printfn "Hello, World!" 

41. Windows PowerShell - 2006

Windows PowerShell是Microsoft開發(fā)的軟件套件,包括命令行界面,稱為PowerShell的腳本語言和開發(fā)套件。 從Windows 7開始,PowerShell已作為標準配置提供。

  1. echo "Hello, World!" 

42. Clojure - 2007

Clojure是編譯型、跨平臺的函數式編程語言,它可以安全、簡單的開發(fā)分布式系統(tǒng)。Clojure是Lisp的三種主要方言之一。Clojure可以編譯成Java字節(jié)碼,JavaScript代碼或者是.NET字節(jié)碼,因此它可以運行在JVM、CLR和瀏覽器上。

  1. (println "Hello, World!"

43. Go - 2009

Go是一種編譯型的支持并發(fā)的編程語言,它的設計受到了C和Pascal的啟發(fā),該語言由Google從Robert Griesemer,Rob Pike和Ken Thompson的最初概念開發(fā)而來。沒錯,這個Ken Thompson就是在1969年設計B語言的人!

 

  1. package main  
  2. import "fmt"  
  3. func main() {  
  4. fmt.Println("Hello, World!" 

44. Rust - 2010

Rust是由Mozilla設計并開發(fā)的一門多范式的編譯型編程語言。Rust被設計為“安全、并發(fā)、實用的語言”,在某些方面支持函數式編程風格,面向對象編程。Rust被認為有望替代C++。

 

  1. fn main() {  
  2. println("Hello, World!");  

45. Dart - 2011

Dart是由Google開發(fā)的用于web應用的編程語言,它最初的目標是替代JavaScript。目前,Dart的目標還沒有實現,開發(fā)人員的首要任務是可以將Dart轉換成與所有現代瀏覽器兼容的JavaScript代碼。Dart也可以用于服務端的開發(fā)。

Dart最近的勢頭很猛,主要是因為它是手機端流行框架Flutter的開發(fā)語言。

 

  1. main() {  
  2. print('Hello, World!');  

46. Kotlin — 2011

Kotlin是一門面向對象編程語言,支持靜態(tài)類型,可以被編譯成字節(jié)碼運行在Java虛擬機上。也可以編譯成JavaScript語言,或者在其他多個平臺運行的語言。(感謝LLVM)2017年,Google使Kotlin成為繼Java之后Android正式支持的第二種語言。

 

  1. fun main(args: Array) {  
  2. println("Hello, World!" 

47. Ceylon - 2011

Ceylon是由“紅帽”創(chuàng)建的開源的強類型和靜態(tài)類型的高級編程語言,它的語法類似于Java。可以將其編譯成Java字節(jié)碼和JavaScript。

 

  1. void hello() {  
  2. print("Hello, World!");  

48. TypeScript - 2012

TypeScript是由微軟開發(fā)的免費、開源的編程語言。用于改善和保護JavaScript代碼的生產。TypeScript是JavaScript的超集,可以轉換為JavaScript,以便由任何Web瀏覽器或JavaScript引擎解釋。

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

49. Julia - 2012

Julia是用于科學計算的高級、強大、動態(tài)的編程語言,使用的是其他類似開發(fā)環(huán)境(例如MATLAB、R或Python)的用戶熟悉的語法。

  1. println("Hello, World!"

50. Swift - 2014

Swift是一門編譯型、多范式的編程語言,它簡單、高效、安全。它由蘋果開發(fā)并開源。使其成為與Objective-C一樣開發(fā)iOS移動應用的解決方案。

  1. print("Hello, World!"

結論

我們的旅行到此就要告一段落了,我想你介紹了50種語言的“Hello, World!“程序的寫法。本文所提供的編程語言列表遠非詳盡。希望你能和我分享你喜歡的語言的“Hello, World!“程序。

 

[[319914]]

譯者注

50種語言的發(fā)展來看,大多數語言的設計思想都是互相借鑒的。語言的發(fā)展也是逐漸演進的,但不是越強大的語言就越流行。一門語言想要變得流行也是需要一定的機遇的(例如Python),或者是需要有個優(yōu)質的大腿(例如Java和Dart)。

我們把時間粒度再放粗一點,編程語言的發(fā)展趨勢是逐漸趨近于自然語言的,這也說明**編程首先是給人看的,然后才是指導計算機應該做什么操作。**所以,請盡力寫出整潔的代碼。避免同事罵人。

為了響應作者,我先來一個,最近剛剛創(chuàng)造出來的文言文編程的“Hello, World!“程序。

  • 吾有一言。曰「「問天地好在?!埂埂?。

 

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2023-04-10 18:34:25

編程語言開發(fā)

2013-06-06 13:58:14

C語言

2024-04-11 13:13:27

2021-03-30 13:48:47

WebAssemblyWeb瀏覽器編程語言

2018-09-27 16:35:01

程序員編程語言Python

2021-05-18 14:42:55

PythonMySQL

2019-01-24 09:00:00

PythonAutoML機器學習

2011-11-21 14:10:53

C#

2010-05-27 09:11:18

jQuery

2017-11-28 16:57:18

2023-12-21 15:37:31

編程語言FortranC語言

2015-03-23 12:33:28

2014-07-22 10:19:19

NeoBundle

2015-04-22 11:29:45

PythonPython創(chuàng)建瀑布圖

2018-03-09 10:37:48

詩歌代碼寫詩

2020-10-15 15:01:54

Python 開發(fā)編程語言

2014-12-19 10:07:10

C

2017-11-23 17:45:46

Yii框架IntelYii框架深度剖析

2023-10-27 11:38:09

PythonWord

2019-09-05 10:07:23

ZAODeepfakes換臉
點贊
收藏

51CTO技術棧公眾號