在线观看黄色大片-在线观看黄色x视频-在线观看黄日本高清视频-在线观看黄免费-高清潢色大片-高清黄色直接看

計(jì)算機(jī)編程的歷史演進(jìn):用 50 種編程語言寫“Hello,World!”程序


新聞鏈接:https://mp.weixin.qq.com/s/-cUmibf2CpEEd_AsNlKoNA

這是一個(gè)計(jì)算機(jī)世界的編程時(shí)光之旅

對很多人來說,每當(dāng)學(xué)習(xí)一門新的編程語言,寫下的第一行代碼可能都是“Hello,World!“。因此,”Hello,World!" 已經(jīng)成為一段經(jīng)典程序。

在職業(yè)生涯中,所有程序員都至少完成過一段“Hello,World!" 程序。在成長中,程序員通常會(huì)使用多種編程語言,大部分程序員甚至實(shí)現(xiàn)過十幾種”Hello,World!”版本。

甚至還出現(xiàn)了一種衡量標(biāo)準(zhǔn),叫做 TTHW,用于評估程序員用新的編程語言實(shí)現(xiàn)一段“Hello, World!”程序并成功運(yùn)行所花費(fèi)的時(shí)間 。

但現(xiàn)在,如果我問你,你可以用多少種不同的編程語言編寫“Hello,World!”,你會(huì)給出怎樣的回答?為幫你回憶起來,我會(huì)向你展示怎樣用 50 種不同的編程語言編寫“Hello,World!”程序。這樣,也能讓你看到計(jì)算機(jī)編程語言多年的歷史演進(jìn)。

1. 匯編語言 - 1949 年

匯編語言創(chuàng)建于 1949 年,本文中,我會(huì)向你展示一段經(jīng)典的匯編程序,這是為 Intel 8080 平臺(tái)的 8 位處理器編寫的,這款處理器于 1974 年 4 月下旬發(fā)布。

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 的衍生版本。它是一種可編譯的通用命令式編程語言,特別適用于數(shù)值和科學(xué)計(jì)算。Fortran 語言創(chuàng)建于 1957 年,以下是使用該語言第一個(gè)版本編寫的“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 是最古老的編程語言家族,它既是命令式語言,又是函數(shù)式語言。Lisp 最初創(chuàng)建于 1958 年,當(dāng)時(shí)是作為展示程序的實(shí)用模型發(fā)布的。在 20 世紀(jì) 70 年代和 80 年代,Lisp 家族成為人工智能領(lǐng)域非常受歡迎的語言。

以下是用 Lisp 編寫的“Hello, World!”程序:

(write-line "Hello, World!")

4.Cobol - 1959 年

Cobol 正式創(chuàng)建于 1959 年,所以 Cobol 編程語言在 2019 年剛剛度過它的 60 周年紀(jì)念日。Cobol 是 COmmon Business Oriented Language 的縮寫,人們發(fā)明它是希望將其作為業(yè)務(wù)編程應(yīng)用的通用語言。2019 年,Cobol 在銀行業(yè)和保險(xiǎn)業(yè)中仍然應(yīng)用廣泛。

以下是用 Cobol 編寫的“Hello, World!”程序:

IDENTIFICATION DIVISION.

PROGRAM-ID. HELLO-WORLD.

PROCEDURE DIVISION.

DISPLAY "Hello, World!"

STOP RUN.

5.BASIC - 1964 年

BASIC 是 Beginner’s All-purpose Symbolic Instruction 的縮寫,它是一種高級編程語言,這種語言的主要目標(biāo)是容易使用,正如以下“Hello, World!”程序所證實(shí)的這樣:

PRINT "Hello, World!"

END

6.Logo - 1968 年

Logo 語言很像 Lisp 語言,但比 Lisp 更容易使用,這正是 Logo 被發(fā)明出來的原因,正如人們通常所認(rèn)為的那樣,Logo 是“沒有圓括號的 Lisp 語言”。

print [Hello World !]

7.B - 1969 年

