軟件是用編程軟件編寫的,那麼編程軟件又怎麼來的?

2020年11月16日22:56:04 科技 1710

軟件是用編程軟件寫成的,那麼編程軟件是怎麼來的呢?

這個吧,我真的沒辦法一個個給你解釋到底,不然你要是打破砂鍋問到底,可能一頓火鍋的功夫我也沒辦法給你說完。舉個例子哈,IntelliJ IDEA和Eclipse都是Java的IDE,用這兩個IDE可以寫非常多的軟件,比如Android Studio先後分別基於這兩個軟件,Android上所有的軟件都是用這玩意兒開發的,但是這兩個IDE本身也都是Java語言開發的,這兩個IDE呢最初肯定是在Vim/Emacs+Java開發的,咱就先說到這裡,不然要喋喋不休了。

我給大家提一個思路,大家按照這個思路可以自己去找自己感興趣的問題。我給大家說一說Google實現Go 1.5自舉、去除所有的C語言程序的過程,大家慢慢就明白了,基本上計算機技術都是這樣迭代出來的,比如怎麼先有了C語言、現有了Unix,又如何在這些基礎上,誕生了Emacs、C++等眾多新的軟件和技術。

軟件是用編程軟件編寫的,那麼編程軟件又怎麼來的? - 天天要聞

事實上現在所有新的編程語言,基本上都會考慮在C語言的基礎之上構建,Go語言也不例外,何況Go語言的重要設計者之一肯湯普森老爺子,還是C語言、Unix之父。Go語言發展的第一階段,就是開發一個從C語言到Go語言的翻譯器,將C語言編譯器翻譯成Go語言的,不過了Go語言核心設計團隊的三位大神非常機智,他們最大程度避免了在Go語言編譯器設計中,大量使用未來很難移植到Go語言的一些特性,比如宏、比如指針,這些都是C、C++留下的一些糟糕的設計,不符合現在的編程語言設計潮流。轉換編譯器源碼樹產生一個Go語言編譯器,不過這時候還是典型C語言風格。

接下來,Google對編譯器進行了優化,將編譯器CPU、內存等硬件資源佔用的問題解決了,並且引入了並行概念。為了改進編譯器在消除邊界檢查等問題下的能力,同時在不依賴架構的node*s、prog*s之間引入一個中間表示。這些事情完成之後,Google就做了最後一步,用Go 1.5、也就是當時Go語言最新版本,用go/parser和go/types替換了編譯器前端,至此Go語言實現了自舉,並且獲得了一個穩定高效的編譯器實現。

軟件是用編程軟件編寫的,那麼編程軟件又怎麼來的? - 天天要聞

Go語言本身編程難度要比C更簡單,這是因為Go語言跟很多高級語言一樣,摒棄了指針、規避了內存泄漏、解決了緩衝區溢出,深度遞歸時棧的溢出,摒棄了宏這些定義。Go語言工具鏈對模塊化、單元測試、以及性能分析支持更好,在修改內部API或重構時,應用自動化程序重構前景更加值得期待。

你看這就是Go語言從C語言寫編譯器 ,到最終實現Go語言完全自舉的過程,當然大家都知道圖靈完備的編程語言都可以實現自舉,理論上符合圖靈完備的編程語言都是這麼發展的,C++就是這麼發展的,滿足這個條件的編程語言,你才能作為其他編程語言的基礎。

軟件是用編程軟件編寫的,那麼編程軟件又怎麼來的? - 天天要聞

那麼我們回到最初的問題上,編寫軟件的編程軟件又是在什麼環境下開發的呢?計算機技術發展至今,在機器語言的基礎上,弄出了彙編語言,接着兩位祖師爺弄了C語言和Unix系統,接着在這個基礎上,又有人弄了Emacs、Vim、GCC,你看基本上現代計算機技術的所有根基技術就有了。

接着就是用C語言寫各種操作系統,為了各種需求寫各種編程語言,又根據各種需求開發各種集成開發環境,然後又根據各種應用需求用集成開發環境寫其他應用軟件,這就是一個完整的計算機技術發展進化流程。

編程軟件也是,先有了機器語言,打孔時代創造和發明了彙編語言,彙編語言的基礎上又有了B語言,然後B語言的基礎上發明了C語言,C語言重寫Unix,於是現代計算機的雛形也就有了。早期是一生一、機器語言生彙編,然後機器和彙編語言生C語言,到C語言時代就是一生萬物、C語言生萬物,現在就是多生萬物。這就是計算機技術發展的過程。

軟件是用編程軟件編寫的,那麼編程軟件又怎麼來的? - 天天要聞

