第一篇:計算機(jī)語言—適合初學(xué)者
您如果是計算機(jī)語言初學(xué)者,并且立志成為一名軟件工程師,必定會遇到編程語言選擇的困惑,尤其對在校大學(xué)生來說更是如此。
千里之行,始于足下;差之毫厘,謬以千里;開始對編程語言的選擇應(yīng)該是謹(jǐn)慎的和重要的。我將對軟件行業(yè)的特色和就業(yè)情況給大家介紹,希望能給大家對自己的選擇提供更加準(zhǔn)確的參考。
編程語言類型劃分
首先我們來了解一下編程語言的分類:
1)從語言的等級劃分:匯編語言和高級語言
匯編語言:實質(zhì)和機(jī)器語言是相同的,都是直接對硬件操作。它需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序的每一句指令只能對應(yīng)實際操作過程中的一個很細(xì)微的動作。匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。高級的匯編器如MASM, TASM等等。
高級語言:目前絕大多數(shù)編程者的選擇。和匯編語言相比,它不但將許多相關(guān)的機(jī)器指令合成為單條指令,并且去掉了與具體操作有關(guān)但與完成工作無關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由于省略了很多細(xì)節(jié),編程者也就不需要有太多的專業(yè)知識。
2)從語言的執(zhí)行方式劃分:解釋語言和編譯語言
解釋語言:執(zhí)行方式類似于我們?nèi)粘I钪械摹巴暦g”,應(yīng)用程序源代碼一邊由相應(yīng)語言的解釋器“翻譯”成目標(biāo)代碼(機(jī)器語言),一邊執(zhí)行,因此效率比較低,而且不能生成可獨立執(zhí)行的可執(zhí)行文件,應(yīng)用程序不能脫離其解釋器,但這種方式比較靈活,可以動態(tài)地調(diào)整、修改應(yīng)用程序。例如Basic。腳本語言是一種解釋性的語言,例如Vbscript、Javascript、Perl、Python等等。腳本語言就是以文本方式存在的語言。
編譯語言:編譯是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼(機(jī)器語言),因此其目標(biāo)程序可以脫離其語言環(huán)境獨立執(zhí)行,使用比較方便、效率較高。但應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)文件(*.OBJ)才能執(zhí)行,只有目標(biāo)文件而沒有源代碼,修改很不方便。現(xiàn)在大多數(shù)的編程語言都是編譯型的,例如:C、C++、Delphi等。
Java很特殊,Java程序也需要編譯,但是沒有直接編譯稱為機(jī)器語言,而是編譯成為偽碼,然后用解釋方執(zhí)行字節(jié)碼。
3)從面向?qū)ο髣澐郑航Y(jié)構(gòu)化語言和面向?qū)ο笳Z言
面向過程和面向?qū)ο?,這是兩種思想。C、Pascal等語言是面向過程的編程語言,C的開發(fā)通常會大量定義函數(shù)和結(jié)構(gòu)體。
面向?qū)ο蠓椒?Object-Oriented Method)是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動的系統(tǒng)方法,簡稱OO(Object-Oriented)方法。就是基于對象概念,以對象為中心,以類和繼承為構(gòu)造機(jī)制,來認(rèn)識、理解、刻畫客觀世界和設(shè)計、構(gòu)建相應(yīng)的軟件系統(tǒng)。Java、C++屬面向?qū)ο笳Z言。
總的說來,結(jié)構(gòu)化語言以業(yè)務(wù)的處理流程來思考,重在每個步驟功能問題;面向?qū)ο笳Z言以對象的屬性和行為來思考,重在抽象和對象間的協(xié)作問題。
數(shù)據(jù)庫結(jié)構(gòu)化查詢語言(Structured Query Language)是為關(guān)系數(shù)據(jù)庫管理系統(tǒng)開發(fā)的一種查詢語言。SQL語言,得到了廣泛的應(yīng)用。如今無論是像Oracle ,Sybase,Informix, SQL server這些大型的數(shù)據(jù)庫管理系統(tǒng),還是像Visual Foxporo,PowerBuilder這些微機(jī)上常用的數(shù)據(jù)庫開發(fā)系統(tǒng),都支持 SQL語言作為查詢語言。
SQL與其它高級語言的選擇并不沖突,反而是緊密結(jié)合的。如果你的應(yīng)用軟件無論用到哪種高級編程語言來開發(fā),如果軟件中使用數(shù)據(jù)庫來存儲數(shù)據(jù),那么SQL的運(yùn)用是必不可少的。
編程語言排行榜
以上介紹了編程語言的分類,現(xiàn)在我們來關(guān)注一下世界2008年4月 TIOBE 編程語言排行榜,讓我們一起感受一下前沿最新動態(tài)。
編程語言應(yīng)用領(lǐng)域
現(xiàn)流行的編程語言不存在好和不好的說法,不同軟件系統(tǒng),應(yīng)該運(yùn)用合適的語言,殺雞焉用牛刀,就是這個道理。
根據(jù)以上編程語言排名情況,簡要概述Java、C、Visual Basic、PHP、C++、C#、Delphi語言的開發(fā)應(yīng)用領(lǐng)域。
1)Java開發(fā)應(yīng)用領(lǐng)域
調(diào)查顯示,Web應(yīng)用57.9%,C/S應(yīng)用占11.7%;移動或嵌入式應(yīng)用占15.0%;系統(tǒng)編程占15.4。從開發(fā)領(lǐng)域的分布情況上看Web開發(fā)占了一半以上。
Java的主要應(yīng)用場景是企業(yè)應(yīng)用開發(fā)。JavaEE在長期的發(fā)展和演化之后,已經(jīng)成為開發(fā)Web應(yīng)用的可靠工具。整體而言,Java技術(shù)已經(jīng)非常成熟,達(dá)到了應(yīng)用的高峰期。
2)C語言的應(yīng)用范圍
C語言的應(yīng)用范圍很廣,從底層的嵌入式系統(tǒng)、工業(yè)控制、智能儀表、編譯器、硬件驅(qū)動,到高層的行業(yè)軟件后臺服務(wù)、中間件等等。
3)Visual Basic的各種應(yīng)用 :控件使用、界面設(shè)計、文字及文件處理、圖形處理、多媒體應(yīng)用、操作系統(tǒng)和數(shù)據(jù)庫等各方面的實際應(yīng)用。
4)PHP在互聯(lián)網(wǎng)高速發(fā)展的今天,應(yīng)用量可謂是非常廣泛,不知道大家有沒關(guān)注過PHP的應(yīng)用領(lǐng)域,我先發(fā)表下我的個人看法。php的應(yīng)用領(lǐng)域大致分為以下幾點:
中小型網(wǎng)站(我想是占了超過80%份額);
大型網(wǎng)站的業(yè)務(wù)邏輯結(jié)果展示(在百度,雅虎,新浪中都可以見到類似應(yīng)用);
WEB辦公,管理系統(tǒng)(多應(yīng)用于企業(yè)內(nèi)部).5)C++在以下領(lǐng)域,有著根本性的優(yōu)勢 :低級系統(tǒng)程序設(shè)計、高級系統(tǒng)程序設(shè)計、嵌入式程序設(shè)計、數(shù)值科學(xué)計算、通用程序設(shè)計以及混合系統(tǒng)設(shè)計等等。高級系統(tǒng)程序設(shè)計:包括操作系統(tǒng)核心、網(wǎng)絡(luò)管理系統(tǒng)、編譯系統(tǒng)、電子郵件系統(tǒng)、文字排版系統(tǒng)、圖像和聲音的編排系統(tǒng)、通訊系統(tǒng)、用戶界面、數(shù)據(jù)庫系統(tǒng)等等。嵌入式系統(tǒng):包括照相機(jī)、汽車、火箭、電話交換機(jī)、汽車等等。數(shù)值/科學(xué)計算:包括仿真、實時數(shù)據(jù)獲取和數(shù)據(jù)庫訪問等等。
6)C#主要用于開發(fā)WEB應(yīng)用,與Java一樣的,是競爭的兩方面,這也是微軟設(shè)計C#的初忠。C#在C/S架構(gòu)方面不如Delphi,PB,VFP,主要是從性能和成熟的應(yīng)用方面考慮的,現(xiàn)在幾乎沒有公司在用C#做C/S的商品軟件。
7)Delphi和Visual Basic語言的應(yīng)用領(lǐng)域差別不大,但Delphi具有高速的編譯器,強(qiáng)大的數(shù)據(jù)庫支持,與Windows編程緊密結(jié)合,強(qiáng)大而成熟的組件技術(shù)。與數(shù)據(jù)庫相關(guān)的應(yīng)用軟件開發(fā),采用Delphi是不錯的選擇。
當(dāng)今軟件行業(yè)的就業(yè)情況
了解當(dāng)前IT軟件行業(yè)的發(fā)展情況和就業(yè)形勢,對自己的選擇是非常重要的。
1)行業(yè)發(fā)展報告
2007年1-8月,我國規(guī)模以上軟件產(chǎn)業(yè)累計完成收入3439億元,同比增長22.9%,高于電子信息產(chǎn)業(yè)增速 3.5個百分點。各類軟件收入增速均保持在15%以上,其中軟件產(chǎn)品收入最大,達(dá)到1212.5億元,占全部收入的35.3%,比2006年(26.7%)提高了8.6個百分點。國內(nèi)軟件與信息服務(wù)業(yè)的發(fā)展利好因素頗多。
一方面,在中部崛起、西部大開發(fā)等戰(zhàn)略的帶動下,信息化需求的上升將拉動軟件市場的增長;另一方面,北京2008年奧運(yùn)會、上海2010年世博會、3G(第三代移動通信)等的輻射效應(yīng),使部分行業(yè)信息化建設(shè)與應(yīng)用架構(gòu)進(jìn)一步優(yōu)化。根據(jù)我國軟件業(yè)自身發(fā)展規(guī)律,結(jié)合國內(nèi)實際情況及需求,我國制定了《軟件與信息服務(wù)業(yè)“十一五”專項規(guī)劃》,并明確提出了未來五年產(chǎn)業(yè)的發(fā)展目標(biāo)。
當(dāng)前,以服務(wù)外包、服務(wù)貿(mào)易以及高端制造業(yè)和技術(shù)研發(fā)環(huán)節(jié)為主要特征的新一輪世界產(chǎn)業(yè)結(jié)構(gòu)調(diào)整正在興起,主要依靠智力資源發(fā)展的服務(wù)外包產(chǎn)業(yè)。
難易度比較
高級語言 比 匯編語言簡單;
結(jié)構(gòu)化語言 比 面向?qū)ο笳Z言簡單;
腳本語言 比 編譯語言簡單;
2)IT行業(yè)薪資報告
據(jù)相關(guān)機(jī)構(gòu)調(diào)查顯示,在IT行業(yè)中,月薪上萬元的,占有較小的比例。
3)2008就業(yè)分析:
據(jù)國內(nèi)領(lǐng)先的人力資源服務(wù)商近期調(diào)查顯示,排名前四位的行業(yè)。
面向?qū)ο笳Z言中:C++ 和 Visual C++(Visual C++是微軟公司的C++產(chǎn)品,具有可視化圖形開發(fā)平臺,一般來說先具有C++基礎(chǔ)才能學(xué)習(xí)VC)相對其它面向?qū)ο笳Z言是比較復(fù)雜的,其余的面向?qū)ο笳Z言難易度差異不大。
總結(jié)
經(jīng)過以上內(nèi)容的闡述,我相信大家已經(jīng)對語言的特點和運(yùn)用有了清晰的了解。我們應(yīng)該根據(jù)自身的學(xué)習(xí)專業(yè)或興趣志向,來選擇不同的編程語言。
如果您希望將來從事企業(yè)運(yùn)用開發(fā)工作,可以選擇JAVA語言或.NET語言或PHP;
如果您想從事通訊領(lǐng)域的開發(fā)工作,可以選擇C++或Visual C++語言;
如果您是偏向電子等硬件專業(yè),可以選擇C語言或C++語言。
如果您想開發(fā)非WEB架構(gòu)的信息管理系統(tǒng),可以選擇Visual Basic語言或Delphi語言。
編程語言在領(lǐng)域的運(yùn)用沒有絕對的界限;一個軟件系統(tǒng)中,也可能存在多個語言技術(shù)結(jié)合;一個軟件工程師,往往需要掌握多門語言。
常言道:“天高任鳥飛,海闊憑魚躍”,IT行業(yè)作為我國第一大產(chǎn)業(yè),其發(fā)展?jié)摿κ欠浅>薮蟮摹R氤蔀橐粋€高級的IT人才,每一人就只有憑自身的學(xué)識和能力了。
第二篇:計算機(jī)語言
計算機(jī)語言
計算機(jī)語言(Computer Language)指用于人與計算機(jī)之間通訊的語言。計算機(jī)語言是人與計算機(jī)之間傳遞信息的媒介。計算機(jī)系統(tǒng)最大特征是指令通過一種語言傳達(dá)給機(jī)器。為了使電子計算機(jī)進(jìn)行各種工作,就需要有一套用以編寫計算機(jī)程序的數(shù)字、字符和語法規(guī)劃,由這些字符和語法規(guī)則組成計算機(jī)各種指令(或各種語句)。這些就是計算機(jī)能接受的語言。
1簡介編輯
計算機(jī)語言的種類非常的多,總的來說可以分成機(jī)器語言,匯編語言,高級語言三大類。電腦每做的一次動作,一個步驟,都是按照已經(jīng)用計算機(jī)語言編好的程序來執(zhí)行,程序是計算機(jī)要執(zhí)行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機(jī)一定要通過計算機(jī)語言向計算機(jī)發(fā)出命令。
(1)解釋類:執(zhí)行方式類似于我們?nèi)粘I钪械摹巴暦g”,應(yīng)用程序源代碼一邊由相應(yīng)語言的解釋器“翻譯”成目標(biāo)代碼(機(jī)器語言),一邊執(zhí)行,因此效率比較低,而且不能生成可獨立執(zhí)行的可執(zhí)行文件,應(yīng)用程序不能脫離其解釋器,但這種方式比較靈活,可以動態(tài)地調(diào)整、修改應(yīng)用程序。
(2)編譯類:編譯是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼(機(jī)器語言),因此其目標(biāo)程序可以脫離其語言環(huán)境獨立執(zhí)行,使用比較方便、效率較高。但應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)文件(*.OBJ)才能執(zhí)行,只有目標(biāo)文件而沒有源代碼,修改很不方便。如今大多數(shù)的編程語言都是編譯型的,例如VisualBasic、VisualC++、VisualFoxpro、Delphi等。[2] 2發(fā)展歷史編輯
二十世紀(jì)四十年代當(dāng)計算機(jī)剛剛問世的時候,程序員必須手動控制計算機(jī)。當(dāng)時的計算機(jī)十分昂貴,唯一想到利用程序設(shè)計語言來解決問題的人是德國工程師楚澤(konradzuse)。不久后,計算機(jī)的價格大幅度下跌,而計算機(jī)程序也越來越復(fù)雜。也就是說,開發(fā)時間已經(jīng)遠(yuǎn)比運(yùn)行時間來得寶貴。于是,新的集成、可視的開發(fā)環(huán)境越來越流行。它們減少了所付出的時間、金錢(以及腦細(xì)胞)。只要輕敲幾個鍵,一整段代碼就可以使用了。這也得益于可以重用的程序代碼庫。隨著c,pascal,fortran,等結(jié)構(gòu)化高級語言的誕生,使程序員可以離開機(jī)器層次,在更抽象的層次上表達(dá)意圖。由此誕生的三種重要控制結(jié)構(gòu),以及一些基本數(shù)據(jù)類型都能夠很好的開始讓程序員以接近問題本質(zhì)的方式去思考和描述問題。隨著程序規(guī)模的不斷擴(kuò)大,在60年代末期出現(xiàn)了軟件危機(jī),在當(dāng)時的程序設(shè)計模型中都無法克服錯誤隨著代碼的擴(kuò)大而級數(shù)般的擴(kuò)大,以至到了無法控制的地步,這個時候就出現(xiàn)了一種新的思考程序設(shè)計方式和程序設(shè)計模型-----面向?qū)ο蟪绦蛟O(shè)計,由此也誕生了一批支持此技術(shù)的程序設(shè)計語言,比如eiffel,c++,java,這些語言都以新的觀點去看待問題,即問題就是由各種不同屬性的對象以及對象之間的消息傳遞構(gòu)成。面向?qū)ο笳Z言由此必須支持新的程序設(shè)計技術(shù),例如:數(shù)據(jù)隱藏,數(shù)據(jù)抽象,用戶定義類型,繼承,多態(tài)等等。[3] 現(xiàn)狀
如今通用的編程語言有兩種形式:匯編語言和高級語言。
計算機(jī)語言 匯編語言的和機(jī)器語言實質(zhì)是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標(biāo)識符,容易識別和記憶。源程序經(jīng)匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。
高級語言是絕大多數(shù)編程者的選擇。和匯編語言相比,它不但將許多相關(guān)的機(jī)器指令合成為單條指令,并且去掉了與具體操作有關(guān)但與完成工作無關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由于省略了很多細(xì)節(jié),編程者也就不需要有太多的專業(yè)知識。
高級語言主要是相對于低級語言而言,它并不是特指某一種具體的語言,而是包括了很多編程語言,如流行的vb、vc、foxpro、delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機(jī)識別,必須經(jīng)過轉(zhuǎn)換才能被執(zhí)行,按轉(zhuǎn)換方式可將它們分為兩類:解釋類和編譯類。[4] 趨勢
面向?qū)ο蟪绦蛟O(shè)計以及數(shù)據(jù)抽象在現(xiàn)代程序設(shè)計思想中占有很重要的地位,未來語言的發(fā)展將不在是一種單純的語言標(biāo)準(zhǔn),將會以一種完全面向?qū)ο?,更易表達(dá)現(xiàn)實世界,更易為人編寫,其使用
計算機(jī)語言 將不再只是專業(yè)的編程人員,人們完全可以用訂制真實生活中一項工作流程的簡單方式來完成編程。
簡單性:提供最基本的方法來完成指定的任務(wù),只需理解一些基本的概念,就可以用它編寫出適合于各種情況的應(yīng)用程序。
面向?qū)ο螅禾峁┖唵蔚念悪C(jī)制以及動態(tài)的接口模型。對象中封裝狀態(tài)變量以及相應(yīng)的方法,實現(xiàn)了模塊化和信息隱藏;提供了一類對象的原型,并且通過繼承機(jī)制,子類可以使用父類所提供的方法,實現(xiàn)了代碼的復(fù)用。
安全性:用于網(wǎng)絡(luò)、分布環(huán)境下有安全機(jī)制保證。
平臺無關(guān)性:與平臺無關(guān)的特性使程序可以方便地被移植到網(wǎng)絡(luò)上的不同機(jī)器、不同平臺。[5] 計算機(jī)語言之父
計算機(jī)語言之父
“計算機(jī)語言之父”尼蓋德幫助因特網(wǎng)奠下了基礎(chǔ),為計算機(jī)業(yè)做出了巨大貢獻(xiàn)。
尼蓋德是奧斯陸大學(xué)的教授,因為發(fā)展了simula編程語言,為ms-dos和因特網(wǎng)打下了基礎(chǔ)而享譽(yù)國際。克里斯汀?尼蓋德于1926年在奧斯陸出生,1956年畢業(yè)于奧斯陸大學(xué)并取得數(shù)學(xué)碩士學(xué)位,此后致力于計算機(jī)計算與編程研究。1961年~1967年,尼蓋德在挪威計算機(jī)中心工作,參與開發(fā)了面向?qū)ο蟮木幊陶Z言。因為表現(xiàn)出色,2001年,尼蓋德和同事奧爾?約安?達(dá)爾獲得了2001年a.m.圖靈機(jī)獎及其它多個獎項。當(dāng)時為尼蓋德頒獎的計算機(jī)協(xié)會認(rèn)為他們的工作為java,c++等編程語言在個人電腦和家庭娛樂裝置的廣泛應(yīng)用掃清了道路,“他們的工作使軟件系統(tǒng)的設(shè)計和編程發(fā)生了基本改變,可循環(huán)使用的、可靠的、可升級的軟件也因此得以面世。”
尼蓋德因其卓越的貢獻(xiàn),而被譽(yù)為“計算機(jī)語言之父”,其對計算機(jī)語言發(fā)展趨勢的掌握和認(rèn)識,以及投身于計算機(jī)語言事業(yè)發(fā)展的精神都將激勵我們向著計算機(jī)語言無比燦爛的明天前進(jìn)。[6] 3分類編輯
低級語言
機(jī)器語言、匯編語言和符號語言。
匯編語言源程序必須經(jīng)過匯編,生成目標(biāo)文件,然后執(zhí)行。[1] 專用語言
CAD系統(tǒng)中的繪圖語言和DBMS的數(shù)據(jù)庫查詢語言。
機(jī)器語言
機(jī)器語言是指一臺計算機(jī)全部的指令集合
電子計算機(jī)所使用的是由“0”和“1”組成的二進(jìn)制數(shù),二進(jìn)制是計算
計算機(jī)語言
機(jī)的語言的基礎(chǔ)。計算機(jī)發(fā)明之初,人們只能降貴紆尊,用計算機(jī)的語言去命令計算機(jī)干這干那,一句話,就是寫出一串串由“0”和“1”組成的指令序列交由計算機(jī)執(zhí)行,這種計算機(jī)能夠認(rèn)識的語言,就是機(jī)器語言。使用機(jī)器語言是十分痛苦的,特別是在程序有錯需要修改時,更是如此。
因此程序就是一個個的二進(jìn)制文件。一條機(jī)器語言成為一條指令。指令是不可分割的最小功能單元。而且,由于每臺計算機(jī)的指令系統(tǒng)往往各不相同,所以,在一臺計算機(jī)上執(zhí)行的程序,要想在另一臺計算機(jī)上執(zhí)行,必須另編程序,造成了重復(fù)工作。但由于使用的是針對特定型號計算機(jī)的語言,故而運(yùn)算效率是所有語言中最高的。機(jī)器語言,是第一代計算機(jī)語言。
匯編語言
為了減輕使用機(jī)器語言編程的痛苦,人們進(jìn)行了一種有益的改進(jìn):用一些簡潔的英文字母、符號串來替代一個特定的指令的二進(jìn)制串,比如,用“ADD”代表加法,“MOV”代表數(shù)據(jù)傳遞等等,這樣一來,人們很容易讀懂并理解程序在干什么,糾錯及維護(hù)都變得方便了,這種程序設(shè)計語言就稱為匯編語言,即第二代計算機(jī)語言。然而計算機(jī)是不認(rèn)識這些符號的,這就需要一個專門的程序,專門負(fù)責(zé)將這些符號翻譯成二進(jìn)制數(shù)的機(jī)器語言,這種翻譯程序被稱為匯編程序。匯編語言同樣十分依賴于機(jī)器硬件,移植性不好,但效率仍十分高,針對計算機(jī)特定硬件而編制的匯編語言程序,能準(zhǔn)確發(fā)揮計算機(jī)硬件的功能和特長,程序精煉而質(zhì)量高,所以至今仍是一種常用而強(qiáng)有力的軟件開發(fā)工具。[1] 匯編語言的實質(zhì)和機(jī)器語言是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標(biāo)識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
匯編程序的每一句指令只能對應(yīng)實際操作過程中的一個很細(xì)微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復(fù)雜、容易出錯,而且使用匯編語言編程需要有更多的計算機(jī)專業(yè)知識,但匯編語言的優(yōu)點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現(xiàn)的,而且源程序經(jīng)匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。[4] 高級語言
高級語言有:BASIC(True basic、Qbasic、Virtual Basic)、C、計算機(jī)語言
C++、PASCAL、FORTRAN、智能化語言(LISP、Prolog、CLIPS、OpenCyc、Fazzy)、動態(tài)語言(Python、PHP、Ruby、Lua)等等。-高級語言源程序可以用解釋、編譯兩種方式執(zhí)行。通常用后一種。[1] 高級語言是絕大多數(shù)編程者的選擇。和匯編語言相比,它不但將許多相關(guān)的機(jī)器指令合成為單條指令并且去掉了與具體操作有關(guān)但與完成工作無關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。由于省略了很多細(xì)節(jié),所以編程者也不需要具備太多的專業(yè)知識。高級語言主要是相對于匯編語言而言,它并不是特指某一種具體的語言,而是包括了很多編程語言,流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。[4] 高級語言的發(fā)展
特別要提到的:在C語言誕生以前,系統(tǒng)軟件主要是用匯編語言編寫的
計算機(jī)語言
。由于匯編語言程序依賴于計算機(jī)硬件,其可讀性和可移植性都很差;但一般的高級語言又難以實現(xiàn)對計算機(jī)硬件的直接操作(這正是匯編語言的優(yōu)勢),于是人們盼望有一種兼有匯編語言和高級語言特性的新語言——C語言。
高級語言的發(fā)展也經(jīng)歷了從早期語言到結(jié)構(gòu)化程序設(shè)計語言,從面向過程到非過程化程序語言的過程。相應(yīng)地,軟件的開發(fā)也由最初的個體手工作坊式的封閉式生產(chǎn),發(fā)展為產(chǎn)業(yè)化、流水線式的工業(yè)化生產(chǎn)。
高級語言的下一個發(fā)展目標(biāo)是面向應(yīng)用,也就是說:只需要告訴程序你要干什么,程序就能自動生成算法,自動進(jìn)行處理,這就是非過程化的程序語言。[1] 4常見語言編輯
C語言 C語言是Dennis Ritchie在七十年代創(chuàng)建的,它功能更強(qiáng)大
計算機(jī)語言
且與ALGOL保持更連續(xù)的繼承性,而ALGOL則是COBOL和FORTRAN的結(jié)構(gòu)化繼承者。C語言被設(shè)計成一個比它的前輩更精巧、更簡單的版本,它適于編寫系統(tǒng)級的程序,比如操作系統(tǒng)。在此之前,操作系統(tǒng)是使用匯編語言編寫的,而且不可移植。C語言是第一個使得系統(tǒng)級代碼移植成為可能的編程語言。
優(yōu)點:有益于編寫小而快的程序。很容易與匯編語言結(jié)合。具有很高的標(biāo)準(zhǔn)化,因此其他平臺上的各版本非常相似。
缺點:不容易支持面向?qū)ο蠹夹g(shù)。語法有時會非常難以理解,并造成濫用。
移植性:C語言的核心以及ANSI函數(shù)調(diào)用都具有移植性,但僅限于流程控制、內(nèi)存管理和簡單的文件處理。其他的東西都跟平臺有關(guān)。比如說,為Windows和Mac開發(fā)可移植的程序,用戶界面部分就需要用到與系統(tǒng)相關(guān)的函數(shù)調(diào)用。這一般意味著你必須寫兩次用戶界面代碼,不過還好有一些庫可以減輕工作量。[7] C++ C++語言是具有面向?qū)ο筇匦缘腃語言的繼承者。面向?qū)ο缶幊?,或稱OOP是結(jié)構(gòu)化編程的下一步。OO程序由對象組成,其中的對象是數(shù)據(jù)和函數(shù)離散集合。有許多可用的對象庫存在,這使得編程簡單得只需要將一些程序“建筑材料”堆在一起(至少理論上是這樣)。比如說,有很多的GUI和數(shù)據(jù)庫的庫實現(xiàn)為對象的集合。優(yōu)點:組織大型程序時比C語言好得多。很好的支持面向?qū)ο髾C(jī)制。通用數(shù)據(jù)結(jié)構(gòu),如鏈表和可增長的陣列組成的庫減輕了由于處理低層細(xì)節(jié)的負(fù)擔(dān)。
缺點:非常大而復(fù)雜。與C語言一樣存在語法濫用問題。比C慢。大多數(shù)編譯器沒有把整個語言正確的實現(xiàn)。
移植性:比C語言好多了,但依然不是很樂觀。因為它具有與C語言相同的缺點,大多數(shù)可移植性用戶界面庫都使用C++對象實現(xiàn)。[7] 匯編語言
匯編是第一個計算機(jī)語言。匯編語言實際上是你計算機(jī)處理器實際運(yùn)行的指令的命令形式表示法。這意味著你將與處理器的底層打交道,比如寄存器和堆棧。如果你要找的是類英語且有相關(guān)的自我說
計算機(jī)語言
明的語言,這不是你想要的。特別注意:語言的名字叫“匯編”。把匯編語言翻譯成真實的機(jī)器碼的工具叫“匯編程序”。把這門語言叫做“匯編程序”這種用詞不當(dāng)相當(dāng)普遍,因此,請從這門語言的正確稱呼作為起點出發(fā)。
優(yōu)點:最小、最快的語言。匯編高手能編寫出比任何其他語言能實現(xiàn)的快得多的程序。你將是利用處理器最新功能的第一人,因為你能直接使用它們。
缺點:難學(xué)、語法晦澀、堅持效率,造成大量額外代碼—不適于心臟虛弱者。移植性:接近零。因為這門語言是為一種單獨的處理器設(shè)計的,根本沒移植性可言。如果使用了某個特殊處理器的擴(kuò)展功能,你的代碼甚至無法移植到其他同類型的處理器上(比如,AMD的3DNow指令是無法移植到其它奔騰系列的處理器上的)。[7] Pascal語言
Pascal語言是由NicolasWirth在七十年代早期設(shè)計的,因為他對于FORTRAN和COBOL沒有強(qiáng)制訓(xùn)練學(xué)生的結(jié)構(gòu)化編程感到很失望,“空心粉式代碼”變成了規(guī)范,而當(dāng)時的語言又不反對它。Pascal被設(shè)計來強(qiáng)行使用結(jié)構(gòu)化編程。最初的Pascal被嚴(yán)格設(shè)計成教學(xué)之用,最終,大量的擁護(hù)者促使它闖入了商業(yè)編程中。當(dāng)Borland發(fā)布IBMPC上的TurboPascal時,Pascal輝煌一時。集成的編輯器,閃電般的編譯器加上低廉的價格使之變得不可抵抗,Pascal編程了為MS-DOS編寫小程序的首選語言。然而時日不久,C編譯器變得更快,并具有優(yōu)秀的內(nèi)置編輯器和調(diào)試器。Pascal在1990年Windows開始流行時走到了盡頭,Borland放棄了Pascal而把目光轉(zhuǎn)向了為Windows編寫程序的C++。TurboPascal很快被人遺忘。
基本上,Pascal比C簡單。雖然語法類似,它缺乏很多C有的簡潔操作符。這既是好事又是壞事。雖然很難寫出難以理解的“聰明”代碼,它同時也使得一些低級操作,如位操作變得困難起來。
優(yōu)點:易學(xué)、平臺相關(guān)的運(yùn)行(Dephi)非常好。
缺點:“世界潮流”面向?qū)ο蟮腜ascal繼承者(Modula、Oberon)尚未成功。語言標(biāo)準(zhǔn)不
計算機(jī)語言
被編譯器開發(fā)者認(rèn)同。
.移植性:很差。語言的功能由于平臺的轉(zhuǎn)變而轉(zhuǎn)變,沒有移植性工具包來處理平臺相關(guān)的功能。[7] VisualBasic 優(yōu)點:整潔的編輯環(huán)境。易學(xué)、即時編譯導(dǎo)致簡單、迅速的原型。大量可用的插件。雖然有第三方的DirectX插件,DirectX7已準(zhǔn)備提供VisualBasic的支持。
缺點:程序很大,而且運(yùn)行時需要幾個巨大的運(yùn)行時動態(tài)連接庫。雖然表單型和對話框型的程序很容易完成,要編寫好的圖形程序卻比較難。調(diào)用Windows的API程序非常笨拙,因為VB的數(shù)據(jù)結(jié)構(gòu)沒能很好的映射到C中。有OO功能,但卻不是完全的面向?qū)ο蟆?/p>
移植性:非常差。因為VisualBasic是微軟的產(chǎn)品,你自然就被局限在他們實現(xiàn)它的平臺上。[7] Java Java是由Sun最初設(shè)計用于嵌入程序的可移植性“小C++”。在網(wǎng)頁上運(yùn)行小程序的想法著實吸引了不少人的目光,于是,這門語言迅速崛起。事實證明,Java不僅僅適于在網(wǎng)頁上內(nèi)嵌動畫—它是一門極好的完全的軟件編程的小語言?!疤摂M機(jī)”機(jī)制、垃圾回收以及沒有指針等使它很容易實現(xiàn)不易崩潰且不會泄漏資源的可靠程序。
計算機(jī)語言
雖然不是C++的正式續(xù)篇,Java從C++中借用了大量的語法。它丟棄了很多C++的復(fù)雜功能,從而形成一門緊湊而易學(xué)的語言。不像C++,Java強(qiáng)制面向?qū)ο缶幊?,要在Java里寫非面向?qū)ο蟮某绦蚓拖褚赑ascal里寫“空心粉式代碼”一樣困難。
優(yōu)點:二進(jìn)制碼可移植到其他平臺。程序可以在網(wǎng)頁中運(yùn)行。內(nèi)含的類庫非常標(biāo)準(zhǔn)且極其健壯。自動分配合垃圾回收避免程序中資源泄漏。網(wǎng)上數(shù)量巨大的代碼例程。
缺點:使用一個“虛擬機(jī)”來運(yùn)行可移植的字節(jié)碼而非本地機(jī)器碼,程序?qū)⒈日嬲幾g器慢。有很多技術(shù)(例如“即時”編譯器)很大的提高了Java的速度,不過速度永遠(yuǎn)比不過機(jī)器碼方案。早期的功能,如AWT沒經(jīng)過慎重考慮,雖然被正式廢除,但為了保持向后兼容不得不保留。越高級的技術(shù),造成處理低級的機(jī)器功能越困難,Sun為這門語言增加新的“受祝?!惫δ艿乃俣葘嵲谔?。
移植性:最好的,但仍未達(dá)到它本應(yīng)達(dá)到的水平。低級代碼具有非常高的可移植性,但是,很多UI及新功能在某些平臺上不穩(wěn)定。[7] 創(chuàng)作工具
多數(shù)創(chuàng)作工具有點像VisualBasic,只是它們工作在更高的層次上。大多數(shù)工具使用一些拖拉式的流程圖來模擬流程控制。很多內(nèi)置解釋的程序語言,但是這些語言都無法像上面所說的單獨的語言那樣健壯。優(yōu)點:快速原型—如果你的游戲符合工具制作的主旨,你或許能使你的游戲跑得比使用其他
計算機(jī)語言
語言快。在很多情況下,你可以創(chuàng)造一個不需要任何代碼的簡單游戲。使用插件程序,如Shockware及IconAuthor播放器,你可以在網(wǎng)頁上發(fā)布很多創(chuàng)作工具生成的程序。
缺點:專利權(quán),至于將增加什么功能,你將受到工具制造者的支配。你必須考慮這些工具是否能滿足你游戲的需要,因為有很多事情是那些創(chuàng)作工具無法完成的。某些工具會產(chǎn)生臃腫得可怕的程序。
移植性:因為創(chuàng)作工具是具有專利權(quán)的,你的移植性以他們提供的功能息息相關(guān)。有些系統(tǒng),如Director可以在幾種平臺上創(chuàng)作和運(yùn)行,有些工具則在某一平臺上創(chuàng)作,在多種平臺上運(yùn)行,還有的是僅能在單一平臺上創(chuàng)作和運(yùn)行。[7] C# C#是一種精確、簡單、類型安全、面向?qū)ο蟮恼Z言。其是.Net的代表性語言。什么是.Net呢?按照微軟總裁兼首席執(zhí)行官Steve Ballmer把它定義為:.Net代表一個集合,一個環(huán)境,它可以作為平臺支持下一代Internet的可編程結(jié)構(gòu)。
C#的特點:
1.完全面向?qū)ο蟆?.支持分布式。
3.自動管理內(nèi)存機(jī)制。
4.安全性和可移植性。
5.指針的受限使用。
6.多線程。和Java類似,C#可以由一個主進(jìn)程分出多個執(zhí)行小系統(tǒng)的多線程。
C#是在Java流行起來后所誕生的一種新的程序開發(fā)語言。[7] 5特點編輯
在沒有程序語言以前,計算機(jī)科學(xué)家們寫程序都是以開關(guān)電
計算機(jī)語言
閘(即用二進(jìn)制)來實現(xiàn)(表示)的,后來有了匯編,在后來有了C,直到今天有了C++、JAVA、VB、Delphi等等各種各樣的編程語言層出不窮??删驮谟嬎銠C(jī)語言不斷的演化過程中,每一種語言都有一些共性是不變的.。這些共性可概括為以下三點: 其一是:內(nèi)存電位的設(shè)置.(置1或0)其二是:條件判斷(if,else)該功能可通過邏輯門實現(xiàn).其三是:循環(huán),也就是程序下一條指令地址可設(shè)置。[8] 詞條圖冊更多圖冊
◆
詞條圖片(14張)
第三篇:外貿(mào)流程(適合初學(xué)者)
要想做服裝出口,首先得在海關(guān)商檢等部門注冊,這里就不細(xì)談了。
先說要提前做的,在各部門注冊后,應(yīng)在外管局領(lǐng)取電子申報系統(tǒng)軟件,安裝到自己電腦上,并進(jìn)行申領(lǐng)核銷單。
一、接單
這主要是業(yè)務(wù)部的工作,但為了整個過程的連貫,在這里大體談一下。業(yè)務(wù)部和貿(mào)易部在出口業(yè)務(wù)上聯(lián)系很密切。公司接單生產(chǎn)過程中,貿(mào)易部就應(yīng)該將本單信息及時統(tǒng)計處理,為出口做好準(zhǔn)備。來料加工的還應(yīng)辦理加工貿(mào)易手冊,建立臺帳等事宜。
二、聯(lián)系貨代
有報關(guān)權(quán),但沒有自己的報關(guān)員;或者有進(jìn)出口權(quán),沒有報關(guān)權(quán)的企業(yè),一般用貨代公司。
貿(mào)易部應(yīng)該及時尋求合適的貨運(yùn)公司為自己出口作準(zhǔn)備,并與車間做好溝通,確定好單箱件數(shù),每箱重量及體積,明確完工時間,以便確定船期通知貨代租船定艙。
及時催促貨代將入貨通知,傳真過來,以便發(fā)貨。
同時還應(yīng)索取收貨證明等,以備核銷用。
三、商檢
一般出口貨物都需要商檢,領(lǐng)取通關(guān)單,報關(guān)時作為通關(guān)單據(jù)??梢苑肿C,以作為分批出口之用。有效期看商品性質(zhì)定。通關(guān)單需提前交到貨代公司。
四、原產(chǎn)地證
因部分進(jìn)口國家根據(jù)雙邊或多邊協(xié)議或國際條約,規(guī)定部分商品需提交原產(chǎn)地證,才能報關(guān)進(jìn)口。辦理原產(chǎn)地證前,也有一個注冊,在商檢局。
五、作單據(jù)
臨近報關(guān),貿(mào)易部應(yīng)做好報關(guān)所用單據(jù),發(fā)票、裝箱單、合同等,如果是來料等,還要將加工貿(mào)易手冊交于貨代,部分港口可用傳真件報關(guān),過后呈遞原件。
發(fā)給貨代的單據(jù)有發(fā)票、箱單、核銷單、合同、報關(guān)委托書、通關(guān)單,來料加工貿(mào)易還應(yīng)提供貿(mào)易手冊。
六、聯(lián)系運(yùn)輸
港口附近或者直接有貨代辦理的,不必考慮此項。
聯(lián)系合適的貨運(yùn)物流等,將貨按規(guī)定時間發(fā)到指定場站。
七、報關(guān)行或貨代報關(guān)
此步驟,一般與公司沒關(guān)系,報關(guān)行或貨代就會處理了。
八、核銷單、報關(guān)單核銷連發(fā)回
貨物出口后,要及時通知貨代將單據(jù)發(fā)回,以便及時結(jié)匯核銷。一般在兩周左右。有手冊的,手冊發(fā)回。
九、交單
如果此單為信用證,那就需要在報關(guān)后,信用證有效期內(nèi),將信用證所需單據(jù)交與通知行。一般單據(jù)有提單、發(fā)票、箱單、信用證正本、修改信用證、議付擔(dān)保函等。
十、外匯核銷
貨物出口后,應(yīng)先在網(wǎng)上申報,然后到外管局核銷。單據(jù)有核銷單、報關(guān)單核銷連、銀行水單。有手冊的,要進(jìn)行手冊核銷。
十一、報稅
就是準(zhǔn)備申請退稅,3月內(nèi)報到稅務(wù)機(jī)關(guān),單據(jù)為
合同、箱單、發(fā)票、提單、入貨通知、大副收據(jù)、貨代收貨證明、廠內(nèi)箱單等。
不同的地區(qū),可能稅務(wù)機(jī)關(guān)要求不同。
第四篇:項目計劃書(適合初學(xué)者)
項目計劃書
(內(nèi)容模板)
編寫基本原則:
1、書寫句式通暢,意思表達(dá)清晰。
2、用詞實事求是,力求具體。避免使用各種虛詞,如:大約、可能、大概等等
3、結(jié)合我公司實際情況用以說明。項目中的支撐描述都要與公司具體事件相結(jié)合,減少使用政治詞語、官方語言等等。
【明確項目目標(biāo)】
確定立項需要達(dá)成的目標(biāo),并表述出來。
表述目標(biāo)可以總體表述,也可以分小目標(biāo)表述,但是至少需要包含以下3個方面:
1、所要達(dá)成目標(biāo)的量化指標(biāo),即可以使目標(biāo)看得見、摸得著、可以被考核。
2、需要限定達(dá)成目標(biāo)的時間條件。
3、需要表明達(dá)成目標(biāo)所需要的費用
如:
(1)需要花費100萬元對現(xiàn)有涂布機(jī)進(jìn)行改造,在6個月內(nèi)可以使涂布成本下降10%,由現(xiàn)在的0.50元/平米下降到0.45元/平米。
(2)降低涂布生產(chǎn)成本
1)由現(xiàn)在的0.50元/平米下降到0.45元/平米
2)需要6個月的時間
3)需要投入100萬元對現(xiàn)有涂布機(jī)改造
【明確項目背景】
本項目產(chǎn)生的背景以及需要通過該項目需要解決什么問題。
【明確項目條件】
實施本項目需要的各種條件因素
至少應(yīng)包括3部分:
1)已具備的成熟條件
2)通過努力可以自己解決的條件
3)需要公司支持才能解決的條件(需要提供獲得條件的相關(guān)詳細(xì)情況,如路徑、數(shù)量、費用等)
【確定項目團(tuán)隊】
組建本項目團(tuán)隊(項目組織結(jié)構(gòu))
項目經(jīng)理:(具體到人名)
項目組成員:(具體到人名)
項目組織結(jié)構(gòu)圖
【進(jìn)行工作分解】
可以根據(jù)不同方法對本項目工作進(jìn)行分解,只要項目經(jīng)理可以解決過程控制,達(dá)到最總完成本項目的總目標(biāo)就可以。(樹狀結(jié)構(gòu)圖和甘特圖—橫道圖)
基本分解方法有: 按目標(biāo)對項目進(jìn)行分解
按職能對項目進(jìn)行分解
按任務(wù)對項目進(jìn)行分解
基本分解原則有: 繁簡適度,分解不能少于4層,一般控制在4—6層
最下層任務(wù)包(工作包)要可以落實到單人操作為準(zhǔn)
最下層任務(wù)包(工作包)是可完成,可量化,可考核的【落實責(zé)任矩陣】
表格形式,行為項目組成員人名,列為每個任務(wù)包(工作包),行列交叉位置填注標(biāo)識,可以用數(shù)字、字母等表示,表格后需要單獨注明標(biāo)識意義。
如: F(負(fù)責(zé));P(配合);J(監(jiān)督);C(操作)等
【設(shè)立里程碑節(jié)點】
如果項目時間跨度比較長,需要在長時間中設(shè)立必要的分段完成目標(biāo)(里程碑),方便對項目的過程監(jiān)控和階段調(diào)整。
用橫道圖形式表示。里程碑必須是可以考核的節(jié)點,是處于完成狀態(tài)的,不能是一個占用的時間段,時間為0.【具體項目措施】
本項目的具體實施計劃和保障措施。
步驟流程
制度規(guī)范
考核標(biāo)準(zhǔn)
獎懲制度
等等
【潛在風(fēng)險分析】
實施本項目過程中,可能會出現(xiàn)的突發(fā)事件、潛在風(fēng)險、不確定因素等等分析的同時,要拿出自己的應(yīng)變解決方案。
【各個利益相關(guān)者滿意度分析】
利益相關(guān)者,是與本項目有關(guān)聯(lián)關(guān)系的一系列人,本項目的結(jié)果,對這些人都會產(chǎn)生一定的影響,包括橫向與縱向的關(guān)系。
利益相關(guān)者不同,他們的所關(guān)注的利益也不同,對項目的結(jié)果的滿意程度也不同。評價一個項目的是否成功,就是看這個項目是否能使各個利益相關(guān)者盡量滿意。
第五篇:計算機(jī)語言工作總結(jié)
計算機(jī)室工作總結(jié)
本學(xué)年在學(xué)校整體工作計劃的指導(dǎo)下,我負(fù)責(zé)微機(jī)室管理工作。學(xué)期臨近結(jié)束,回顧這個學(xué)期所從事的微機(jī)室管理工作,基本上是比較順利地完成任務(wù)。當(dāng)然在工作中我享受到收獲喜悅,也在工作中發(fā)現(xiàn)一些存在的問題?,F(xiàn)將本學(xué)期計算機(jī)室所做的工作總結(jié)如下:
一、加強(qiáng)管理,確保機(jī)器正常運(yùn)行。
開學(xué)初,首先從管理制度上著手,對學(xué)生進(jìn)行了微機(jī)室制度的學(xué)習(xí)。要求每位學(xué)生上課時先對號入座,并檢查好自己所用的那臺計算機(jī)的鍵盤、鼠標(biāo)、顯示器、主機(jī)、桌椅等是否有損壞,有任何問題馬上報告教師。
二、上課期間管理。
上課過程中監(jiān)督好每位學(xué)生的使用情況,如有不按要求練習(xí),而是去運(yùn)行其它軟件或進(jìn)行其它操作的,馬上給予批評警告,以防止學(xué)生亂刪除,亂操作,導(dǎo)致計算機(jī)系統(tǒng)崩潰現(xiàn)象。
三、加強(qiáng)衛(wèi)生管理。
灰塵是微機(jī)的天敵。微機(jī)室出入學(xué)生眾多,衛(wèi)生就難管得多。為搞好清潔衛(wèi)生,微機(jī)室每周都進(jìn)行徹底的衛(wèi)生清掃。
四、用電安全管理。
各種機(jī)器設(shè)備電源接插件,不準(zhǔn)隨便移動。若出現(xiàn)故障,立即關(guān)閉電源,停止使用,由老師處理,嚴(yán)禁硬性操作和私自拆修。
當(dāng)然,這些工作是遠(yuǎn)遠(yuǎn)不夠的,還需要繼續(xù)努力,加強(qiáng)管理,為我校信息教育技術(shù)更上一個新臺階。
總之,信息技術(shù)是一門不斷發(fā)展的學(xué)科,展望學(xué)校的發(fā)展和學(xué)科的發(fā)展,還有許多知識要學(xué),還有許多事情要做。在今后的教育教學(xué)工作中,努力工作,發(fā)揚(yáng)優(yōu)點,改正缺點,開拓前進(jìn),爭取取得更大的進(jìn)步。