-
1 # 華語天地1990
-
2 # 程式碼的藝術
可以的,程式設計軟體是集成了編輯器、編譯器、偵錯程式等眾多功能於一身的整合開發環境,俗稱IDE。
接著我們從程式設計軟體的實現角度來看,軟體是使用某一種具體語言開發而成,比如c++。首先用c++語言規範書寫需要實現的功能,然後經過預處理、編譯、彙編、連結,最終生成可以在目標機器上執行的程式。
然後我們回到問題本身,拿大名鼎鼎的gcc 來說,Linux下大多數的c/c++語言開發的程式都離不開它。那麼,gcc又是用什麼開發的呢?這是不是有點類似,先有雞還是先有蛋的問題。
其實,現代的編譯器都有自舉的功能,就是說可以拿上一代成熟的編譯器,開發新一代的編譯器。新版的gcc就是拿上一版的自己開發而成。
因此,依此類推,拿一套功能完善的程式設計軟體是可以編寫它本身的。
-
3 # 餘志翔
程式設計軟體是編寫記錄生成軟體的工具。如果把軟體當做一個產品比如刀這個產品,那麼程式設計軟體就是生產這把刀錘子和爐具,最開始生產刀的工具很原始,所以第一把刀是石頭的,人們用這把刀除了殺野獸,也可以挖土,從而讓人們有了第一個鍊鐵的土爐。從這個土爐人們生產出了第一把青銅鐵刀。。。。軟體和程式設計軟體也是一樣,最開始人們生產音樂盒,天文觀測臺都是靠木匠師傅的工具來製作具有簡單程式的音樂盒及時鐘。。。。隨著科技的發展出現了半導體,人們開始用半導體搭建一些簡單功能程式的產品,比如打孔機,手搖計算器等,當然那個時代程式設計軟體還不是自動的還是要靠人們手工製作,程式過程記錄在紙上,儲存這些程式需要大量的紙張和房間。後來出現了積體電路,積體電路出現了有記憶功能的儲存器,這就代替了紙張把程式存在了半導體內,後來出現了硬碟,硬碟就更能儲存更多程式資料了。給予硬體的發展,程式設計工具慢慢就從圖紙手繪轉入了電腦繪製了,電腦裡也就開始出現了簡單的編譯器。原始的軟體程式設計是,人們在text裡按規則寫好程式,然後透過一個asm編譯器將文字轉譯成機器碼,這個機器碼再透過下載工具下載到儲存器裡或者卡帶裡,然後CPU讀取卡帶開始自動執行程式,人們為了開發更高階的更自動的軟體,又開發出功能更多的程式設計軟體,在程式設計軟體裡可以寫程式碼,編譯等而不需要像最初那樣在text裡寫,並且程式設計軟體有糾錯功能,text是沒有的.....所以軟體可以促進程式設計軟體的升級,程式設計軟體又可以開發出更高階智慧的軟體。程式設計軟體和軟體互相促進從而達到了今天的水平。後面所謂的AI就是讓擁有高度智慧軟體的機器人擁有自我程式設計能力,一旦機器人擁有自我程式設計能力那麼機器人將能脫離人類自我發展。如果還有不明白軟體和程式設計軟體的人可以私我。抬槓的請繞道,沒時間抬槓。
-
4 # 駭客技術棧
首先回答題主的疑問,程式語言是可以編寫自身的。歷史上所有程式語言都是透過別的程式編譯連結自己,然後再透過自己重寫自己!
接下來舉例說明,比如C語言,歷史上C語言是在B語言的基礎上設計出了C語言,透過B語言編譯出C語言的編譯器,然後又通通C語言的編譯器,自我更新。
所以說程式語言是可以編寫自身的!而且一些簡單的測試demo是很容易編寫的,題主也可以嘗試一下哦!
回覆列表
如果你說的程式設計軟體是指編譯器或直譯器的話,那是可以的。舉個例子,go語言最早是透過C語言實現的,然後之後的版本就是透過go語言實現,也就是所謂的自舉。
所以理論上你完全可以透過一門語言去設計一門新的語言,然後寫出它的編譯器或直譯器。當這個新語言所有的規定都和原語言一樣,你就可以認為它實現了自己。