B 語言發(fā)明于 1969 年,這種語言現(xiàn)在已經(jīng)被廢棄,但它曾扮演了一個(gè)重要角色,它極大地促進(jìn)了 C 語言的誕生,而現(xiàn)在 C 語言正被廣泛使用著。

main()

{

putstr("Hello world!*n");

return(0);

}

8.Pascal - 1970 年

Pascal 是一種命令式編程語言,創(chuàng)建于 1970 年。它是為教學(xué)而設(shè)計(jì)的,其特點(diǎn)是語法清晰、嚴(yán)謹(jǐn),有助于生成良好的程序結(jié)構(gòu)。

begin

writeln('Hello, World!')

end.

Turbo Pascal 創(chuàng)建于 1983 年,它是為 Pascal 編程語言打造的集成開發(fā)環(huán)境。Turbo Pascal 在 20 世紀(jì) 80 年代和 90 年代取得巨大成功。

以下是 Turbo Pascal 中的“Hello, World!”程序:

program HelloWorld(output);

begin

writeln('Hello, World!');

readln;

end.

9.Forth - 1970 年

Forth 是一種基于命令式堆棧的計(jì)算機(jī)編程語言,由 Charles H. Moore 在 20 世紀(jì) 60 年代創(chuàng)建,但是,它的第一個(gè)主要版本是在 1970 年發(fā)布的。這門語言在 1994 年被 ANSI 標(biāo)準(zhǔn)化,并且在 1997 年被 ISO 采用。為這門語言送上美好的祝福吧,2014 年它甚至迎來了一個(gè)新版本,也就是 Forth 2012。

以下是 Forth 1970 版本的“Hello, World!”程序:

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

HELLO

10.C - 1972 年

貝爾實(shí)驗(yàn)室的 Dennis Ritchie 和 Ken Thompson 在 1972 年開發(fā) UNIX 時(shí)發(fā)明了 C 編程語言。Ken Thompson 之前已經(jīng)發(fā)明了 B 語言。Dennis Ritchie 受到了 B 語言的啟發(fā),決定發(fā)明一種新的語言,即 C 語言,在其中引入了類型概念。

#include

int main(void) {

printf("Hello, World!\n");

return 0;

}

11.Smalltalk - 1972 年

Smalltalk 是一種面向?qū)ο蟮模哂蟹瓷硇院蛣?dòng)態(tài)類型的編程語言,發(fā)明于 1972 年,當(dāng)時(shí)主要是受到 Lisp 語言的啟發(fā)。Smalltalk 是最早一批具有集成開發(fā)環(huán)境的編程語言之一。

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

12.Prolog - 1972 年

Prolog 是一種與人工智能和計(jì)算語言學(xué)相關(guān)的邏輯編程語言。Prolog 創(chuàng)建于 1972 年。

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

13.ML - 1973 年

ML 是 Meta Language 的縮寫,它是基于 Lisp 的函數(shù)式編程語言。ML 通常被認(rèn)為是帶有類型的 Lisp 語言。

print "Hello, World!\n";

14.Scheme - 1975 年

Scheme 創(chuàng)建于 1975 年,它是一種支持函數(shù)式和命令式的多范式編程語言。它是 Lisp 語言的 3 大變種之一,另外兩個(gè)變種 Common Lisp 和 Clojure 的誕生要晚得多。

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

15.SQL - 1978 年

SQL 是 Structured Query Language 的縮寫,它是操作關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)化計(jì)算機(jī)語言。盡管它不是用來創(chuàng)建簡單的“Hello, World!”程序的,但是,照下面這樣創(chuàng)建一個(gè) SQL 程序卻是非常有趣。

CREATE TABLE message (text char(15));

INSERT INTO message (text) VALUES ('Hello, World!');

SELECT text FROM message;

DROP TABLE message;

16.C++ - 1980 年

C++ 最初由 Bjarne Stroustrup 創(chuàng)建于 1980 年,和 C 語言同名,但是包含了 class(類)這個(gè)概念。C++ 語言正式命名為 C++ 是在 1983 年。

