㈠ 如何自創一門編程語言
從你的描述來看,自創一門編程語言是非常困難的。現在的編程語言都是幾十年前研究人員做出來的,他們為編程語言做出了很大的貢獻。
如果自創一門編程語言的話,幾乎是不可能的,就算一個國家,集一國之力也很難做出來。
㈡ 像c++這樣的編程語言是怎麼創造出來的
編程語言的發展是隨著硬體一起發展的,最初沒有當前成熟的101鍵盤前,技術人員是無法用字母輸入命令和語句的,顯然也不存在任何高級語言的。
機械計算機我就不談了,太遙遠,第一台電子計算機是ENIAC是1946年製造的,開始用的是連接線,後來用的是打孔機,以紙帶作為輸入,一根紙帶邊上是齒孔用於步進電機帶動紙帶,類似現在的針式列印機的紙張,當然紙帶比針式列印機紙張窄,編程人員事先寫好二進制指令的編碼和數據,逐一在紙帶上打孔,比如一個指令和數據是8位,如果是1,則打一個孔,如果是0則不打孔,打完一個位元組讓步進電機進一格,打後面一個數據。所有程序代碼和數據打完,將紙帶裝到計算機的讀入設備中並逐一讀入並運行,當時還沒有存儲器,所以執行完如果需要再運算一遍,要復位重新裝紙帶。當然如果程序要改寫就得重新打一卷紙帶。
這就是電子計算機最原始的編程(機械計算機則還要麻煩),後來有了存儲器,還是用紙帶輸入程序,然後可以重復運算,因為輸入的指令和數據都存入存儲器了,不需要再跑一遍(真正意義的跑)。此時程序員編寫的程序都是機器語言,形式就是二進制碼
類似這樣
01010100
11001101
01101010
...
後來人們覺得這樣很麻煩,考慮到一種CPU的指令都是固定,如果有一種簡單容易能幫助記憶符號來代替一串二進制就方便多了,因此設計出了匯編語言,因此匯編指令稱為助記符,比如MOV,ADD,JMP等等。這時候就需要一種新的輸入設備代替打孔機,而且能直接連接在計算機上,之後隨著晶體管的發展,單片機出現,一個按鈕代表一個指令,同時結合數碼鍵(0-9,A-F)輸入16進制數據,讓設備轉成二進制數據,這應該算最早的編譯器了,屬於硬體編譯器。
再之後,人們發現計算機不僅可以處理數據,還可以處理文本,因此有了ASC碼,ASC碼也發展了好幾代,既然可以處理文本,隨著計算機設備的發展,把打字機鍵盤復制過來,擴展單片機的按鈕,這樣計算機鍵盤的雛形出現了,取消了專用匯編指令鍵,而改用程序來翻譯輸入的文本,比如單個匯編指令MOV改用鍵盤輸入這三個字母的文本,由翻譯程序翻譯成二級制碼,這應該是最早的源代碼了,而這個翻譯程序最先當然還是用單片機開發的,而這個翻譯程序就是最早的匯編指令編譯器了。
有了匯編指令編譯器,人們可以直接通過鍵盤輸入匯編指令,由編譯器編譯成二級制碼執行程序,有了匯編編譯器,人們不僅直接用於各種科研運算,而且開發了更高級的語言了,那麼後來各種語言蓬勃發展起來了,在C語言前還有A,B,以及其他高級語言陸續出現,比如1954年的Fortran。
所以你可以看到,技術都是迭代發展的,你只要學習到足夠的知識,可以用任何語言開發你的編譯器,當然這可是件不簡單的任務,同時,所開發的編譯器受你所用的語言限制。
㈢ 如何自創一門編程語言
我也有這種想法,不過我查過很多資料,要想自己創造一門編程語言(我說的是中文編程語言),需要從頭開始,比如,從機器代碼開始,創造出中文的匯編語言,然後從中文匯編語言創造出高級中文編程語言。編程語言是為了讓計算機知道我們到底想讓它做些什麼。所以從頭開始是最簡單的事情,但也是最難的事情,單單是其中低級轉到高級語言中的轉換解釋就需要很多知識。我說的不是那種把英文單詞改成中文單詞那種。而是改變結構,語法分析等等。現在我還在研究,但是很多東西真的不懂。因為不是母語,所以看不懂英文教材。也記不住基本的英文指令代碼。更加不理解到底是什麼意思。哎。加油。
㈣ 編程語言Python是怎麼發明出來的
自從20世紀90年代初Python語言誕生至今,它已被逐漸廣泛應用於系統管理任務的處理和Web編程。
Python的創始人為Guido van Rossum。1989年聖誕節期間,在阿姆斯特丹,Guido為了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,做為ABC 語言的一種繼承。之所以選中Python(大蟒蛇的意思)作為該編程語言的名字,是因為他是一個叫Monty Python的喜劇團體的愛好者。
ABC是由Guido參加設計的一種教學語言。就Guido本人看來,ABC 這種語言非常優美和強大,是專門為非專業程序員設計的。但是ABC語言並沒有成功,究其原因,Guido 認為是其非開
標識
放造成的。Guido 決心在Python 中避免這一錯誤。同時,他還想實現在ABC 中閃現過但未曾實現的東西。
就這樣,Python在Guido手中誕生了。可以說,Python是從ABC發展起來,主要受到了Mola-3(另一種相當優美且強大的語言,為小型團體所設計的)的影響。並且結合了Unix shell和C的習慣。
Python[4] 已經成為最受歡迎的程序設計語言之一。2011年1月,它被TIOBE編程語言排行榜評為2010年度語言。自從2004年以後,python的使用率呈線性增長[5] 。
由於Python語言的簡潔性、易讀性以及可擴展性,在國外用Python做科學計算的研究機構日益增多,一些知名大學已經採用Python來教授程序設計課程。例如卡耐基梅隆大學的編程基礎、麻省理工學院的計算機科學及編程導論就使用Python語言講授。眾多開源的科學計算軟體包都提供了Python的調用介面,例如著名的計算機視覺庫OpenCV、三維可視化庫VTK、醫學圖像處理庫ITK。而Python專用的科學計算擴展庫就更多了,例如如下3個十分經典的科學計算擴展庫:NumPy、SciPy和matplotlib,它們分別為Python提供了快速數組處理、數值運算以及繪圖功能。因此Python語言及其眾多的擴展庫所構成的開發環境十分適合工程技術、科研人員處理實驗數據、製作圖表,甚至開發科學計算應用程序。
說起科學計算,首先會被提到的可能是MATLAB。然而除了MATLAB的一些專業性很強的工具箱還無法替代之外,MATLAB的大部分常用功能都可以在Python世界中找到相應的擴展庫。和MATLAB相比,用Python做科學計算有如下優點:
● 首先,MATLAB是一款商用軟體,並且價格不菲。而Python完全免費,眾多開源的科學計算庫都提供了Python的調用介面。用戶可以在任何計算機上免費安裝Python及其絕大多數擴展庫。
● 其次,與MATLAB相比,Python是一門更易學、更嚴謹的程序設計語言。它能讓用戶編寫出更易讀、易維護的代碼。
● 最後,MATLAB主要專注於工程和科學計算。然而即使在計算領域,也經常會遇到文件管理、界面設計、網路通信等各種需求。而Python有著豐富的擴展庫,可以輕易完成各種高級任務,開發者可以用Python實現完整應用程序所需的各種功能。