科技分類資訊推薦

華為鯤鵬、昇騰已發展超 665 萬開發者、8800 多家合作夥伴 - 天天要聞

華為鯤鵬、昇騰已發展超 665 萬開發者、8800 多家合作夥伴

IT之家 5 月 25 日消息,在昨日舉行的鯤鵬昇騰開發者大會 2025 上,華為 ICT Marketing 部部長周軍表示,華為持續打造堅實、易用的算力底座,使能開發者和夥伴,加速行業智能化。據周軍介紹,截至 2025 年 5 月,鯤鵬、昇騰已發展超過 665 萬開發者,以及 8800 多家合作夥伴,完成 23900 多個解決方案認證。華為方面稱,截..
“馬上有”:小米 15S Pro 手機過上市關鍵期後將推 Beta 版系統 - 天天要聞

“馬上有”:小米 15S Pro 手機過上市關鍵期後將推 Beta 版系統

IT之家 5 月 25 日消息,在本月(5 月 22 日)舉行的小米 15 周年戰略新品發布會上,小米 15S Pro 手機正式發布。新機基於小米 15 Pro 手機研發,搭載小米自主研發設計的玄戒 O1 旗艦處理器,售價 5499 元起。IT之家注意到,小米公司應用軟件部總監王樂今日凌晨就網友提出的“小米 15S Pro 手機會不會有 Beta 版本更新”
蘋果 AI 的崩塌真相:從喬布斯願景,到高管失誤的困局 - 天天要聞

蘋果 AI 的崩塌真相:從喬布斯願景,到高管失誤的困局

一向在意公眾形象的蘋果,因為 AI 拉跨,這次被扒乾淨了。作者|Moonshot編輯|靖宇AI,已經熱了快三年了。各大科技巨頭爭先恐後下注入局,可偏偏在這個熱潮中,最接近我們生活的蘋果,卻看起來離 AI 最遠。最大的巨頭,在最熱的潮流面前,好似隱身了。去年 6 月 WWDC 上,蘋果慢吞地發布了 Apple Intelligence,可如今快一...
小米耳機變成了小蘇打... ... - 天天要聞

小米耳機變成了小蘇打... ...

快遞越來越方便手指一點送貨到家有時還會突然收到陌生快遞這時候一定要當心騙子投放禮品卡進行詐騙請大家提高辨別能力5月18日轄區居民龔先生帶着兩個未拆封的快遞來到開發區派出所報警“這快遞不是我的,不敢拆”值班民警宋月亮檢查後發現快遞單上的信息模糊且龔先生及家人均未下單拆開快遞後發現外包裝是“小米耳機”盒看...
董宇輝也會在直播間“演戲”了? - 天天要聞

董宇輝也會在直播間“演戲”了?

董宇輝也開始在直播間“表演”和品牌商談判的戲碼了。近日,董宇輝在直播間銷售某品牌電視時,講到一半,商家表示要收取最高200元的安裝費。董宇輝一聽眉頭緊皺,兩手一攤,當場回絕,“不合理,你要這樣,我不講了,我不接受”。
定了,小米這直屏頂配要提前發布,7400mAh太爽了 - 天天要聞

定了,小米這直屏頂配要提前發布,7400mAh太爽了

REDMI K80至尊版其實按照正常節奏來說,K80至尊版應該得七到八月才會發。但可能是今年性能機這塊地,競爭太過激烈。又或者是小米想趁熱打鐵,接力剛發不久的小米15S Pro。如今各方爆料都顯示,這機子將要在6月底發布。反正前兩天,這機子
看銷售高手,如何在眾多競爭對手中,拿到大訂單! - 天天要聞

看銷售高手,如何在眾多競爭對手中,拿到大訂單!

看正文之前先問一下各位,在各領域中掙扎銷售人員,這幾年的銷售工作好不好做?是不是感覺越來越擠了?這片紅海越來越紅了對吧?競爭對手太多太多了尤其這兩年跨行業競爭的尤其明顯,那麼我們該如何在眾多的競爭對手當中脫穎而出,今天我們用一個小故事說明,
中集集團助力國際知名航運企業果汁船罐體項目高效交付 - 天天要聞

中集集團助力國際知名航運企業果汁船罐體項目高效交付

近日,中集集團旗下中集醇科與中集世聯達協同聯動,圓滿完成了國際知名航運企業果汁船的罐體交付工作。該項目的啟動,源於中集醇科為這家國際知名航運企業量身定製的果汁船系統工程。項目涵蓋14個大型果汁罐的製造,以及分批次短駁、吊裝、運輸、清關和安裝