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

為什么會(huì)有這么多編程語言?

開發(fā) 前端
在編程語言如此豐富的今天,相信許多開發(fā)者都有過上面的疑問。不過早在 1960 年代初,人們就已經(jīng)提出了這個(gè)問題。

?為什么會(huì)有這么多編程語言?

編程語言如此豐富的今天,相信許多開發(fā)者都有過上面的疑問。不過早在 1960 年代初,人們就已經(jīng)提出了這個(gè)問題。

《ACM 通訊》期刊近日發(fā)表了題為《Why Are There So Many Programming Languages?》的文章,作者在文中指出了一個(gè)重要原因:公司基于商業(yè)利益的訴求,希望控制編程語言,所以會(huì)發(fā)明由自己主導(dǎo)的語言。

1990 年代中期,Visual Basic 和 Visual C++ 是微軟主力開發(fā)和維護(hù)的編程語言。這兩種語言都是從已有的編程語言衍生而來,Visual Basic 的優(yōu)勢(shì)是為 Windows 桌面平臺(tái)構(gòu)建前端應(yīng)用程序,但它缺乏許多高級(jí)語言功能(如數(shù)據(jù)結(jié)構(gòu)、線程)。Visual C++ 雖然幾乎可以處理所有問題,但它十分復(fù)雜。然后,Java 在 1996 年問世了,Java 是全功能的面向?qū)ο蟮木幊陶Z言,不像 C++ 那么復(fù)雜。

Java 的核心功能之一是平臺(tái)可移植性,但這不是微軟希望看到的,因此 Java 背后的公司 Sun Microsystems 與微軟產(chǎn)生了沖突,并且從 1997 年開始發(fā)起訴訟。雙方緊張的關(guān)系最終導(dǎo)致微軟在 2002 年發(fā)布了一門名為 C# 的編程語言,它看起來很像 Java,但事實(shí)上并不是。當(dāng)然兩者最重要的不同點(diǎn)在于,C# 是微軟可以在自家 Windows 平臺(tái)上控制的編程語言。

除了公司對(duì)于控制和財(cái)富的訴求,編程語言之所以如此多與當(dāng)時(shí)的技術(shù)環(huán)境和水平密切相關(guān)。現(xiàn)在許多看起來理所當(dāng)然的事情在過去并非如此,早期計(jì)算機(jī)的存儲(chǔ)、內(nèi)存和處理能力都是有限而昂貴的。人們不得不費(fèi)盡周折,只為到計(jì)算機(jī)實(shí)驗(yàn)室,通宵熬夜以獲得計(jì)算機(jī)使用時(shí)間。

在那個(gè)時(shí)代,編程語言通常是為某些任務(wù)或工作而設(shè)計(jì)的,編程語言的命名也更簡單 —— 因?yàn)槊臻g尚未被開發(fā)。在 1950 年代和 1960 年代,最初的程序可以 “奢侈地” 用其所作的事情精確命名:FORTRAN(公式翻譯器)、COBOL(面向商業(yè)的通用語言)、BASIC(初學(xué)者通用符號(hào)指令代碼)、ALGOL(算法語言)、LISP(列表處理器)。大多數(shù)人可能沒有聽說過 SNOBOL(面向字符串和符號(hào)語言,1962),但是通過名字稍微猜測(cè)就可以知道它的用途。如果那個(gè)時(shí)代對(duì)面向?qū)ο蟮木幊谈拍钣懈嗔私猓嘈艜?huì)有人使用 “OBJOL” 之類的名字命名 —— 明確命名為面向?qū)ο笳Z言,至少按照那時(shí)的命名模式會(huì)是這樣。

到了現(xiàn)在,更多的編程語言在許多方面都像是重新造輪子 —— 它們?cè)S多都是滿足下面屬性的多種組合:

  • License

開源;商業(yè)

  • 平臺(tái)

操作系統(tǒng)、硬件支持

  • 語言范式

面向過程、函數(shù)式、面向?qū)ο蟮?/p>

  • 類型系統(tǒng)

動(dòng)態(tài)、靜態(tài)等

  • 并發(fā)

單線程、多線程

  • 內(nèi)存管理

垃圾回收(自動(dòng)或手動(dòng))

  • 執(zhí)行

解釋、編譯到虛擬機(jī)、原生編譯等

  • ……?
責(zé)任編輯:華軒 來源: OSC開源社區(qū)
相關(guān)推薦

2013-01-15 09:41:45

編程語言

2017-12-21 19:38:50

潤乾中間表

2015-05-18 15:08:08

多種程序設(shè)計(jì)語言程序設(shè)計(jì)語言

2013-01-24 09:44:44

數(shù)據(jù)庫

2021-08-19 06:53:18

開發(fā)語言Java

2020-10-15 13:19:24

為什么會(huì)存在亂碼

2022-01-12 20:04:09

網(wǎng)絡(luò)故障斷網(wǎng)事件網(wǎng)絡(luò)安全

2018-06-26 15:00:24

Docker安全風(fēng)險(xiǎn)

2021-08-31 09:35:01

TCPIP漏洞

2021-05-31 22:26:20

5G技術(shù)通信

2024-02-04 10:29:58

線程通信

2021-01-14 05:08:44

編譯鏈接

2019-01-31 10:15:14

群聊單聊消息

2023-11-13 08:49:54

2024-02-20 08:09:51

Java 8DateUtilsDate工具類

2016-12-01 13:40:37

2019-08-27 08:17:57

云計(jì)算安全云服務(wù)商

2017-07-04 14:01:40

機(jī)房機(jī)柜

2017-07-12 08:20:32

閃存用途企業(yè)

2018-12-21 09:36:31

OLAP蘇寧Druid
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)