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

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語言生萬物,現在就是多生萬物。這就是計算機技術發展的過程。

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

科技分類資訊推薦

iPhone 17 Pro Max 電池容量曝光,太猛了! - 天天要聞

iPhone 17 Pro Max 電池容量曝光,太猛了!

iPhone 17 系列還有兩個多月就會發佈,外觀啥的通過之前的爆料各位應該都有基本的了解,簡單總結就是: ■ 標準版外觀基本不變,尺寸提升; ■ iPhone 17 Air 取....
數智結合為電網裝上「超級大腦」 - 天天要聞

數智結合為電網裝上「超級大腦」

國網杭州供電有限公司打造的全國首個「無人車+機器狗」一體化巡檢系統。在全球能源結構與電力系統轉型的浪潮中,人工智能(AI)技術的加入,讓能源系統迎來前所未有的「數字覺醒」。人工智能積極融入新型電力系統「當前,我們同時處於新型電力系統建設的關
全球人工智能科研態勢報告發佈 描繪核心技術路線變化 - 天天要聞

全球人工智能科研態勢報告發佈 描繪核心技術路線變化

中新網北京7月3日電 (記者 張素)7月3日,基於高質量論文數據系統分析人工智能科研演進的報告——《全球人工智能科研態勢報告(2015-2024)》(下稱《報告》),在北京舉辦的2025全球數字經濟大會上發佈。 《報告》由聯合國工業發展組織投資和技術促進辦公室與東壁科技數據聯合發佈。撰寫團隊基於東壁指數評價體系,對2015-2024...
小鵬G7發佈磁吸紙巾盒:售價75元 不到小米一半 - 天天要聞

小鵬G7發佈磁吸紙巾盒:售價75元 不到小米一半

快科技7月3日消息,今晚小鵬G7的發佈會上,小鵬還推出了一款磁吸紙巾盒,可以通過磁吸點位布置在車內,穩定不會掉。紙巾盒品牌為basa,材料為PU革+超纖,除了能放在車上之外,也能輕鬆磁吸在冰箱等金屬材質上使用。值得注意的是,小鵬這款紙巾盒定價只要75元。作為對比,小米YU7上的配套磁吸紙巾盒則是要169元。昨晚雷軍也...
美國芯片廠投產推遲、1.4nm延期 三星先進制程代工已遭台積電全面碾壓? - 天天要聞

美國芯片廠投產推遲、1.4nm延期 三星先進制程代工已遭台積電全面碾壓?

智通財經APP獲悉,據報道,三星(SSNLF.US)位於美國的第二座先進制程芯片製造工廠投產時間將從原定的2024年推遲至2026年,主要原因是當地客戶需求不足。這家韓國芯片巨頭曾宣布將在未來數年向得克薩斯州投資逾370億美元。去年12月,拜登政府根據《芯片與科學法案》批准向其提供高達47億美元的補貼。一位知情人士表示:「(泰...
小鵬G7 Ultra算力全球第一!搭載三顆圖靈AI芯片 2250Tops - 天天要聞

小鵬G7 Ultra算力全球第一!搭載三顆圖靈AI芯片 2250Tops

快科技7月3日消息,今晚小鵬G7正式發佈,推出Ultra和Max兩個版本:小鵬G7 Max版:搭載2顆Orin-X芯片;小鵬G7 Ultra版:搭載3顆圖靈AI芯片,有效算力2250Tops,全球第一!據介紹,小鵬G7全系標配圖靈AI智能輔助駕駛,號稱行業最強!小鵬G7能自主識別ETC、通行閘機,城區到高速全程體驗無斷點,讓智駕覆蓋出行全場景。它還行...
橋耐DisplayPort2.1 80Gbps線纜體驗 最高規範的視頻信號「高速公路」 - 天天要聞

橋耐DisplayPort2.1 80Gbps線纜體驗 最高規範的視頻信號「高速公路」

【ZOL中關村在線原創評測】近年來,顯示設備的性能不斷提升,高分辨率、高刷新率的顯示器逐漸成為市場主流。但要充分發揮這些顯示器的潛力,不僅要有高性能顯卡的支持,一條優質的顯示信號線至關重要。近日,知名的線材廠商橋耐推出了經過VESA認證的DisplayPort2.1(簡稱DP2.1)線纜,成為專業視頻創作和高端電競用戶的必備...