著名編程語言
A. 人工智慧用的編程語言是哪些
人工智慧用的編程語言:python、java、Lisp、Prolog、C ++、Yigo。
1、Python由於簡單易用,是人工智慧領域中使用最廣泛的編程語言之一,它可以無縫地與數據結構和其他常用的AI演算法一起使用。Python之所以時候AI項目,其實也是基於Python的很多有用的庫都可以在AI中使用。
2、Java也是AI項目的一個很好的選擇。它是一種面向對象的編程語言,專注於提供AI項目上所需的所有高級功能,它是可移植的,並且提供了內置的垃圾回收。另外Java社區也是一個加分項,完善豐富的社區生態可以幫助開發人員隨時隨地查詢和解決遇到的問題。一。
3、Lisp因其出色的原型設計能力和對符號表達式的支持在AI領域嶄露頭角。LISP作為因應人工智慧而設計的語言,是第一個聲明式系內函數式程序設計語言,有別於命令式系內過程式的C、Fortran和面向對象的Java、C#等結構化程序設計語言
B. 編程都有哪些語言
計算機編程語言
計算機語言:計算機語言通常是一個能完整、准確和規則地表達人們的意圖,並用以指揮或控制計算機工作的「符號系統」。
計算機語言通常分為三類:即機器語言,匯編語言和高級語言。
1. 機器語言
機器語言是用二進制代碼表示的計算機能直接識別和執行的一種機器指令的集合。它是計算機的設計者通過計算機的硬體結構賦予計算機的操作功能。機器語言具有靈活、直接執行和速度快等特點。
用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令代碼和代碼的涵義。手編程序時,程序員得自己處理每條指令和每一數據的存儲分配和輸入輸出,還得記住編程過程中每步所使用的工作單元處在何種狀態。這是一件十分繁瑣的工作,編寫程序花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,編出的程序全是些0和1的指令代碼,直觀性差,還容易出錯。現在,除了計算機生產廠家的專業人員外,絕大多數程序員已經不再去學習機器語言了。
2.匯編語言
為了克服機器語言難讀、難編、難記和易出錯的缺點,人們就用與代碼指令實際含義相近的英文縮寫詞、字母和數字等符號來取代指令代碼(如用ADD表示運算符號「+」的機器代碼),於是就產生了匯編語言。所以說,匯編語言是一種用助記符表示的仍然面向機器的計算機語言。匯編語言亦稱符號語言。匯編語言由於是採用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼, 而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用匯編語言能面向機器並較好地發揮機器的特性,得到質量較高的程序。
匯編語言中由於使用了助記符號,用匯編語言編制的程序送入計算機,計算機不能象用機器語言編寫的程序一樣直接識別和執行,必須通過預先放入計算機的 「匯編程序「的加工和翻譯,才能變成能夠被計算機識別和處理的二進制代碼程序。用匯編語言等非機器語言書寫好的符號程序稱源程序,運行時匯編程序要將源程序翻譯成目標程序。目標程序是機器語言程序,它一經被安置在內存的預定位置上,就能被計算機的CPU處理和執行。
匯編語言像機器指令一樣,是硬體操作的控制信息,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。匯編語言是低級語言。但是,匯編語言用來編制系統軟體和過程式控制制軟體,其目標程序佔用內存空間少,運行速度快,有著高級語言不可替代的用途。
3.高級語言
不論是機器語言還是匯編語言都是面向硬體的具體操作的,語言對機器的過分依賴,要求使用者必須對硬體結構及其工作原理都十分熟悉,這對非計算機專業人員是難以做到的,對於計算機的推廣應用是不利的。計算機事業的發展,促使人們去尋求一些與人類自然語言相接近且能為計算機所接受的語意確定、規則明確、自然直觀和通用易學的計算機語言。這種與自然語言相近並為計算機所接受和執行的計算機語言稱高級語言。高級語言是面向用戶的語言。無論何種機型的計算機, 只要配備上相應的高級語言的編譯或解釋程序,則用該高級語言編寫的程序就可以通用。
目前被廣泛使用的高級語言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。這些語言都是屬於系統軟體。(了解內容二)
計算機並不能直接地接受和執行用高級語言編寫的源程序,源程序在輸入計算機時,通過「翻譯程序」翻譯成機器語言形式的目標程序,計算機才能識別和執行。這種「翻譯」通常有兩種方式,即編譯方式和解釋方式。編譯方式是:事先編好一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶由高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序,然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。解釋方式是:源程序進入計算機時,解釋程序邊掃描邊解釋作逐句輸入逐句翻譯,計算機一句句執行,並不產生目標程序。PASCAL、 FORTRAN、COBOL等高級語言執行編譯方式;BASIc語言則以執行解釋方式為主;而PASCAL、C語言是能書寫編譯程序的高級程序設計語言。每一種高級(程序設計)語言,都有自己人為規定的專用符號、英文單詞、語法規則和語句結構(書寫格式)。高級語言與自然語言(英語)更接近,而與硬體功能相分離(徹底脫離了具體的指令系統),便於廣大用戶掌握和使用。高級語言的通用性強,兼容性好,便於移植。下面介紹幾種較有代表性的高級程序設計語言:
⑴BASIC語言
BASIC語言全稱是Beginner』s all Purpose Symbolic Instruction Code,意為「初學者通用符號指令代碼「。1964年由美國達爾摩斯學院的基米尼和科茨完成設計並提出了BASIC語言的第一個版本,經過不斷豐富和發展,現已成為一種功能全面的中小型計算機語言。BASIC易學、易懂、易記、易用,是初學者的入門語言,也可以作為學習其他高級語言的基礎。BASIC有解釋方式和編譯方式兩種翻譯程序。
⑵PASCAL語言
PASCAL是一種結構程序設計語言,由瑞士蘇黎世聯邦工業大學的沃斯(N.Wirth)教授研製,於1971年正式發表。是從ALGOL60衍生的,但功能更強且容易使用。目前,作為一個能高效率實現的實用語言和一個極好的教學工具,PASCAL語言在高校計算機軟體教學中一直處於主導地位。 Pascal(B.Pascal)是十七世紀法國著名數學家,他於1642年曾發明現代台式計算機的雛型機—加減法計算機。
PASCAL具有大量的控制結構,充分反映了結構化程序設計的思想和要求,直觀易懂,使用靈活,既可用於科學計算,又能用來編寫系統軟體,應用范圍日益廣泛。
⑶通用編程語言C
C語言是美國AT&T(電報與電話)公司為了實現UNIX系統的設計思想而發展起來的語言工具。C語言的主要特色是兼顧了高級語言和匯編語言的特點,簡潔、豐富、可移植。相當於其他高級語言子程序的函數是C語言的補充,每一個函數解決一個大問題中的小任務,函數使程序模塊化。C語言提供了結構式編程所需要的各種現代化的控制結構。
C語言是一種通用編程語言,正被越來越多的計算機用戶所推崇。使用C語言編寫程序,既感覺到使用高級語言的自然,也體會到利用計算機硬體指令的直接,而程序員卻無需捲入匯編語言的繁瑣。
⑷COBOL語言
COBOL的全稱是Common Business Oriented Language,意即:通用商業語言。
在企業管理中,數值計算並不復雜,但數據處理信息量卻很大。為專門解決經企管理問題,於1959年,由美國的一些計算機用戶組織設計了專用於商務處理的計算機語言COBOL,並於1961年美國數據系統語言協會公布。經不斷修改、豐富完善和標准化,已發展為多種版本。
COBOL語言使用了300多個英語保留字,大量採用普通英語詞彙和句型,COBOL程序通俗易懂,素有「英語語言」之稱。
COBOL語言語法規則嚴格。用COBOL語言編寫的任一源程序,都要依次按標識部、環境部、數據部和過程部四部分書寫,COBOL程序結構的「部」 內包含「節」,「節」內包含「段」,段內包含語句,語句由字或字元串組成,整個源程序象一棵由根到干,由干到枝,由枝到葉的樹,習慣上稱之為樹型結構。
目前COBOL語言主要應用於情報檢索、商業數據處理等管理領域。
常用的高級程序設計語言,除了上述的幾種之外,還有很多,如以英國著名詩人拜倫(G.N.G.Byron)的獨生女艾達·拜倫(Ada Byron)的名字命名的軍用語言Ada,深受中、小學生歡迎的語言LOGO等等。
目前,程序設計語言及編程環境正向面向對象語言及可視化編程環境方向發展,出現了許多第四代語言及其開發工具。如:微軟公司(Microsoft)開發的Visual系列(VC++、VB、FoxPro)編程工具及Power Builder等,目前已經在國內外得到了廣泛的應用。
C. 程序設計高級語言有哪些
高級語言包括很多編程語言,如目前流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,VC,易語言,中文版的C語言習語言等等,這些語言的語法、命令格式都不相同。
程序設計語言的類型:命令式語言,這種語言的語義基礎是模擬「數據存儲/數據操作」的圖靈機可計算模型,十分符合現代計算機體系結構的自然實現方式。
其中產生操作的主要途徑是依賴語句或命令產生的副作用。現代流行的大多數語言都是這一類型,比如Fortran、Pascal、Cobol、C、C++、Basic、Ada、Java、C# 等,各種腳本語言也被看作是此種類型。
高級語言的工作方式:
高級語言設計的程序必須經過「翻譯」以後才能被機器執行。「翻譯」的方法有兩種,一種是解釋,一種是編譯。
解釋是把源程序翻譯一句,執行一句的過程,而編譯是源程序翻譯成機器指令形式的目標程序的過程,再用鏈接程序把目標程序鏈接成可執行程序後才能執行。
解釋翻譯過程。對高級語言程序進行解釋並執行的程序稱為解釋程序(軟體)。它的功能是讀入源程序,按源程序動態邏輯順序進行逐句分析、翻譯,解釋一句執行一句,不產生任何中間代碼,最終得到程序的執行結果。
D. 現在學什麼編程語言
個人推薦python,也看自己喜歡。
Python是一種跨平台的計算機程序設計語言。 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。最初被設計用於編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用於獨立的、大型項目的開發。
Python Web開發非同步請求和後台管理
9607 9'21"
公司文員需要掌握的Python技能
5448 29'4"
Python開發學生管理系統,ORM操作資料庫的初體驗
5096 15'49"
>
Python
計算機程序設計語言
本詞條是多義詞,共2個義項
展開
Python是一種跨平台的計算機程序設計語言。 是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。最初被設計用於編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用於獨立的、大型項目的開發。
中文名
蟒蛇
外文名
Python
別名
膠水語言
經典教材
Head First Python; Automate the Boring Stuff with Python
發行時間
1991年
相關課程
python3 Appium全方位實踐與框架開發
去學習
快速
導航
下載Python
發展歷程
風格
與MATLAB的對比
設計定位
執行
基本語法
幫助
CGI
特點
應用
工具功能
標准庫
開發環境
解釋器
著名應用
庫導入
學習網站
Python簡介及應用領域
Python是一種解釋型腳本語言,可以應用於以下領域:[2]
Web 和 Internet開發
科學計算和統計
人工智慧
桌面界面開發
軟體開發
後端開發
網路爬蟲
下載Python
在您開始之前,你的計算機需要Python,但您可能不需要下載它。首先檢查(在同級目錄下在命令行窗口輸入python)有沒有安裝Python。如果你看到了一個Python解釋器的響應,那麼就能在它的顯示窗口中得到一個版本號。通常的版本都可以做到Python的向前兼容。
如果您需要安裝, 您不妨下載最近穩定的版本。 就是那個以沒有被標記作為alpha或Beta發行的最高的版本。目前最穩定的版本是Python3.0以上[3]
如果你使用的操作系統是Windows:當前最穩定的Windows版本下載是"Python 3.8.3 for Windows"
如果你使用的是Mac,MacOS 10.2 (Jaguar), 10.3 (Panther) and 10.4 (Tiger)已經集成安裝了Python,但是你大概需要安裝最近通用的構架(build)。
對於Red Hat,安裝python2和python2-devel包。
對於Debian,安裝python2.5和python2.5-dev包。
發展歷程
自從20世紀90年代初Python語言誕生至今,它已被逐漸廣泛應用於系統管理任務的處理和Web編程。
Python的創始人為荷蘭人吉多·范羅蘇姆[4] (Guido van Rossum)。1989年聖誕節期間,在阿姆斯特丹,Guido為了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,作為ABC 語言的一種繼承。之所以選中Python(大蟒蛇的意思)作為該編程語言的名字,是取自英國20世紀70年代首播的電視喜劇《蒙提.派森的飛行馬戲團》(Monty Python's Flying Circus)。
ABC是由Guido參加設計的一種教學語言。就Guido本人看來,ABC 這種語言非常優美和強大,是專門為非專業程序員設計的。但是ABC語言並沒有成功,究其原因,Guido 認為是其非開放造成的。Guido 決心在Python 中避免這一錯誤。同時,他還想實現在ABC 中閃現過但未曾實現的東西。
就這樣,Python在Guido手中誕生了。可以說,Python是從ABC發展起來,主要受到了Mola-3(另一種相當優美且強大的語言,為小型團體所設計的)的影響。並且結合了Unix shell和C的習慣。
Python[5] 已經成為最受歡迎的程序設計語言之一。自從2004年以後,python的使用率呈線性增長。Python 2於2000年10月16日發布,穩定版本是Python 2.7。Python 3於2008年12月3日發布,不完全兼容Python 2。[4] 2011年1月,它被TIOBE編程語言排行榜評為2010年度語言。[6]
由於Python語言的簡潔性、易讀性以及可擴展性,在國外用Python做科學計算的研究機構日益增多,一些知名大學已經採用Python來教授程序設計課程。例如卡耐基梅隆大學的編程基礎、麻省理工學院的計算機科學及編程導論就使用Python語言講授。眾多開源的科學計算軟體包都提供了Python的調用介面,例如著名的計算機視覺庫OpenCV、三維可視化庫VTK、醫學圖像處理庫ITK。而Python專用的科學計算擴展庫就更多了,例如如下3個十分經典的科學計算擴展庫:NumPy、SciPy和matplotlib,它們分別為Python提供了快速數組處理、數值運算以及繪圖功能。因此Python語言及其眾多的擴展庫所構成的開發環境十分適合工程技術、科研人員處理實驗數據、製作圖表,甚至開發科學計算應用程序。2018年3月,該語言作者在郵件列表上宣布Python 2.7將於2020年1月1日終止支持。用戶如果想要在這個日期之後繼續得到與Python 2.7有關的支持,則需要付費給商業供應商。
E. 現在哪些程序語言火
學習了很多軟體和編程知識,慢慢地成長為一個雜家,開發和測試,前端和後台,技術和管理,這20年的時間里,全部做了幾遍。從編程語言的角度,我給大家列一下我所使用過並且用來解決過真實任務或完成過項目的編程語言:C/C++、VB/VBScript、Delphi/Pascal、C#、php、JavaScript、Java、Python。目前主要使用後面四種編程語言,由於工作關系,目前使用這幾門編程語言主要是寫書和講課用,而不是做項目,項目基本上交給兄弟們去完成了。寫這篇文章的時候,我一查,居然使用的多數編程語言都是排行榜的前列,至少說明,選擇一些主流的編程語言還是很重要的。
F. 各大編程語言優勢對比,哪些值得學習更高薪
1. Java
Java是基於類的面向對象的編程語言,擁有跨平台、面向對象、泛型編程的特性,廣泛應用於企業級Web應用開發和移動應用開發。任職於Sun Microsystems的詹姆斯·高斯林等人於1990年代初開發Java語言的雛形,最初被命名為Oak,目標設置在家用電器等小型系統的程序語言, 應用在電視機、電話、鬧鍾、烤麵包機等家用電器的控制和通信。由於這些智能化家電的市場需求沒有預期的高,Sun公司放棄了該項計劃。隨著90年代互聯網 的發展,Sun公司看見Oak在互聯網上應用的前景,於是改造了Oak,於1995年5月以Java的名稱正式發布。Java伴隨著互聯網的迅猛發展而發 展,逐漸成為重要的網路編程語言。Java是為跨多個軟體平台而設計,這意味著一個在Mac OS X上寫的程序也能運行在Windows上。著名的黑客工具burpsuite就是Java寫的。
2. C語言
C語言是一種通用的命令式編程語言,於上個世紀70年代開發,是最老的使用最廣泛的語言,為其他語言提供了構建模塊,比如C#、Java、 JavaScript以及Python等。C語言被廣泛應用與各種不同的操作系統和應用中。由於C語言為其他語言提供了基礎,所以建議在學**其他語言之前 先學**下C或者C++。
3. C++
C++是一種使用非常廣泛的計算機編程語言,最初是作為C語言的增強版出現。C++是一種靜態數據類型檢查的、支持多重編程範式的通用程序設計 語言。它支持過程化程序設計、數據抽象、面向對象程序設計、泛型程序設計等多種程序設計風格。C++被用在一些知名軟體中,比如Firefox、 Winamp以及Adobe programs。C++可以用來開發系統軟體、應用軟體、高性能的伺服器、客戶端應用程序以及視頻游戲。
4. C#
C#是微軟公司發布的一種面向對象的、運行於.NET Framework之上的高級程序設計語言,結合了C和C++的法則。
5. Objective-C
Objective-C是一種通用、高級、面向對象的編程語言。它擴展了標準的ANSI C編程語言,將Smalltalk式的消息傳遞機制加入到ANSI C中。它是蘋果的OS X和iOS 操作系統,及其相關API、Cocoa和Cocoa Touch的主要編程語言。
6. PHP
PHP(Hypertext Processor) 是一種免費的強大的伺服器端腳本語言,主要目標是允許網路開發人員快速編寫動態頁面,但PHP也被用於其他很多領域。尤其適用於網路開發並可嵌入HTML 中使用,非常受web開發者的歡迎,包括Wordpress、Digg以及Facebook在內均使用了該語言。
7. Python
Python是一種高級的伺服器端腳本語言,適用於網站和移動app開發。對初學者來說,Python語言的可讀性和緊湊的語法使之簡單易學, 相比較其他語言,開發者可以使用更少的代碼來表達一個概念。網頁版的應用,比如Instagram,、Pinterest以及Rdio都使用了其相關的 web框架–Django,另外谷歌、Yahoo!以及NASA也是該框架的使用者。著名的Sqlmap就是Python寫的
8. Ruby
Ruby是一種為簡單快捷的面向對象編程(面向對象程序設計)而創的腳本語言,可用於網站和移動app的開發。開源Web應用框架–Ruby on Rails (Rails)就是使用Ruby語言編寫的,並被廣泛被Scribd、GitHub、Groupon以及Shopify等使用。和Python一樣,對初 學者來說,Ruby是一種非常容易使用的語言。現在非常著名且強大的黑客工具Metasploit的前期就是用ruby寫的。
9. JavaScript
JavaScript是一種基於對象和事件驅動並具有相對安全性的客戶端腳本語言。同時也是一種廣泛用於客戶端Web開發的腳本語言,常用來給HTML網頁添加動態功能,比如響應用戶的各種操作。JavaScript也可以用在游戲開發,編寫左面應用程序等方面。
10. SQL
Structured Query Language (SQL)一種編程語言,用於資料庫中的標准數據查詢語言,IBM公司最早使用在其開發的資料庫系統中。1986年10月,美國國家標准學會(ANSI) 對SQL進行規范後,以此作為關系式資料庫管理系統的標准語言(ANSI X3. 135-1986),1987年得到國際標准組織的支持下成為國際標准。不過各種通行的資料庫系統在其實踐過程中都對SQL規范作了某些編改和擴充。所 以,實際上不同資料庫系統之間的SQL不能完全相互通用。
目前計算機語言可謂百家爭鳴,剛接觸編程的同學,可能都有些迷茫,不知道該學那個語言好,經常會發出這樣的聲音。「那個語言比較好」。這也是小編聽到最多的發問。
其實,沒有什麼所謂的好的的語言。如果某人說什麼語言比什麼語言好,估計馬上會遇到雪片似的攻擊,更有可能千里之外的老母也會受到無辜的問候。其實哥套用那句話「沒有最好的語言,只有最適合的語言」。這是站在全局大環境下,說這句話的。但是無法解答入門者的提問啊,是啊,你還是沒有告訴他選擇什麼語言好。
大部分人學編程就是為了謀生,編碼工作本來是一門比較高的科技工作。但是在中國今天這個大環境下,已經淪為可悲的碼農。在哥的眼裡看來,甚至有些低賤。大部分人基本上過著朝九晚九的日子。拿著一點能夠供房的工資,溫水煮青蛙一樣,到快死之前才發現,自己從來沒有停止過忙碌,但是就被這樣緩慢扼殺。「編碼有風險,入行需謹慎」。
大部分人學編程就是為了謀生,編碼工作本來是一門比較高的科技工作。但是在中國今天這個大環境下,已經淪為可悲的碼農。在哥的眼裡看來,甚至有些低賤。大部分人基本上過著朝九晚九的日子。拿著一點能夠供房的工資,溫水煮青蛙一樣,到快死之前才發現,自己從來沒有停止過忙碌,但是就被這樣緩慢扼殺。「編碼有風險,入行需謹慎」。
語言太多,很多語言在小編的眼裡看來,的確是垃圾語言。為什麼垃圾,因為在商業生產中使用很少,特別是鎮裡面公司使用的更是鳳毛麟角。苦逼的碼農們,大都是靠編程謀生(別和我提興趣,在這樣的情況下有興趣也慢慢被加班扼殺),能好找工作,能多拿點錢才是王道。
大多數苦逼的碼農,隨著工齡的增加,一般至少會學三門以上的語言。小編在這里從上面十種編程語言推薦合適四門語言給初學者們,讓他們少走彎路。
第一個就是js。如果說互聯網能發展到今天的輝煌,風扉全球。web 1.0立下了汗馬功勞。也就是html語言的功勞。那麼今天web2.0將延續這個輝煌的是哪位呢。js當仁不讓了。js是個腳本語言,也是個客戶端的語言。如果你學好js,相信很容一找到web前台開發工程師的工作。並且哥很負責任的告訴你,js發展目前剛剛在起跑階段,生命周期還很長。
第二個推薦的就是php。 php也是腳本語言,和js不同的是,它是後台腳本語言。用它來寫cgi,可謂是得心應手。效率極高。又容易學**。php經過這兩年的大環境滋潤,已經如日中天,相信其生命周期還很漫長。值得推薦給立志做碼農的初哥們。學好它,應該比較好找「web後台開發工程師」這類工作。
第三位推薦的是c/c++; 這個是王老五了,生命周期過來30年,為什麼哥還推薦呢。因為其有得天獨厚的競爭條件。看看c/c++走過的幾十年,身邊倒下無數的屍體;抑或是當年早期或中期的戰友或敵人,活到現在的還有存活的嗎,哥很遺憾的告訴你,沒有,即使有,也是在苟活。只有它還在金槍不倒。看看,這么強大生命力語言為什麼不學呢。學好他。你不但可以得到一份不錯的薪水職位。還能得到些許心理安慰。為啥。因為大多數的比較NB點開源伺服器和OS,都是用c寫的,這時候要分析比較棘手的問題,還是要看源碼的。你的差異化就體現出來鳥。用C語言,你應該可以找到PC桌面開發工程師,嵌入式開發工程師,或後台開發,游戲開發工程師等職位。
最後一個是java語言,這個語言曾經活過,後來快要死了,不過近一年又開始煥發第二春,原因是google推出的andriod系統。現在andriod系統如春風吹拂大地,到處一片生機。眼下學java還是很值得。找一份高薪手機客戶端開發,至少是一個不錯選擇。
附:網頁鏈接 希望對你能夠有所幫助
G. 編程語言都有哪些
計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。
[NextPage]
學習編程,從何入手
如果您想學習編程,卻又不知從何入手,那麼您不妨看看下面的幾種學習方案,可能會給您一些啟示吧!
==============================================
方案一 Basic語言 & Visual Basic
優點
(1)Basic 簡單易學,很容易上手。
(2)Visual Basic 提供了強大的可視化編程能力,可以讓你輕松地做出漂亮的程序。
(3)眾多的控制項讓編程變得象壘積木一樣簡單。
(4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。
缺點
(1)Visual Basic 不是真正的面向對象的開發文具。
(2)Visual Basic 的數據類型太少,而且不支持指針,這使得它的表達能力很有限。
(3)Visual Basic 不是真正的編譯型語言,它產生的最終代碼不是可執行的,是一種偽代碼。它需要一個動態鏈接庫去解釋執行,這使得Visual Basic 的編譯速度大大變慢。
綜述:方案一適合初涉編程的朋友,它對學習者的要求不高,幾乎每個人都可以在一個比較短的時間里學會vB編程,並用VB 做出自己的作品。對於那些把編程當做游戲的朋友來說,VB 是您最佳的選擇。
Basic/Visual Basic簡介
==============================================
方案二 Pascal語言 & Delphi
優點
(1)Pascal語言結構嚴謹,可以很好地培養一個人的編程思想。
(2)Delphi是一門真正的面向對象的開發工具,並且是完全的可視化。
(3)Delphi使用了真編譯,可以讓你的代碼編譯成為可執行的文件,而且編譯速度非常快。
(4)Delphi具有強大的資料庫開發能力,可以讓你輕松地開發資料庫。
缺點
Delphi幾乎可以說是完美的,只是Pascal語言的過於嚴謹讓人感覺有點煩。
綜述: 方案二比較適合那些具有一定編程基礎並且學過Pascal語言的朋友。
Pascal語言簡介
Delphi簡介
==============================================
方案三 C語言 & Visual C++
優點
(1)C語言靈活性好,效率高,可以接觸到軟體開發比較底層的東西。
(2)微軟的MFC庫博大精深,學會它可以讓隨心所欲地進行編程。
(3)VC是微軟製作的產品,與操作系統的結合更加緊密。
缺點
對使用者的要求比較高,既要具備豐富的C語言編程經驗,又要具有一定的WINDOWS編程基礎,它的過於專業使得一般的編程愛好者學習起來會有不小的困難。
綜述: VC是程序員用的東西。如果你是一個永不滿足的人,而且可以在編程上投入很大的精力和時間,那麼學習VC你一定不會後悔的。
C語言簡介
==============================================
方案四 C++語言 & C++ Builder
優點
(1)C++語言的優點全部得以繼承。
(2)完全的可是化。
(3)極強的兼容性,支持OWL、VCL和MFC三大類庫。
(4)編譯速度非常快。
缺點
由於推出的時間太短,關於它的各種資料還不太多。
綜述:我認為C++ Builder 是最好的編程工具。它既保持了C++語言編程的優點,又做到了完全的可視化。
C語言簡介
==============================================
方案五 SQL語言 & Power Builder
對於一些傳統的數據開發人員來說,Foxpro系列也許讓他們感到更加熟悉。但是對於初學者來說,PowerBuilder也許是最好的資料庫開發工具。各種各樣的控制項,功能強大的PowerBuilder語言都會幫助你開發出自己的資料庫應用程序。
[NextPage]
JSP簡介
在Sun正式發布JSP(Java Server Pages)之後,這種新的Web應用開發技術很快引起了人們的關注。JSP為創建高度動態的Web應用提供了一個獨特的開發環境。按照 Sun 的說法,JSP能夠適應市場上包括Apache WebServer 、IIS4.0在內的85%的伺服器產品。
JSP與ASP的簡單比較
JSP與Microsoft的ASP技術非常相似。兩者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。在ASP或JSP環境下,HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的HTML頁面只依賴於Web伺服器,而ASP和JSP頁面需要附加的語言引擎分析和執行程序代碼。程序代碼的執行結果被重新嵌入到HTML代碼中,然後一起發送給瀏覽器。ASP和JSP都是面向Web伺服器的技術,客戶端瀏覽器不需要任何附加的軟體支持。
ASP的編程語言是VBScript之類的腳本語言,JSP使用的是Java,這是兩者最明顯的區別。
此外,ASP與JSP還有一個更為本質的區別:兩種語言引擎用完全不同的方式處理頁面中嵌入的程序代碼。在ASP下,VBScript代碼被ASP引擎解釋執行;在JSP下,代碼被編譯成Servlet並由Java虛擬機執行,這種編譯操作僅在對JSP頁面的第一次請求時發生。
運行環境
執行 JSP 代碼需要在伺服器上安裝 JSP 引擎。此處我們使用的是 Sun 的 JavaServer Web Development Kit ( JSWDK )。為便於學習,這個軟體包提供了大量可供修改的示例。安裝 JSWDK 之後,只需執行 startserver 命令即可啟動伺服器。在默認配置下伺服器在埠 8080 監聽,使用 http://localhost:8080 即可打開預設頁面。
在運行 JSP 示例頁面之前,請注意一下安裝 JSWDK 的目錄,特別是" work "子目錄下的內容。執行示例頁面時,可以在這里看到 JSP 頁面如何被轉換成 Java 源文件,然後又被編譯成 class 文件(即 Servlet )。 JSWDK 軟體包中的示例頁面分為兩類,它們或者是 JSP 文件,或者是包含一個表單的 HTML 文件,這些表單均由 JSP 代碼處理。與 ASP 一樣, JSP 中的 Java 代碼均在伺服器端執行。因此,在瀏覽器中使用"查看源文件"菜單是無法看到 JSP 源代碼的,只能看到結果 HTML 代碼。所有示例的源代碼均通過一個單獨的" examples "頁面提供。
Java Servlet是一種開發Web應用的理想構架。 JSP以Servlet技術為基礎,又在許多方面作了改進。JSP頁面看起來象普通HTML頁面,但它允許嵌入執行代碼,在這一點上,它和ASP技術非常相似。利用跨平台運行的JavaBean 組件,JSP為分離處理邏輯與顯示樣式提供了卓越的解決方案。JSP必將成為ASP技術的有力競爭者。
[NextPage]
SQL語言簡介
SQL全稱是「結構化查詢語言(Structured Query Language)」,最早的是IBM的聖約瑟研究實驗室為其關系資料庫管理系統SYSTEM R開發的一種查詢語言,它的前身是SQUARE語言。SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。如今無論是像Oracle ,Sybase,Informix,SQL server這些大型的資料庫管理系統,還是像Visual Foxporo,PowerBuilder這些微機上常用的資料庫開發系統,都支持SQL語言作為查詢語言。
Structured Query Language包含4個部分:
數據查詢語言DQL-Data Query Language SELECT
數據操縱語言DQL-Data Manipulation Language INSERT, UPDATE, DELETE
數據定義語言DQL-Data Definition Language CREATE, ALTER, DROP
數據控制語言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK
SQL的歷史
在70年代初,E.E.Codd首先提出了關系模型。70年代中期,IBM公司在研製 SYSTEM R關系資料庫管理系統中研製了SQL語言,最早的SQL語言(叫SEQUEL2)是在1976 年 11 月的IBM Journal of R&D上公布的。
1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2 和SQL/DS資料庫系統中也實現了SQL。
1986年10月,美國ANSI採用SQL作為關系資料庫管理系統的標准語言(ANSI X3. 135-1986),後為國際標准化組織(ISO)採納為國際標准。
1989年,美國ANSI採納在ANSI X3.135-1989報告中定義的關系資料庫管理系統的SQL標准語言,稱為ANSI SQL 89, 該標准替代ANSI X3.135-1986版本。該標准為下列組織所採納:
● 國際標准化組織(ISO),為ISO 9075-1989報告「Database Language SQL With Integrity Enhancement」
● 美國聯邦政府,發布在The Federal Information Processing Standard Publication(FIPS PUB)127
目前,所有主要的關系資料庫管理系統支持某些形式的SQL語言, 大部分資料庫打算遵守ANSI SQL89標准。
SQL的優點
SQL廣泛地被採用正說明了它的優點。它使全部用戶,包括應用程序員、DBA管理員和終端用戶受益非淺。
(1) 非過程化語言
SQL是一個非過程化的語言,因為它一次處理一個記錄,對數據提供自動導航。SQL允許用戶在高層的數據結構上工作,而不對單個記錄進行操作,可操作記錄集。所有SQL 語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結果作為另一條SQL語句的輸入。 SQL不要求用戶指定對數據的存放方法。 這種特性使用戶更易集中精力於要得到的結果。所有SQL語句使用查詢優化器,它是RDBMS的一部分,由它決定對指定數據存取的最快速度的手段。查詢優化器知道存在什麼索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什麼類型的索引。
(2) 統一的語言
SQL可用於所有用戶的DB活動模型,包括系統管理員、資料庫管理員、 應用程序員、決策支持系統人員及許多其它類型的終端用戶。基本的SQL 命令只需很少時間就能學會,最高級的命令在幾天內便可掌握。 SQL為許多任務提供了命令,包括:
● 查詢數據
● 在表中插入、修改和刪除記錄
● 建立、修改和刪除數據對象
● 控制對數據和數據對象的存取
● 保證資料庫一致性和完整性
以前的資料庫管理系統為上述各類操作提供單獨的語言,而SQL 將全部任務統一在一種語言中。
(3) 是所有關系資料庫的公共語言
由於所有主要的關系資料庫管理系統都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS轉到另一個。所有用SQL編寫的程序都是可以移植的。
[NextPage]
Java語言簡介
一. Java的由來
當1995年SUN推出Java語言之後,全世界的目光都被這個神奇的語言所吸引。那麼Java到底有何神奇之處呢?
Java語言其實最是誕生於1991年,起初被稱為OAK語言,是SUN公司為一些消費性電子產品而設計的一個通用環境。他們最初的目的只是為了開發一種獨立於平台的軟體技術,而且在網路出現之前,OAK可以說是默默無聞,甚至差點夭折。但是,網路的出現改變了OAK的命運。
在Java出現以前。Internet上的信息內容都是一些乏味死板的HTML文檔。這對於那些迷戀於WEB瀏覽的人們來說簡直不可容忍。他們迫切希望能在WEN中看到一些互動式的內容,開發人員也極希望能夠在WEB上創建一類無需考慮軟硬體平台就可以執行的應用程序,當然這些程序還要有極大的安全保障。對於用戶的這種要求,傳統的編程語言顯得無能為力,面SUN的工程師敏銳地察覺到了這一點,從1994年起,他們開始將OAK技術應用於WEB上,並且開發出了HotJava的第一個版本。當SUN公司1995年正式以Java這個名字推出的時候,幾乎所有的WEB開發人員都想到:噢,這正是我想要的。於是Java成了一顆耀眼的明星,丑小鴨一下了變成了白天鵝。
二. Java的定義
Java是一種簡單的,面象對象的,分布式的,解釋的,鍵壯的安全的,結構的中立的,可移植的,性能很優異的多線程的,動態的語言。
Java的開發環境有不同的版本,如sun公司的Java Developers Kit, 簡稱 JDK。後來微軟公司推出了支持Java規范的Microsoft Visual J++ Java開發環境,簡稱 VJ++。
三. Java的特點
1. 平台無關性
平台無關性是指Java能運行於不同的平台。Java引進虛擬機 原理,並運行於虛擬機,實現不同平台的Java介面之間。使 用Java編寫的程序能在世界范圍內共享。Java的數據類型與 機器無關,Java虛擬機(Java Virtual Machine)是建立在 硬體和操作系統之上,實現Java二進制代碼的解釋執行功能, 提供於不同平台的介面的。
2. 安全性
Java的編程類似C++,學習過C++的讀者將很快掌握Java的精 髓。Java舍棄了C++的指針對存儲器地址的直接操作,程序 運行時,內存由操作系統分配,這樣可以避免病毒通過指 針侵入系統。Java對程序提供了安全管理器,防止程序的 非法訪問。
3. 面向對象
Java 吸取了C++面向對象的概念,將數據封裝於類中,利用類 的優點,實現了程序的簡潔性和便於維護性。類的封裝性、 繼承性等有關對象的特性,使程序代碼只需一次編譯,然後 通過上述特性反復利用。程序員只需把主要精力用在類和接 口的設計和應用上。Java 提供了眾多的一般對象的類,通 過繼承即可使用父類的方法。在 Java 中,類的繼承關系是單一的非多重的,一個子類 只有一個父類,子類的父類又有一個父類。Java 提供的 Object 類及其子類的繼承關系如同一棵倒立的樹形,根類 為 Object 類, Object 類功能強大,經常會使用到它及其 它派生的子類。
4. 分布式
Java建立在擴展TCP/IP網路平台上。庫函數提供了用HTTP和FTP協議傳送和接受信息的方法。這使得程序員使用網路上的文件和使用本機文件一樣容易。
5. 鍵壯性
Java致力於檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發早期出現的錯誤。Java自已操縱內存減少了內存出錯的可能性。Java還實現了真數組,避免了覆蓋數據的可能。這些功能特徵大大提高了開發Java應用程序的周期。Java提供: Null指針檢測、 數組邊界檢測、 異常出口、 Byte code校驗。
四. Java與C/C++語言
Java提供了一個功能強大語言的所有功能,但幾乎沒有一點含混特徵。C++安全性不好,但C和C++被大家接受,所以Java設計成C++形式,讓大家很容易學習。
Java去掉了C++語言的許多功能,讓Java的語言功能很精煉,並增加了一些很有用的功能,如自動收集碎片。
Java去掉了以下幾個C和C++功能:
指針運算
結構
typedefs
#define
需要釋放內存
這將減少了平常出錯的50%。而且,Java很小,整個解釋器只需215K的RAM。
面象對象:Java實現了C++的基本面象對象技術並有一些增強,(為了語言簡單,刪除了一些功能)。Java處理數據方式和用對象介面處理對象數據方式一樣。
五. Java與Internet
我們知道,早先的 www 僅可以傳送文本和圖片,Java的出現實現了互動的頁面,是一次偉大的革命。
Java並不是為 Internet,WWW而設計的,它也可以用來編寫獨立的應用程序。Java 是一種面向對象語言。Java 語言類似於 C++ 語言,所以已熟練掌握 C++語言的編程人員,再學習 Java 語言就容易得多!Java 程序需要編譯。實際上有兩種 Java 程序:一種 Java 應用程序是一個完整的程序,如 Web 瀏覽器。一種 Java 小應用程序是運行於 Web 瀏覽器中的一個程序.
Java程序和它的瀏覽器HotJava,提供了可讓你的瀏覽器運行程序的方法。你能從你的瀏覽器里直接播放聲音。你還能播放頁面里的動畫。Java還能告訴你的瀏覽器怎樣處理新的類型文件。當我們能在2400 baud線上傳輸視頻圖象時,HotJava將能顯示這些視頻。
當今Internet的一大發展趨勢是電子商務,而Internet的安全問題是必須解決的問題,通常大的部門應設置防火牆,阻止非法侵入。
電子商務是當今的熱門話題,然而傳統的編程語言難以勝任電子商務系統,電子商務要求程序代碼具有基本的要求:安全、可靠、同時要求能 與運行於不同平台的機器的全世界客戶開展業務。Java以其強安全性、平台無關性、硬體結構無關性、語言簡潔同時面向對象,在網路編程語言中占據無可比擬的優勢,成為實現電子商務系統的首選語言。
Java程序被放置在Internet伺服器上,當用戶訪問伺服器時,Java程序被下載到本地的用戶機上,由瀏覽器解釋運行。
[NextPage]
PowerBuilder簡介
PowerBuilder的產生
PowerBuilder是美國著名的資料庫應用開發工具生產廠商PowerSoft推出的成功產品,其第一版於1991年6月正式投入市場。它是完全按照客戶/伺服器體系結構研製設計的,採用面向對象技術,圖形化的應用開發環境,是資料庫的前端開發工具。
PowerBuilder的特點
它支持應用系統同時訪問多種資料庫,其中既包括Oracel,Sybase之類的大型資料庫,又包括FOXPRO之類支持ODBC介面的小型資料庫,PowerBuilder是完全可視化的資料庫開發工具,它提供了大量的控制項,大大加快了項目的開發速度,也使開發者更容易掌握資料庫的開發。
它使用的編程語言叫做工PowerScripr,它也是一種高級的,結構化的編程語言。PowerScript提供了一套完整的嵌入式SQL語句,開發人員可以像使用其它語句一樣自由地使用SQL語言,這樣就大大增強了程序操縱和訪問資料庫的能力。可以說PowerBuilder既適合初學者快速學習資料庫的開發,又可以讓有經驗的開發人員開發出功能強大的資料庫,是一種適用面非常廣的開發工具。
PowerBuilder是一個用來進行客戶/伺服器開發的完全的可視化開發環境。使用PowerBuilder,你可以用一種可視的直觀的方式來創建應用程序的用戶界面和資料庫介面。這是一個總的概念,實際上是開發人員使用PowerBuilder去開發應用程序,由於所開發的各種應用程序充分利用了圖形用戶介面(GUI)的優點,所以PowerBuilder被認為是一個圖形工具。
在客戶/伺服器結構的應用中,PowerBuilder具有描述多個資料庫連接與檢索的能力。特別是PowerBuilder能從大多數流行的RDBMS中存取數據,且不管數據存放在什麽地方;另外,各種應用程序又可以獨立於RDBMS,因為PowerBuilder可以使用資料庫的標准操作語言SQL(結構化查詢語言)進行。
使用PowerBuilder,可以很容易地開發出功能強大的圖形界面的訪問伺服器資料庫的應用程序,PowerBuilder提供了建立符合工業標準的應用程序(例如訂單登記、會計及製造系統)所需的所有工具。
PowerBuilder應用程序由窗口組成,這些窗口包含用戶與之交互的控制項。開發人員可以使用所有標准空間(如按鈕、復選框、下拉式列表框或編輯框)以及PowerBuilder提供的特殊的使應用程序更易於開發和使用的控制項。
通常人們把PowerBuilder看成是一種開發工具,實際上它比其他工具強得多,是一種強有力的開發環境。開發人員不僅能用它來開發用戶容易使用的各種應用程序還可以通過PowerBuilder修改資料庫,利用400多個內部定義函數,可以開發能和其他應用程序進行的各種應用程序。
PowerBuilder正在成為客戶/伺服器應用開發的標准。相對於其他任何客戶/伺服器開發環境,PowerBuilder使開發人員的工作更快、成本更低、質量更高、功能更強。
PowerBuilder為應用開發提供了全面綜合性的支持,可以分別概括為如下幾點:
事件驅動的應用程序
功能強大的編程語言與函數
面向對象的編程
跨平台開發
開放的資料庫連結系統
PowerBuilder開發環境
PowerBuilder開發環境由一系列集成的圖形畫板(Painter)組成,應用開發人員通過簡單的滑鼠操作即可設計、建立、交互檢驗和測試客戶/伺服器應用程序。
[NextPage]
Delphi簡介
Delphi這個名字源於古希臘的城市名。它集中了第三代語言
H. 面向對象的程序設計語言有哪些
1、Smalltalk:
Smalltalk,被公認為歷史上第二個面向對象的程序設計語言,和第一個真正的集成開發環境(IDE)。
Smalltalk對其它眾多的程序設計語言的產生起到了極大的推動作用,主要有:C++,C#,Objective-C,Actor,Java和Ruby等。90年代的許多軟體開發思想得利於Smalltalk,例如設計模式、敏捷編程和代碼重構等。
(8)著名編程語言擴展閱讀
面向對象語言既可以用面向對象語言實現,也可以用非面向對象語言實現。面向對象程序設計語言本身就支持面向對象概念的實現,其編譯程序可以自動地實現面向對象概念到目標程序的映射。
面向對象的採用方法從問題域表示到面向對象分析,再到面向對象設計與實現始終穩定不變。一致的表示方法不但有利於在軟體開發過程中始終使用統一的概念,也有利於維護人員理解軟體的各種配置成分。
I. 目前比較好上手的計算機語言
當然是C語言,你可以去了解一下它的歷史。
C語言的歷史,
著名的計算機科學家丹尼斯·里奇(Dennis Ritchie)創造的。1967年, Ritchie進入貝爾實驗室工作。貝爾實驗室是當時世界上最有創造力的地方之一,著名的C語言、C++語言和Unix操作系統都誕生於此。一開始, 里奇和他的同事肯·湯普生開始研究DEC PDP-7機器,但是在這個機器上寫程序很困難,只能用很底層很高深的匯編語言。於是湯普生設計了一種高級程序語言,並把它命名為B語言。但是由於B語言本身設計的缺陷,使他在內存的限制面前一籌莫展。1973年,里奇決定對B語言進行改良,他賦予了新語言強有力的系統控制方面的能力,並且新語言非常簡潔、高效,里奇把它命名為C語言,意為B語言的下一代。
在開發C語言的同時,里奇和湯普生、布朗(貝爾實驗室的另一名科學家)還接受了一個新任務,就是在DEC PDP-7上開發一個多任務、多用戶的操作系統,1969年,他們用匯編語言完成了這個操作系統的第一個版本,里奇受一個更早的項目Multics的啟發,將這個系統命名為Unix。
為了在全世界面前展現C語言強大的能力,里奇用C語言把Unix操作系統重寫了一遍,這就是Unix第三版。而之前的第二版是用B語言開發的。1977年,為了推廣貝爾實驗室開發的Unix操作系統,里奇發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》,使C語言再向前跨出一大步,各種計算機都開始支持C語言。
1978年裡奇和布朗一起出版了《C語言》一書,從而使C語言成為世界上應用最廣泛的高級程序設計語言,而該書也成為計算機科學界最暢銷的書籍之一。里奇把全部精力都放到Unix、C語言、C++語言的應用和推廣上,曾在很多國家進行過教學和講座活動。2000年,他來到了中國,在北京大學和復旦大學進行了題為《貝爾實驗室與操作系統》的講演,為推動中國Unix/Linux的應用和發展貢獻了力量。
1983年,人們將計算機科學方面的最高榮譽——圖靈獎頒發給了里奇,以表彰他對計算機科學所做出的傑出貢獻。
C語言的特色
C語言是高級程序語言,也就是說程序員不必知道具體的中央處理器型號也可以為計算機進行程序編制。它主要用來進行計算機的程序設計。C語言具有高效、靈活、功能豐富、表達力強和移植性好等的特點,在計算機語言中備受青睞。
在程序能夠運行前,源代碼必須有編譯器編譯成機器語言。相對於匯編語言只能針對具體型號的CPU才能運行,C語言的便捷性是很明顯的。
C語言的主要特性
C語言保留了低級語言的特性,例如涉及內存的指針。
C語言通過參數在函數里傳遞數值。
使用了預處理機制,使得程序里可以通過包含例如宏處理的方式來處理源程序。
C語言提供了一套標准庫,這些庫里提供了十分有用的功能。
但是並不是所有的這些特性都是有效的。例如,預處理通常作為一個獨立的程序被處理,這使得與處理的程序並不一定被完全編譯。
雖然C是高級語言,但是它同時擁有一些匯編語言的特性,對其它的語言來說這是接近低級語言的特點。例如,在C語言里,程序員可以對計算機內存進行管理。在默認的情況下,C語言不會對數組的范圍進行檢查,也就是說即使數組越界,C語言也不會作出錯誤提示。對計算機內存的管理使得程序員可以變出更快捷、更有效的程序,這對於設備驅動程序來說尤為重要。但是這也使得程序容易產生令人討厭的「臭蟲」,例如緩沖器溢出錯誤。然而,這些錯誤可以由一些工具來避免。
C語言的不足可以由由C語言發展而來的更新的編程語言改進。Cyclone語言的擁有提防對於內存錯誤的特性。C++和Objective C提供了用於面向對象的編程結構。Java和C#增加了面向對象的結構使得對內存的管理自動化。
C語言的版本
K&R C
C不斷的從它的第一版本進行改進。在1978年,Kernighan和里奇的C編程語言第一版出版。它介紹了下面的有關C語言版本的特性:
struct數據類型
long int數據類型
unsigned int數據類型
把運算符=+改為+=,依次類推。因為=+使得編譯器混淆。
在以後的幾年裡,C編程語言一直被廣泛作為C語言事實上的規范。在這本書中,C語言通常被表述成"K&R C"。(第二版的包括了ANSI C標准)
K&R C通常被作為C編譯器所支持的最基本的C語言部分。雖然現在的編譯器並不一定都完全遵循ANSI標准,但K&R C作為C語言的最底要求仍然要編程人員掌握。但是無論怎樣,現在使用廣泛的C語言版本都已經與K&R C相距甚遠了,因為這些編譯器都使用ANSI C標准。
ANSI C和ISO C
1989年,C語言被ANSI標准化。(ANSI X3.159-1989)。標准化的一個目的是擴展K&R C。這個標准包括了一些新的特性。在K&R出版後,一些新的特徵被「非官方」的加到C語言中。
void函數
函數返回struct或union類型
void *數據類型
在ANSI標准化自己的過程中,一些新的特徵被加了進去。ANSI也標准了函數庫。ANSI C標准被ISO(國際標准化組織)採納成為ISO 9899。ISO的第一個版本文件在1990年出版。
C99
在ANSI標准化後,C語言的標准在一段相當的時間內都保持不變,盡管C++繼續在改進。(實際上,Normative Amendment1在1995年已經開發了一個新的C語言版本。但是這個版本很少為人所知。)標准在90年代才經歷了改進,這就是ISO9899:1999(1999年出版)。這個版本就是通常提及的C99。它被ANSI於2000年三月採用。
在C99中包括的特性有:
可變范圍的數組
新增加的數據類型,包括long long int,布爾類型和用於表示復數的類型
支持用//表示注釋(這個特性實際上在C89的很多編譯器上已經被支持了)
snprintf
但是各個公司對C99的支持所表現出來的興趣不同。當GCC和其它一些商業編譯器支持C99的大部分特性的時候,微軟和Borland卻似乎對此不感興趣
現在的很多高級語言都是與C語言不可分割的,比如C++,VC,或者說現在的高級平台.NET中的C# 等等 都是以C為基礎的
如果你想學高級的語言,不妨先把C語言學好,在掌握那些高級語言的時候就更容易一些
J. 誰發明了那些經典的編程語言
我也抄一下。
奧古斯塔·阿達·金,勒芙蕾絲伯爵夫人(augusta
ada
king,
countess
of
lovelace,1815年12月10日-1852年11月27日),原名奧古斯塔·阿達·拜倫(augusta
ada
byron),通稱阿達·洛芙萊斯(ada
lovelace),是著名英國詩人拜倫之女,數學家。計算機程序創始人,建立了循環和子程序概念。
為計算程序擬定「演算法」,寫作的第一份「程序設計流程圖」,被珍視為「第一位給計算機寫程序的人」。為了紀念阿達·奧古斯塔對現代電腦與軟體工程所產生的重大影響,美國國防部將耗費巨資、歷時近20年研製成功的高級程序語言命名為ada語言,它被公認為是第四代計算機語言的主要代表。
在1842年,人稱「數字女王」的阿達·洛芙萊斯(ada
lovelace)編寫了歷史上首款電腦程序。
在1834年,阿達的朋友——英國數學家、發明家兼機械工程師查爾斯·巴貝其(charles
babbage)——發明了一台分析機;阿達則致力於為該分析機編寫演算法,並於1843
年公布了世界上第一套演算法。
巴貝其分析機後來被認為是最早期的計算機雛形,而阿達的演算法則被認為是最早的計算機程序和軟體。
1852年,阿達為了治療子宮頸癌,卻因此死於失血過多,得年36歲。無獨有偶,她與她父親拜倫死於相同年齡,一樣死於治療中的失血過多。她留下了兩個兒子與一位女兒—安妮·布蘭特貴女。
依她的遺言,阿達葬於諾丁漢哈克諾的聖
瑪麗亞·抹大拉教堂,長眠在父親的身旁。
在1842年與1843年其間,阿達花了9個月的時間翻譯義大利數學家路易吉·米那比亞對巴貝奇最新的計算機設計書(即分析機概論)所留下的備忘錄。在這部譯文里,她附加許多注記,內容詳細說明用計算機進行伯努利數的運算方式,而被認為是世界上第一個電腦程式;因此,阿達也被認為是世界上第一位程式設計師。巴貝奇在他所著的《經過哲學家人生》(passages
from
the
life
of
a
philosopher,
1846)里留有下面的述敘:
倫敦科學館分析機復製品
「我認為她為米那比亞的備忘錄增加許多注記,並加入了一些想法。雖然這些想法是由我們一起討論出來的,但是最後被寫進注記里的想法確確實實是她自己的構想。我將許多代數運算的問題交給她處理,這些工作也與伯努利數的運算相關。在她所送回給我的文件,更修正了我先前在程序里的重大錯誤。」
阿達的文章創造出許多巴貝奇也未曾提到的新構想,比如阿達曾經預言道:「這個機器未來可以用來排版、編曲或是各種更復雜的用途。」
她死後一百年,於1953年,阿達之前對查爾斯·巴貝奇的《分析機概論》所留下的筆記被重新公布,並被公認對現代計算機與軟體工程造成了重大影響。[2]
在1980年12月10日,美國國防部製作了一個新的高級計算機編程語言——ada,以紀念阿達·洛芙萊斯。
在微軟的wins產品里也可以找到阿達的全息圖標簽。
英國計算機公會每年都頒發以阿達命名的軟體工程創新大獎。