⑴ 請問編寫軟體的第一個語言程序是如何誕生的
早期的計算機軟體都是用匯編語言直接編寫的,這種狀況持續了數年。當人們發現為不同類型的CPU編寫可重用軟體的開銷要明顯高於編寫編譯器時,人們發明了高級編程語言。由於早期的計算機的內存很少,當大家實現編譯器時,遇到了許多技術難題。
大約在20世紀50年代末期,與機器無關的編程語言被首次提出。隨後,人們開發了幾種實驗性質的編譯器。第一個編譯器是由Grace Hopper於1952年為A-0語言編寫的。通常認為,1957年由IBM的約翰·巴科斯領導的FORTRAN團隊介紹了第一個完整的編譯器。1960年,COBOL成為一種較早的能在多種架構下被編譯的語言。
高級語言在許多領域流行起來。由於新的編程語言支持的功能越來越多,計算機的架構越來越復雜,這使得編譯器也越來越復雜。
早期的編譯器是用匯編語言編寫的。首個能編譯自己源程序的編譯器是在1962年由麻省理工學院的Hart和Levin製作的。從20世紀70年代起,實現能編譯自己源程序的編譯器變得越來越可行,不過還是用Pascal和C語言來實現編譯器更加流行。製作某種語言的第一個能編譯器,要麼需要用其它語言來編寫,要麼就像Hart和Levin製作Lisp編譯器那樣,用解釋器來運行編譯器。
引自 : 維基網路
⑵ 世界上第一個程序是怎麼編出來的
電子計算機的第一個程序是用電子開關編出來的。
機械計算機的第一個程序是用齒輪編出來的。
算盤和計算尺大家都會用了,不用說就知道了。
⑶ 世界上第一個計算機程序是什麼
世界上第一個程序是1842年寫的,恰好在第一個能被稱為計算機的真正機器。這段代碼的作者是Ada Augusta,被封為Lovelace女伯爵,就是大家所知道的Ada Lovelace。作為世界上第一個計算機程序的作者,她被廣泛地認為是有史以來第一位程序員。
當把Ada稱為一位程序員的時候,很容易忘記世界上第一段代碼產生的年代就是塞繆爾·莫爾斯首次展示電話、阿姆斯達號上的黑奴在反抗和美國正處於三十年代、奧斯曼帝國和波斯帝國時期、穆斯林國家的奴隸正和埃及爭奪中東地區的年代。計算機這個詞在那時候仍然表示一個人做了100多年的計算工作的意思。那都是很久以前的事情了。
世界上第一段代碼是為查爾斯·巴貝奇的分析機寫的,這個機器從來沒有真正建成過,雖然有這個可能。Ada Lovelace看到了巴貝奇機器的潛力,產生了可編程的計算機的念頭。她為泰勒的科學回憶錄翻譯了一位義大利數學家Luigi Menabrea的名為「分析機的概念圖」的論文,並通過「翻譯者的附註(她自己注釋的)」把這篇論文弄懂了,那個注釋里主要寫了查爾斯·巴貝奇分析機都能幹些什麼。在附註G的開篇,就提到了世界上第一個計算機程序,舉例說明了Lovelace意識到巴貝奇的設計是多麼的意義深遠,但還保持著她做科學的平靜。
「防止誇大源於分析機的能量的想法是有必要的。」
Lovelace在她根本沒有辦法誇大一個包含現代計算機的主要部分的設計的本質。巴貝奇拒絕公布這台分析機的很多內容,使得Lovelace的注釋對未來的發展起到了重要影響,最顯著的影響便是促使阿蘭·圖靈產生通用程序存儲計算機的想法。這一點Ada並沒有看到,她36歲去世,前面提到的注釋成了她唯一的出版物。如果她再能多活幾年多工作幾年,計算機會不會又是另一個樣子呢?
讓大家回到這個問題上來:如果巴貝奇有足夠的資源建好分析機並能讓Lovelace在上面跑程序的話,世界上第一個計算機程序是幹嘛用的呢?這個程序讓巴貝奇分析機計算了伯努利數字序列。接著她描述了怎麼把大量的巴貝奇分析機的穿孔卡片作為輸入實現這個程序。在她的實現方法中Lovelace設定了伯努利數序列的第一個數字(B0=1,B1=-),然後開始從B2(第一個非正規伯努利數)開始計算整個序列,她把這里的B2標記為B1。
現代重寫的Javascript版本的Ada的大量穿孔卡片上的堆棧看起來可能是這個樣子。這個重寫的版本不是Ada的代碼在巴貝奇分析機上的模擬,只是Ada曾經使用過的演算法的另一種實現。
順便提一下,到目前為止從沒有人能從Ada的伯努利數計算代碼里發現任何bug。盡管她發明了編程,但她顯然並沒有發明bug。
註:Ada Lovelace Day是一個國際性的慶祝婦女在科學,科技,工程和數學領域取得成就的節日。