語言編程
計算機語言指用於人與計算機之間通信的語言,也便是平時說的編程語言編程語言
編程學習
指令的概念很早就造成了,其實指令自己就是一種編程spa
一個指令替代了一組邏輯電路或者機電式/機械式中的一個計算單元翻譯
你只須要一個指令就至關於已經操做了一整個的模塊code
這不也是一種編程的思惟嗎,只不過是指令對應硬件ip
隨着指令在現代計算機中的應用,計算機程序得以快速的發展字符串
由於一旦你知道計算機能夠執行哪些指令,其實也就是哪些功能,具備哪些能力數學
你就能夠把這些指令按照必定的邏輯順序重排組裝io
這就是廣義上的計算機程序
計算機語言的發展有兩個階段
面向機器到脫離機器的轉變
針對不一樣場景解決不一樣業務邏輯問題方向的發展
機器語言
爲了使用計算機計算,必須將程序指令輸入到計算機中
最原始的時候那就是開關和紙帶,也就是至關於直接使用二進制來工做,並且是人工操做
也就是使用該機器指令01組合的字符串
也就是機器語言,這實際上是純粹的計算機語言
彙編語言
就如同母語是普通話的人就不能天生的和母語是英語的人交流
想要交流就必須有人要學習一門外語
而想要學習計算機的機器語言這門外語,遠比學習英語要複雜晦澀
由於機器語言01字符串對於人類的認知來講,徹底就等同於亂碼
難讀、難編、難記和易出錯
你根本不會知道究竟是什麼意思
隨後,開始用與代碼指令實際含義相近的英文縮寫詞、字母和數字等符號來替代描述指令代碼
出現了彙編語言,彙編語言只是機器語言的助記符語言
不一樣的機器有不一樣的彙編語言
須要彙編程序翻譯成計算機能夠識別的二進制機器語言
本質仍是面向機器的低級語言
機器語言和彙編語言都是面向硬件的具體操做的,語言對機器過度依賴,因此稱之爲低級語言
高級語言
爲了可以更加通用的解決問題,而不是專一於硬件自己,出現了高級語言
高級語言不用關注機器的指令,使用接近人習慣的天然語言和數學語言符號
可以專一於問題自己的業務邏輯
顯然高級語言也是不能直接運行於機器上的,須要翻譯程序轉換爲機器能夠執行的目標代碼程序
雖然高級語言不涉及寄存器這些東西,不須要你瞭解硬件
可是這是高級語言隱藏了她們,而不是說這些東西不存在不重要,全部的語言都逃不過這一關
始終是要編程機器語言的
也正是因爲隱藏了太多東西,就好像與底層的東西隔着好幾層玻璃
儘管看的見,可是天然清晰度降低
直接後果就是編譯後的文件變得更大,執行速度將會變慢(相對於彙編)
從網上扒出來一份統計,或許不許,做爲了解
1951 – Regional Assembly Language
1952 – Autocode
1954 – IPL (LISP語言的祖先)
1955 – FLOW-MATIC (COBOL語言的祖先)
1957 – FORTRAN (第一個編譯型語言)
1957 – COMTRAN (COBOL語言的祖先)
1958 – LISP
1958 – ALGOL 58
1959 – FACT (COBOL語言的祖先)
1959 – COBOL
1959 – RPG
1962 – APL
1962 – Simula
1962 – SNOBOL
1963 – CPL (C語言的祖先)
1964 – BASIC
1964 – PL/I
1966 – JOSS
1967 – BCPL (C語言的祖先)
1968 – Logo
1969 – B (C語言的祖先)
1970 – Pascal
1970 – Forth
1972 – C
1972 – Smalltalk
1972 – Prolog
1973 – ML
1975 – Scheme
1978 – SQL
1980 – C++ (既有類的C語言,改名於1983年7月)
1983 – Ada
1984 – Common Lisp
1984 – MATLAB
1985 – Eiffel
1986 – Objective-C
1986 – Erlang
1987 – Perl
1988 – Tcl
1988 – Mathematica
1989 – FL
1990 – Haskell
1991 – Python
1991 – Visual Basic
1993 – Ruby
1993 – Lua
1994 – CLOS (ANSI Common Lisp的一部分)
1995 – Java
1995 – Delphi (Object Pascal)
1995 – JavaScript
1995 – PHP
1996 – WebDNA
1997 – Rebol
1999 – D
2000 – ActionScript
2001 – C#
2001 – Visual Basic .NET
2002 – F#
2003 – Groovy
2003 – Scala
2007 – Clojure
2009 – Go
2011 – Dart