日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

編程軟件有哪些,代碼編程軟件( 二 )


軟件是用編程軟件編的,編程軟件又怎么來的?
軟件是用編程軟件寫成的,那么編程軟件是怎么來的呢?這個吧,我真的沒辦法一個個給你解釋到底,不然你要是打破沙鍋問到底,可能一頓火鍋的功夫我也沒辦法給你說完 。舉個例子哈,IntelliJ IDEA和Eclipse都是Java的IDE,用這兩個IDE可以寫非常多的軟件,比如Android Studio先后分別基于這兩個軟件,Android上所有的軟件都是用這玩意兒開發(fā)的,但是這兩個IDE本身也都是Java語言開發(fā)的,這兩個IDE呢最初肯定是在Vim/Emacs Java開發(fā)的,咱就先說到這里,不然要喋喋不休了 。
我給大家提一個思路,大家按照這個思路可以自己去找自己感興趣的問題 。我給大家說一說Google實現(xiàn)Go 1.5自舉、去除所有的C語言程序的過程,大家慢慢就明白了,基本上計算機技術(shù)都是這樣迭代出來的,比如怎么先有了C語言、現(xiàn)有了Unix,又如何在這些基礎(chǔ)上,誕生了Emacs、C等眾多新的軟件和技術(shù) 。事實上現(xiàn)在所有新的編程語言,基本上都會考慮在C語言的基礎(chǔ)之上構(gòu)建,Go語言也不例外,何況Go語言的重要設(shè)計者之一肯湯普森老爺子,還是C語言、Unix之父 。
Go語言發(fā)展的第一階段,就是開發(fā)一個從C語言到Go語言的翻譯器,將C語言編譯器翻譯成Go語言的,不過了Go語言核心設(shè)計團隊的三位大神非常機智,他們最大程度避免了在Go語言編譯器設(shè)計中,大量使用未來很難移植到Go語言的一些特性,比如宏、比如指針,這些都是C、C留下的一些糟糕的設(shè)計,不符合現(xiàn)在的編程語言設(shè)計潮流 。
轉(zhuǎn)換編譯器源碼樹產(chǎn)生一個Go語言編譯器,不過這時候還是典型C語言風(fēng)格 。接下來,Google對編譯器進(jìn)行了優(yōu)化,將編譯器CPU、內(nèi)存等硬件資源占用的問題解決了,并且引入了并行概念 。為了改進(jìn)編譯器在消除邊界檢查等問題下的能力,同時在不依賴架構(gòu)的node*s、prog*s之間引入一個中間表示 。這些事情完成之后,Google就做了最后一步,用Go 1.5、也就是當(dāng)時Go語言最新版本,用go/parser和go/types替換了編譯器前端,至此Go語言實現(xiàn)了自舉,并且獲得了一個穩(wěn)定高效的編譯器實現(xiàn) 。
Go語言本身編程難度要比C更簡單,這是因為Go語言跟很多高級語言一樣,摒棄了指針、規(guī)避了內(nèi)存泄漏、解決了緩沖區(qū)溢出,深度遞歸時棧的溢出,摒棄了宏這些定義 。Go語言工具鏈對模塊化、單元測試、以及性能分析支持更好,在修改內(nèi)部API或重構(gòu)時,應(yīng)用自動化程序重構(gòu)前景更加值得期待 。你看這就是Go語言從C語言寫編譯器,到最終實現(xiàn)Go語言完全自舉的過程,當(dāng)然大家都知道圖靈完備的編程語言都可以實現(xiàn)自舉,理論上符合圖靈完備的編程語言都是這么發(fā)展的,C就是這么發(fā)展的,滿足這個條件的編程語言,你才能作為其他編程語言的基礎(chǔ) 。
那么我們回到最初的問題上,編寫軟件的編程軟件又是在什么環(huán)境下開發(fā)的呢?計算機技術(shù)發(fā)展至今,在機器語言的基礎(chǔ)上,弄出了匯編語言,接著兩位祖師爺弄了C語言和Unix系統(tǒng),接著在這個基礎(chǔ)上,又有人弄了Emacs、Vim、GCC,你看基本上現(xiàn)代計算機技術(shù)的所有根基技術(shù)就有了 。接著就是用C語言寫各種操作系統(tǒng),為了各種需求寫各種編程語言,又根據(jù)各種需求開發(fā)各種集成開發(fā)環(huán)境,然后又根據(jù)各種應(yīng)用需求用集成開發(fā)環(huán)境寫其他應(yīng)用軟件,這就是一個完整的計算機技術(shù)發(fā)展進(jìn)化流程 。
編程軟件也是,先有了機器語言,打孔時代創(chuàng)造和發(fā)明了匯編語言,匯編語言的基礎(chǔ)上又有了B語言,然后B語言的基礎(chǔ)上發(fā)明了C語言,C語言重寫Unix,于是現(xiàn)代計算機的雛形也就有了 。早期是一生一、機器語言生匯編,然后機器和匯編語言生C語言,到C語言時代就是一生萬物、C語言生萬物,現(xiàn)在就是多生萬物 。這就是計算機技術(shù)發(fā)展的過程 。

推薦閱讀