第一台編譯器多久能發明
⑴ 計算機語言發展史
【摘要】
本文以自然辯證的觀點探討了計算機語言的發展歷程,運用自然辯證法的基本理論、基本方法,系統分析了計算機語言的發展歷史、現狀和未來。並對其的發展趨勢和未來模式做了探索性研究和預測,同時以哲學的觀點闡述其發展的因果關系,揭示其事物發展的共性問題;最後文章介紹了在計算機語言發展歷程中做出傑出貢獻的科學家,以其在計算機事業中的突出表現來折射出人類智慧的偉大,以其不平凡的一生來激勵和指導我們在計算機語言的發展中向著正確的方向前進。
【關鍵字】
自然辯證法 計算機語言 計算機技術 編程語言 網際網路 面向對象
正文
一九九三年美國的柯林頓政府提出了「信息高速公路」計劃,從而在這十多年間在全球范圍內引發了一場信息風暴,信息技術幾乎觸及了現代生活的方方面面,毫不誇張的說沒有了信息技術,現代文明的生活將無從談起;作為信息技術中最重要的部分,計算機技術無疑是其發展的核心問題,而我們知道計算機只是一台機器,它只能按照計算機語言編好的程序執行,那麼正確認識計算機語言的過去和未來,就是關繫到計算機發展的重中之重;以自然辯證法的觀點認識和分析計算機語言的發展歷程,將有助於更加全面地推動計算機技術的發展,有助於更加准確地掌握計算機語言發展趨勢。
一、科學認識大門的鑰匙--當代自然辯證法
自然辯證法,是馬克思主義對於自然界和科學技術發展的一般規律以及人類認識自然改造自然的一般方法的科學,是辯證唯物主義的自然觀、科學技術觀、科學技術方法論。它主要研究自然界發展的總規律,人與自然相互作用的規律,科學技術發展的一般規律,科學技術研究的方法。
馬克思、恩格斯全面地、系統地概括了他們所處時代的科學技術成功,批判吸取了前人的合理成分,系統地論述了辯證唯物主義自然觀、自然科學發展過程及其規律性,以及科學認識方法的辯證法,以恩格斯的光輝著作《自然辯證法》為標志,創立了自然辯證法繼續發展的廣闊道路。
自然辯證法是馬克思主義哲學的一個重要組成部分。在辯證唯物主義哲學體系中,自然辯證法與歷史唯物論相並列。它集中研究自然界和科學技術的辯證法,是唯物主義在自然界和科學技術領域中的應用,它的原理和方法主要適用於自然領域和科學技術領域。
學習和運用自然辯證法將有助於我們搞清科學和哲學的關系,從而更加清楚地認識科學的本質和發展規律,更加全面的觀察思考問題,只有加深了認識,我們才能更好地發揮主觀能動性,迎接新的科學技術的挑戰。下面我將以自然辯證法的觀點來分析計算機語言的發展歷程。
二、計算機語言的發展歷程和發展趨勢
計算機語言的發展是一個不斷演化的過程,其根本的推動力就是抽象機制更高的要求,以及對程序設計思想的更好的支持。具體的說,就是把機器能夠理解的語言提升到也能夠很好的模仿人類思考問題的形式。計算機語言的演化從最開始的機器語言到匯編語言到各種結構化高級語言,最後到支持面向對象技術的面向對象語言。
1、計算機語言的發展歷史: 二十世紀四十年代當計算機剛剛問世的時候,程序員必須手動控制計算機。當時的計算機十分昂貴,唯一想到利用程序設計語言來解決問題的人是德國工程師楚澤(konrad zuse)。幾十年後,計算機的價格大幅度下跌,而計算機程序也越來越復雜。也就是說,開發時間已經遠比運行時間來得寶貴。於是,新的集成、可視的開發環境越來越流行。它們減少了所付出的時間、金錢(以及腦細胞)。只要輕敲幾個鍵,一整段代碼就可以使用了。這也得益於可以重用的程序代碼庫。隨著c,pascal,fortran,等結構化高級語言的誕生,使程序員可以離開機器層次,在更抽象的層次上表達意圖。由此誕生的三種重要控制結構,以及一些基本數據類型都能夠很好的開始讓程序員以接近問題本質的方式去思考和描述問題。隨著程序規模的不斷擴大,在60年代末期出現了軟體危機,在當時的程序設計模型中都無法克服錯誤隨著代碼的擴大而級數般的擴大,以至到了無法控制的地步,這個時候就出現了一種新的思考程序設計方式和程序設計模型-----面向對象程序設計,由此也誕生了一批支持此技術的程序設計語言,比如eiffel,c++,java,這些語言都以新的觀點去看待問題,即問題就是由各種不同屬性的對象以及對象之間的消息傳遞構成。面向對象語言由此必須支持新的程序設計技術,例如:數據隱藏,數據抽象,用戶定義類型,繼承,多態等等。
2、計算機語言的發展現狀:目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的vb、vc、foxpro、delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類: 解釋類和編譯類。
3、計算機語言的發展趨勢:面向對象程序設計以及數據抽象在現代程序設計思想中佔有很重要的地位,未來語言的發展將不在是一種單純的語言標准,將會以一種完全面向對象,更易表達現實世界,更易為人編寫,其使用將不再只是專業的編程人員,人們完全可以用訂制真實生活中一項工作流程的簡單方式來完成編程。下面是一張計算機語言發展圖表,從中不難得出計算機語言發展的特性:
² 簡單性
提供最基本的方法來完成指定的任務,只需理解一些基本的概念,就可以用它編寫出適合於各種情況的應用程序
² 面向對象
提供簡單的類機制以及動態的介面模型。對象中封裝狀態變數以及相應的方法,實現了模塊化和信息隱藏;提供了一類對象的原型,並且通過繼承機制,子類可以使用父類所提供的方法,實現了代碼的復用
² 安全性
用於網路、分布環境下有安全機制保證。
² 平台無關性
與平台無關的特性使程序可以方便地被移植到網路上的不同機器、不同平台。
三、面向未來的漢語程序設計語言:
從計算機誕生至今,計算機自硬體到軟體都是以印歐語為母語的人發明的。所以其本身就帶有印歐語的語言特徵,在硬體上cpu、i/o、存儲器的基礎結構都體現了印歐語思維狀態的"焦點視角",精確定義,分工明確等特點。計算機語言也遵照硬體的條件,使用分析式的結構方法,嚴格分類、專有專用,並在其發展脈絡中如同他們的語言-常用字量和歷史積累詞庫量極度膨脹。實際上,計算機硬體的發展越來越強調整體功能,計算機語言的問題日益突出。為解決這一矛盾,自六十年代以來相繼有500多種計算機語言出現,歷經五代,至今仍在變化不已。
漢語沒有嚴格的語法框架,字詞可以自由組合、突出功能的整體性語言。在計算機語言問題成為發展瓶頸的今天,漢語言進入計算機程序設計語言行列,已經成為歷史的必然。
1、 發展漢語程序設計語言的理由:
1)計算機語言問題解決,只能從人類語言中尋找解決方案;
2)計算機語言的現存問題是形式狀態與功能需求的矛盾;
3)計算機硬體的發展已為整體性語言-漢語進入計算機程序設計語言提供了條件
2、 漢語程序設計語言的技術特點:
1)漢文字的常用字高度集中,生命力極強,能靈活組合,簡明准確地表達日新月異的詞彙,這些優點是拼音文字無法企及的。
2)漢語言的語法簡易靈活,語詞單位大小和性質往往無一定規,可隨上下語境和邏輯需要自由運用。漢語言的思維整體性強,功能特徵突出。
3)漢語程序設計語言的發明者採用核心詞庫與無限寄存器相結合的方法,實現了漢語言的詞素自由組合;將編譯器與解釋器合一,使漢語程序設計語言既能指令又能編程;以獨特的虛擬機結構設計,將數據流與意識流分開,達到漢語程序設計語言與漢語描述完全一致,通用自如。
具有漢語言特性的漢語程序設計語言的出現,打破了漢語言不具備與計算機結合的條件而不能完成機器編碼的神話。還為計算機科學與現代語言學研究提出了一條嶄新的路徑,它從計算機語言的角度,從嚴格的機械活動及周密的演算法上,向世人證實漢語的特殊結構狀態,及其特殊的功能。
四、計算機語言之父——尼蓋德
尼蓋德幫助網際網路奠下了基礎,為計算機業做出了巨大貢獻。
尼蓋德是奧斯陸大學的教授,因為發展了simula編程語言,為ms-dos和網際網路打下了基礎而享譽國際。克里斯汀·尼蓋德於1926年在奧斯陸出生,1956年畢業於奧斯陸大學並取得數學碩士學位,此後致力於計算機計算與編程研究。
1961年~1967年,尼蓋德在挪威計算機中心工作,參與開發了面向對象的編程語言。因為表現出色,2001年,尼蓋德和同事奧爾·約安·達爾獲得了2001年a.m.圖靈機獎及其它多個獎項。當時為尼蓋德頒獎的計算機協會認為他們的工作為java,c++等編程語言在個人電腦和家庭娛樂裝置的廣泛應用掃清了道路,「他們的工作使軟體系統的設計和編程發生了基本改變,可循環使用的、可靠的、可升級的軟體也因此得以面世。」
尼蓋德因其卓越的貢獻,而被譽為「計算機語言之父」,其對計算機語言發展趨勢的掌握和認識,以及投身於計算機語言事業發展的精神都將激勵我們向著計算機語言無比燦爛的明天前進。
五、結束語
用科學的邏輯思維方法認識事物才會清楚的了解其過去、現在和未來,計算機語言的發展同樣遵循著科學技術發展的一般規律,以自然辯證法的觀點來分析計算機語言,有助於我們更加深入地認識計算機語言發展的歷史、現狀和趨勢,有了自然辯證法這把開啟科學認識大門的鑰匙,我們將回首過去、把握現在、放眼未來,正確地選擇計算機語言發展的方向,更好的學習、利用和發展計算機語言。
六、致謝
首先感謝張老師,張老師幽默的講解和精煉的內容使我受益匪淺,使我對以後的工作和生活有了更深刻的認識。另外要感謝本文所參考的文獻的作者和相關網站。最後還要感謝在我寫論文過程中提供無私幫助的人們,以及給我支持的家人和朋友。
參考文獻
1.《計算機語言與計算機程序發展歷史》博客中國網
2.《計算機發展史》 上海科學技術出版社
3.《軟體發展與社會進步》蔡希堯
4.《自然辯證法概論》 北京航空航天大學出版社
5.《資料庫發展新技術》 磊哲
6. 《漢語程序設計語言》陳雲牧
參考資料:
http://www.yeshare.com/LW/1/qq%2Dsun12406/
計算機語言發展史圖片:(英文)
http://skyivben.cnblogs.com/archive/2005/12/13/255777.html
這篇文章也值得一看:
http://www.boyacode.com/showart.asp?art_id=2941
⑵ 請問,編譯軟體最早是由誰發明出來的
Grave of Grace
後記
Grace Hopper是個非常amazing的人 (常被稱為Amazing Grace),崇拜她的人相當多。雖然她的事跡很多,但是還有很多有類似事跡的人並沒有像她這樣受到眾人的崇拜。由其中一點我們可以看出來:從1947年開始 (二戰結束後第二年),她獲得了第一個榮譽博士學位 (賓州大學),從那以後,她先後被40多所大學授予榮譽博士學位,其中包括芝加哥大學、華盛頓大學、馬里蘭大學等知名學府。各種婦女社會團體和學術組織都曾授予Grace各種稱號和獎勵。1991年,布希總統在白宮授予她的「美國國家技術獎」 (National Medal of Technology) 是其中的最高獎項,她也是至今惟一獲此殊榮的美國女性。她的名言有很多,她自己最喜歡的,也是她最喜歡對所謂的「年輕人」說的 (在她年老時,她所謂的年輕人就是「年齡不到我的一半的人就叫做年輕人」),這句話是:
「A ship in port is safe, but that is not what ships are built for.」
語錄
下面Grace的語錄中有幾句比較有意思的話。
From then on, when anything went wrong with a computer, we said it had bugs in it.
The most dangerous phrase in the language is, 「We』ve always done it this way.」
Humans are allergic to change. They love to say, 「We』ve always done it this way.」 I try to fight that. That』s why I have a clock on my wall that runs counter-clockwise.
Leadership is a two-way street, loyalty up and loyalty down. Respect for one』s superiors; care for one』s crew.
One accurate measurement is worth a thousand expert opinions.
Someday, on the corporate balance sheet, there will be an entry which reads, 「Information」; For in most cases, the information is more valuable than the hardware which processes it.
We』re flooding people with information. We need to feed it through a processor. A human must turn information into intelligence or knowledge. We』ve tended to forget that no computer will ever ask a new question.
To me programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge.
They told me computers could only do arithmetic.
In pioneer days they used oxen for heavy pulling, and when one ox couldn』t budge a log, they didn』t try to grow a larger ox. We shouldn』t be trying for bigger computers, but for more systems of computers.
Life was simple before World War II. After that, we had systems.
We went overboard on management and forgot about leadership. It might help if we ran the MBAs out of Washington.
At any given moment, there is always a line representing what your boss will believe. If you step over it, you will not get your budget. Go as close to that line as you can.
I seem to do a lot of retiring.
I handed my passport to the immigration officer, and he looked at it and looked at me and said, 「What are you?」
參考
維基網路:
http://en.wikipedia.org/wiki/Grace_Hopper
國立中央大學數學系:
http://li.math.ncu.e.tw/bcc16/pool/3.06.shtml
耶魯大學計算機系:
http://cs-www.cs.yale.e/homes/tap/Files/hopper-story.html
計算機先驅:
http://202.207.0.245:9001/jisuanjifazhanshi/xianqu/18.htm
This entry was posted in網路3Cand taggedcompiler,debug,Grace Murray Hopper,傳記,發明,編譯器,起源. Bookmark thepermalink.Post a commentor leave a trackback:Trackback URL.
⑶ 電腦軟體的發展史
電腦軟體的發展史
第一代軟體(1946-1953)
第一代軟體是用機器語言編寫的,機器語言是內置在計算機電路中的指令,由0和1組成。
第二代軟體(1954-1964)
當硬體變得更強大時,就需要更強大的軟體工具使計算機得到更有效地使用。匯編語言向正確的方向前進了一大步,但是程序員還是必須記住很多匯編指令。
第三代軟體(1965-1970)
在這個時期,由於用集成電路取代了晶體管,處理器的運算速度得到了大幅度的提高,處理器在等待運算器准備下一個作業時,無所事事。因此需要編寫一種程序,使所有計算機資源處於計算機的控制中,這種程序就是操作系統。
第四代軟體(1971-1989)
20世紀70年代出現了結構伍辯化程序設計技術,Pascal語言和Mola-2語言都是採用結構化程序設計規則制定的,Basic這種為第三代計算機設計的語言也被升級為具有結構化的版本,此外,還出現了靈活且功能強大的C語言。
第五代軟體(1990-至今)
第五代軟體中有三個著名事件:在計算機軟體業具有主導地位的Microsoft公司的崛起、面向對象的程序設計方法的出現以及萬維網(World Wide Web)的普及。
(3)第一台編譯器多久能發明擴展閱讀
依據許可方式的不同,大致可將軟體區分為幾類:
1、專屬軟體:
此類授權通常不允許用戶隨意的復散橘橘制、研究、修改或散布該軟體。違反此類授權通常會有嚴重的法律責任。傳統的商業軟體公司會採用此類授權,例如微軟的Windows和辦公軟體。專屬軟體的源碼通常被公司視為私有財產而予以嚴密的保護。
2、自由軟體:
此類授權正好與專屬軟體相反,賦予用戶復制、研究沖團、修改和散布該軟體的權利,並提供源碼供用戶自由使用,僅給予些許的其它限制。以Linux、Firefox 和OpenOffice 可做為此類軟體的代表。
3、共享軟體:
通常可免費的取得並使用其試用版,但在功能或使用期間上受到限制。開發者會鼓勵用戶付費以取得功能完整的商業版本。根據共享軟體作者的授權,用戶可以從各種渠道免費得到它的拷貝,也可以自由傳播它。
4、免費軟體:
可免費取得和轉載,但並不提供源碼,也無法修改。
5、公共軟體:
原作者已放棄權利,著作權過期,或作者已經不可考究的軟體。使用上無任何限制。