這門編程語言現(xiàn)在被 ISO 標(biāo)準(zhǔn)化了,在工業(yè)界以及其他領(lǐng)域被廣泛使用。

#include

using namespace std;

int main() {

coutreturn 0;

}

17.Ada - 1983 年

Ada 是一種面向?qū)ο蟮木幊陶Z言,從 20 世紀(jì) 80 年代早期開始開發(fā),并于 1983 年發(fā)布正式版本,即 Ada 1983。“Ada”這個(gè)名字用來紀(jì)念 Ada Lovelace,她被認(rèn)為很大可能是歷史上第一位女性計(jì)算機(jī)科學(xué)家。

Ada 通常用于實(shí)時(shí)系統(tǒng)和嵌入式系統(tǒng),這些系統(tǒng)要求高度的可靠性和安全性。

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 標(biāo)準(zhǔn)化了的 Lisp 語言規(guī)范。

(princ "Hello, World!")

19.MATLAB - 1984 年

MATLAB 是“Matrix Laboratory”的縮寫,它是一種腳本語言,用于數(shù)值計(jì)算。MATLAB 在同名的開發(fā)環(huán)境中編寫。

disp('Hello, World!')

20.Eiffel - 1985 年

Eiffel 是一種圍繞一種設(shè)計(jì)方法而設(shè)計(jì)的面向?qū)ο缶幊陶Z言。Eiffel 基于當(dāng)今非常流行的概念,如契約編程或重用等。

class

HELLO_WORLD

create

make

feature

make

do

print ("Hello, world!%N")

end

end

21.Objective-C - 1986 年

Objective-C 是一種反身式的面向?qū)ο缶幊陶Z言。它是 C 編程語言的擴(kuò)展,就像 C++ 一樣,但是和 C++ 又不一樣,特別是在動(dòng)態(tài)消息分發(fā)或者動(dòng)態(tài)加載方面與 C++ 很不一樣。

當(dāng)今,它主要用于蘋果操作系統(tǒng):macOS 及其衍生的 iOS 系統(tǒng)中。

#import

int main() {

@autoreleasepool {

NSLog(@"Hello, World!");

}

}

22.Erlang - 1986 年

Erlang 這種編程語言支持多種范式:并發(fā)、實(shí)時(shí)和分布式。它獨(dú)具特色的層是基于參與者(actor)模型的,具有容錯(cuò)和熱代碼更新功能,允許開發(fā)具有極高可用性的應(yīng)用程序。

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

23.Perl - 1987 年

Perl 編程語言由 Larry Wall 創(chuàng)建于 1987 年,是為更容易地處理基于文本的信息而創(chuàng)建的。Perl 是一種解釋性語言,它受到了 C 語言的控制結(jié)構(gòu)和打印結(jié)構(gòu)的啟發(fā),同時(shí)也受到了 shell 腳本語言的啟發(fā)。

print "Hello, World!\n";

24.Caml - 1987 年

Caml 是 Categorical Abstract Machine Language 的縮寫,它是一種面向程序安全性和可靠性的通用編程語言。Caml 支持函數(shù)式、命令式和面向?qū)ο蟮木幊田L(fēng)格。它也是一種非常獨(dú)特的語言。

print_string "Hello, World!\n";;

25.Tcl - 1988 年

Tcl 是 Tool Command Language 的縮寫,它是一種腳本語言,由 John Ousterhout 在 1988 年開發(fā)出來的。這種動(dòng)態(tài)類型語言是跨平臺(tái)的、可擴(kuò)展的、易于學(xué)習(xí)的,并且基于 12 條語法規(guī)則。Tcl 很容易與 C 編程語言交互。

在 1990 年,John Ousterhout 開發(fā)出了 Tcl 的一個(gè)擴(kuò)展,叫做 Tk,它是一個(gè)用于創(chuàng)建可移植圖形接口的代碼庫。現(xiàn)在,當(dāng)我們談起 Tcl 時(shí),我們更多地是在談?wù)?Tcl/Tk 這個(gè)組合。

