1. 程式人生 > >程式語言分類簡介

程式語言分類簡介

計算機語言的種類非常的多,總的來說可以分成機器語言,組合語言,高階語言三大類。 

電腦每做的一次動作,一個步驟,都是按照以經用計算機語言編好的程式來執行的,程式是計算機要執行的指令的集合,而程式全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。 

計算機所能識別的語言只有機器語言,即由0和1構成的程式碼。但通常人們程式設計時,不採用機器語言,因為它非常難於記憶和識別。 

目前通用的程式語言有兩種形式:組合語言和高階語言。 

組合語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的識別符號,更容易識別和記憶。它同樣需要程式設計者將每一步具體的操作用命令的形式寫出來。彙編程式通常由三部分組成:指令、偽指令和巨集指令。彙編程式的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此彙編源程式一般比較冗長、複雜、容易出錯,而且使用匯編語言程式設計需要有更多的計算機專業知識,但組合語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高階語言所能實現的,而且源程式經彙編生成的可執行檔案不僅比較小,而且執行速度很快。 

高階語言是目前絕大多數程式設計者的選擇。和組合語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆疊、暫存器等,這樣就大大簡化了程式中的指令。同時,由於省略了很多細節,程式設計者也就不需要有太多的專業知識。 

高階語言主要是相對於組合語言而言,它並不是特指某一種具體的語言,而是包括了很多程式語言,如目前流行的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)組成,應用開發人員通過簡單的滑鼠操作即可設計、建立、互動檢驗和測試客戶/伺服器應用程式。