puts "Hello, World!"

26.Haskell - 1990 年

Haskell 是一種函數(shù)式的編程語言,它基于 lambda 計(jì)算和組合邏輯。

main = putStrLn "Hello, World!"

27.Python - 1991 年

Python 是一種解釋性編程語言,具有多范式、多平臺(tái)的特點(diǎn)。Python 支持結(jié)構(gòu)化、函數(shù)式和面向?qū)ο蟮拿钍骄幊獭?/p>

這些年來, Python 變得非常流行,甚至在 2019 年成為最受歡迎的語言之一。

以下是用 Python 3.0 或更高版本編寫的“Hello, World!”程序:

print("Hello, World!")

28.Visual Basic - 1991 年

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

Public Sub Main()

Debug.Print "Hello, World!"

End Sub

29.Lua - 1993 年

Lua 創(chuàng)建于 1993 年,它是一種反身式、命令式腳本語言,用于嵌入在其他應(yīng)用程序中來擴(kuò)展這些應(yīng)用程序的功能。

print("Hello, World!")

30.Ruby - 1995 年

由于對 Smalltalk 和 Lisp 的開發(fā)經(jīng)歷感到失望,Yukihiro Matsumoto 于 1993 年開始用 Emacs 設(shè)計(jì) Ruby 語言。

他在 1995 年發(fā)布了該語言的第一個(gè)版本。Ruby 是一種解釋性的、面向?qū)ο蟮亩喾妒秸Z言。

puts 'Hello, World!'

31.Java - 1995 年

Java 是 James Gosling 在 1995 年創(chuàng)建的一種面向?qū)ο蟮木幊陶Z言,它至今仍然是工業(yè)界最受歡迎和使用最多的語言。

你能夠使用 Java 做任何事情,從客戶端到 Web 應(yīng)用無所不包;而且 Google 選擇 Java,用在 Android 操作系統(tǒng)上作為開發(fā)應(yīng)用程序的語言,這又進(jìn)一步擴(kuò)展了 Java 能力。

class HelloWorld {

public static void main(String[] args) {

System.out.println("Hello, World!");

}

}

32.JavaScript - 1995 年

JavaScript 是一種腳本語言,主要用于 Web 開發(fā),但現(xiàn)在可以用于服務(wù)端,比如 Node.js。JavaScript 是面向原型的編程語言,這種語言里的函數(shù)是第一類對象。

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

33.PHP - 1995 年

1995 年絕對是編程語言非常重要的一年,因?yàn)樵?Java 和 JavaScript 之后,PHP 也在這一年被發(fā)明出來。PHP 主要用于 Web,它是一種面向?qū)ο蟮拿钍秸Z言,能夠像其他任何解釋性語言一樣在本地運(yùn)行。

34.Rebol - 1997 年

Rebol 是一種高級腳本編程語言,建立在指代語義的基礎(chǔ)上,自稱為“消息傳遞語言”。以下是用 Rebol 編寫的“Hello, World!”程序:

print "Hello, World!"

35.ActionScript - 1998 年

ActionScript 這種編程語言,可用于客戶端應(yīng)用程序(例如 Adobe Flash 和 Adobe Flex)和服務(wù)器(Flash 媒體服務(wù)器,JRun 和 Macromedia Generator)。ActionScript 現(xiàn)在作為一種腳本語言,用于 Unity 圖形引擎之中。

package {

public class HelloWorld {

public function HelloWorld() {

trace("Hello World !");

}

}

}

36.D - 1999 年

D 是一種命令式、面向?qū)ο蟮亩喾妒骄幊陶Z言,用于系統(tǒng)編程。D 的發(fā)明受到許多語言的啟發(fā),包括 C++、Java 和 Eiffel。盡管 D 語言有很多優(yōu)點(diǎn),但是它從未獲得其發(fā)明者所期望的成功。

import std.stdio;

void main () {

writefln("Hello, World!");

}

37.C# - 2000 年

C# 是微軟于 2000 年與 Sun 就 Java 語言發(fā)生爭執(zhí)后創(chuàng)建的。C# 是一種面向?qū)ο蟮木幊陶Z言,用于 Microsoft.Net 平臺(tái)上的開發(fā)工作。該語言派生自 C++ 和 Java,使用了它們的一些通用語法和其他許多概念。

C# 也可以用于開發(fā) ASP.Net 平臺(tái)上的 Web 應(yīng)用程序。

using System;

internal static class HelloWorld {

private static void Main() {

Console.WriteLine("Hello, World!");

}

}

38.Groovy - 2003 年

Groovy 是一種面向?qū)ο蟮木幊陶Z言,運(yùn)行在 Java 平臺(tái)上。Groovy 是這個(gè)平臺(tái)的 Java 語言的替代品,受到了 Python 、 Ruby 或者是 Smalltalk 語言的啟發(fā)。

println "Hello, World!"

39.Scala - 2003 年

Scala 是一種多范式編程語言,被設(shè)計(jì)用于簡潔優(yōu)雅地表示通用編程模型。Scala 采用靜態(tài)類型,集成了面向?qū)ο蠛秃瘮?shù)式編程范式。

object HelloWorld extends App {

println("Hello, World!")

}

40.F# - 2005

F# 是一種函數(shù)式、命令式和面向?qū)ο蟮木幊陶Z言,由微軟為其.NET 平臺(tái)而開發(fā)。F# 從 OCaml 編程語言衍生而來,而且與 OCaml 具有高度兼容性。這兩種編程語言與 ML 語言屬于同一種語系。

printfn "Hello, World!"

41.Windows PowerShell - 2006 年

Windows PowersShell 是由微軟開發(fā)的一套軟件,它包含了命令行接口、一種稱作 PowerShell 的腳本語言和一個(gè)開發(fā)包。從 Window 7 開始,PowerShell 就作為微軟操作系統(tǒng)的標(biāo)配。

echo "Hello, World!"

42.Clojure - 2007 年

Clojure 是一種可編譯的、跨平臺(tái)的函數(shù)式編程語言,用于創(chuàng)建安全的和易分布式運(yùn)行的程序。Clojure 是 Lisp 語言的 3 大變種之一。Clojure 可轉(zhuǎn)換為 Java 字節(jié)碼、JavaScript 代碼和.NET 字節(jié)碼。因此,Clojure 可以在 JVM、CLR、瀏覽器和 Node.js 上使用。

(println "Hello, World!")

43.Go - 2009 年

Go 是一種可編譯的、并發(fā)式編程語言,受到了 C 和 Pascal 語言的啟發(fā)而發(fā)明的。這種語言是由谷歌開發(fā)的,它是從 Robert Griesemer、Rob Pike 和 Ken Thompson 最初提出的概念發(fā)展而來的。這位 Ken Thompson 正是在 1969 年創(chuàng)造了 B 語言的那位 Ken Thompson!

package main

import "fmt"

func main() {

fmt.Println("Hello, World!")

}

44.Rust - 2010

Rust 是由 Mozilla 開發(fā)的一種多范式、可編譯的編程語言。Rust 被設(shè)計(jì)成為“安全的、并發(fā)的、實(shí)用的語言”,同時(shí)在某些方面支持純函數(shù)式編程風(fēng)格、參與者模型、過程式編程以及面向?qū)ο缶幊獭ust 通常被描述為 C++ 的潛在繼承者之一。

fn main() {

println("Hello, World!");

}

45.Dart - 2011 年

Dart 是谷歌開發(fā)的一種 Web 編程語言。它最初的目的是要替換 JavaScript。目前,Dart 還沒有達(dá)到它的目標(biāo),開發(fā)人員更喜歡將 Dart 轉(zhuǎn)換成與現(xiàn)代所有瀏覽器兼容的 JavaScript 代碼,Dart 還可以用于服務(wù)端編程。

Dart 是 Flutter 用于開發(fā)移動(dòng)應(yīng)用程序的語言。

main() {

print('Hello, World!');

}

46.Kotlin - 2011 年

Kotlin 是一種面向?qū)ο蟮摹⒑瘮?shù)式編程語言,它具有靜態(tài)類型,允許針對 Java 虛擬機(jī)、JavaScript 和本地的多種平臺(tái)進(jìn)行編譯(多虧了 LLVM)。2017 年,谷歌繼 Java 之后,把 Kotlin 作為 Android 官方支持的第二種編程語言。

fun main(args: Array) {

println("Hello, World!")

}

47.Ceylon - 2011 年

Ceylon 是由紅帽(Red Hat)創(chuàng)建出來的,它是一種高級開源編程語言,具有強(qiáng)類型和靜態(tài)類型。它的語法和 Java 的很像。它能編譯為 Java 字節(jié)碼或者 JavaScript。

void hello() {

print("Hello, World!");

}

48.TypeScript - 2012 年

TypeScript 是由微軟開發(fā)的免費(fèi)開源的編程語言,旨在提升 JavaScript 代碼的開發(fā)效率,保證 JavaScript 代碼的安全性。TypeScript 語言是 JavaScript 的一個(gè)超集,它被轉(zhuǎn)換成 JavaScript,這樣任何 Web 瀏覽器或 JavaScript 引擎都可以解釋它。

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

49.Julia - 2012 年

Julia 是一種高級的、強(qiáng)大的和動(dòng)態(tài)的編程語言,用于科學(xué)計(jì)算,熟悉其他開發(fā)環(huán)境(如 MATLAB、R 或者 Python)的用戶應(yīng)該很了解 Julia 的語法。

println("Hello, World!")

50.Swift - 2014 年

Swift 是一種可編譯的、多范式的對象編程語言,其設(shè)計(jì)目標(biāo)是簡單、高性能和安全。它是由蘋果公司開發(fā)的開源項(xiàng)目,這使得它與 Objective-C 一起成為了開發(fā)移動(dòng) iOS 應(yīng)用程序的解決方案。

print("Hello, World!")

總結(jié)

這次在計(jì)算機(jī)編程語言世界里進(jìn)行的跨度達(dá) 70 年的時(shí)光旅行,向你介紹了用 50 種不同語言編寫的“Hello, World!”程序。

以上編程語言清單只占到人們發(fā)明的所有編程語言的一小部分,我邀請你在評論區(qū)分享你最喜歡的語言所編寫的“Hello, World!”程序,但請不要和上面清單上的語言重復(fù)哦。

原文鏈接:

https://medium.com/javarevisited/70-years-of-hello-world-with-50-programming-languages-2400de893a97

主站蜘蛛池模板: 国产四虎免费精品视频| 久久久久久免费播放一级毛片| 午夜污| 欧美一道本| 欧美在线精品一区二区三区 | 日韩精品一区二区三区中文3d | 国产成人www| 国产午夜精品一区二区| 中文字幕日韩有码| 欧美精品在线免费| h片在线免费看| 色爱综合网欧美| 最新国产精品| 日本高清免费aaaaa大片视频| yy6080理aa级伦大片一级| 99久久久久久久| 日韩欧美亚洲精品| 伊人爱爱| 福利影院在线看| 欧美三级色| 国产aⅴ一区二区三区| 午夜久久久精品| 亚洲午夜免费| 欧美视频在线观看| 91亚洲免费| 国产999在线| 久久亚洲国产精品| 亚洲永久精品网站| 亚洲欧美不卡| 道区二区三区四区| 看一级特黄a大一片| 69热精品视频在线看影院| 欧美高清hd| 亚洲日本欧美| 四虎影视网站| 国产精品区免费视频| 国产大片黄在线播放| 亚洲成片观看四虎永久| 嘿咻嘿咻免费区视频在线看| 亚洲国产成人在线视频| 一区二区高清视频|