您好,登錄后才能下訂單哦!
軟件入門(mén)的知識(shí)之程序設(shè)計(jì)語(yǔ)言Java和C#的簡(jiǎn)單介紹和對(duì)比[圖]:
前言:
要做軟件就必然會(huì)涉及到程序設(shè)計(jì)語(yǔ)言,它是什么?有哪些特點(diǎn)?又有哪幾部分組成的呢?在這里我們?yōu)榇蠹易隽艘粋€(gè)總結(jié),希望可以通過(guò)這些內(nèi)容讓大家對(duì)于程序設(shè)計(jì)語(yǔ)言有一個(gè)大概的認(rèn)識(shí)。
基本概念:
1、低級(jí)/高級(jí)
計(jì)算機(jī)的硬件只可以識(shí)別由1、0組成的機(jī)器指令程序,所以機(jī)器指令是最基本的計(jì)算機(jī)語(yǔ)言。由于機(jī)器指令是由特定的計(jì)算機(jī)系統(tǒng)所固有的、面向機(jī)器的語(yǔ)言,所以使用機(jī)器語(yǔ)言進(jìn)行程序設(shè)計(jì),效率低、可讀性差、難以理解,而且也不便修改和維護(hù)。后來(lái)出現(xiàn)了由符號(hào)標(biāo)識(shí)的匯編指令組成的匯編語(yǔ)言,它和機(jī)器語(yǔ)言非常接近,在書(shū)寫(xiě)格式上很大程度上決定于于計(jì)算機(jī)的機(jī)器指令,所以它在使用時(shí)也不是很方便,正是因?yàn)檫@種操作和后期維護(hù)上的不便等因素人們把機(jī)器語(yǔ)言和匯編語(yǔ)言稱之為低級(jí)語(yǔ)言。
在低級(jí)語(yǔ)言的基礎(chǔ)上,人們開(kāi)發(fā)出了功能更強(qiáng)、抽象級(jí)別更高的程序設(shè)計(jì)語(yǔ)言,于是就出現(xiàn)了各種面向各類(lèi)應(yīng)用程序的設(shè)計(jì)語(yǔ)言,這些我們統(tǒng)稱為高級(jí)語(yǔ)言,比如常見(jiàn)的Java、C、C++、PHP等都屬于高級(jí)語(yǔ)言的范疇,這些語(yǔ)言顯著的特點(diǎn)就是和人們使用的自然語(yǔ)言十分接近,提高了程序的設(shè)計(jì)效率。
2、編譯/解釋
在前邊我們介紹過(guò)計(jì)算機(jī)只可以識(shí)別由0、1組成的機(jī)器語(yǔ)言,那么高級(jí)語(yǔ)言是如何被計(jì)算機(jī)識(shí)別的呢?顯然計(jì)算機(jī)在識(shí)別高級(jí)語(yǔ)言之前需要先進(jìn)行翻譯,完成這項(xiàng)任務(wù)的程序被我們稱之為語(yǔ)言處理程序。高級(jí)語(yǔ)言的翻譯有很多形式,不過(guò)最基本的方式只有三種,即匯編、解釋、編譯。
用高級(jí)語(yǔ)言或者匯編語(yǔ)言編寫(xiě)的程序我們稱之為源程序,它們不可以直接在計(jì)算機(jī)上執(zhí)行,它們需要相應(yīng)的翻譯程序進(jìn)行處理,變成計(jì)算機(jī)可以識(shí)別的內(nèi)容,被翻譯之后的程序我們稱之為目標(biāo)程序。那么高級(jí)語(yǔ)言采用的編譯和解釋兩種方式有哪些區(qū)別呢?這里我們對(duì)這部分內(nèi)容做個(gè)總結(jié)。
解釋程序,有時(shí)候也叫做解釋器,它或者是直接解釋執(zhí)行的源程序,或者是將源程序翻譯成某種中間代碼后再加以執(zhí)行;編譯程序則是將源程序翻譯為目標(biāo)程序,然后再在計(jì)算機(jī)上運(yùn)行。這兩種方式的根本區(qū)別在于:編譯方式下,計(jì)算機(jī)中運(yùn)行的是和源程序等價(jià)的目標(biāo)程序,源程序和編譯程序都不再參與目標(biāo)程序的執(zhí)行;相反在解釋方式下,解釋程序和源程序還是會(huì)參與到程序的運(yùn)行中,運(yùn)行程序的控制權(quán)在解釋程序。更加簡(jiǎn)單的說(shuō)就是在解釋方式下,翻譯源程序不再參與目標(biāo)程序的執(zhí)行過(guò)程,而編譯器則將源程序翻譯成獨(dú)立保存的目標(biāo)程序。
程序語(yǔ)言的分類(lèi)
程序設(shè)計(jì)語(yǔ)言分類(lèi)沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),按照編程時(shí)的思維特點(diǎn)可以將程序分為結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言、面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言、函數(shù)式程序設(shè)計(jì)語(yǔ)言以及邏輯型程序設(shè)計(jì)語(yǔ)言等,下邊我們就對(duì)主要的一些內(nèi)容做個(gè)簡(jiǎn)單的介紹。
1、結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言
它是基于動(dòng)作的語(yǔ)言,在這種語(yǔ)言中計(jì)算被看作是動(dòng)作的序列,C語(yǔ)言就是顯著的代表。結(jié)構(gòu)化設(shè)計(jì)語(yǔ)言的特性反應(yīng)在如下幾個(gè)方面:
第一, 使用自上而下的逐步精華的方法進(jìn)行編程;
第二, 按照模塊組成的方法進(jìn)行變成;
第三, 程序只包含順序、判定、以及循環(huán)構(gòu)造。
結(jié)構(gòu)化設(shè)計(jì)語(yǔ)言的結(jié)構(gòu)簡(jiǎn)單清晰,模塊化強(qiáng),描述方式接近人們習(xí)慣的推理方式,所以可讀性很好,而且在軟件的重用性和維護(hù)方面都有所進(jìn)步。
2、面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言
目前最流行的設(shè)計(jì)語(yǔ)言,常見(jiàn)的Java、C++、C#等都是面向?qū)ο笤O(shè)計(jì)語(yǔ)言的顯著代表,它們支持?jǐn)?shù)據(jù)隱藏、數(shù)據(jù)抽象、用戶定義類(lèi)型、繼承、多態(tài)等機(jī)制。
3、其他
除了結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言和面向?qū)ο笤O(shè)計(jì)語(yǔ)言,還有函數(shù)式設(shè)計(jì)語(yǔ)言和邏輯式設(shè)計(jì)語(yǔ)言,因?yàn)槲冶旧硪膊皇翘貏e了解,只是知道有這種說(shuō)法,所以在這里就不多做介紹了,如果感興趣的話,可以到網(wǎng)上百度相關(guān)的資料,也歡迎您通過(guò)微信公眾號(hào)和我分析您的學(xué)習(xí)收獲。
常見(jiàn)的程序設(shè)計(jì)語(yǔ)言
從最初的FORTRAN設(shè)計(jì)語(yǔ)言興起到現(xiàn)在,程序設(shè)計(jì)語(yǔ)言經(jīng)過(guò)不斷的修改和創(chuàng)新,出現(xiàn)了很多優(yōu)秀的設(shè)計(jì)語(yǔ)言,這里我們總結(jié)了一些常見(jiàn)的設(shè)計(jì)語(yǔ)言。
1、FORTRAN
第一個(gè)被廣泛應(yīng)用于科學(xué)計(jì)算的高級(jí)語(yǔ)言。一個(gè)FORTRAN程序有一個(gè)主程序和若干子程序組成。不過(guò)發(fā)展到現(xiàn)在這門(mén)語(yǔ)言和最初的版本已經(jīng)有了很大的差別。
2、PASCAL
一種結(jié)構(gòu)化程序設(shè)計(jì)員,從ALGOL演化而言,不過(guò)功能更加強(qiáng)大,在這種設(shè)計(jì)語(yǔ)言中將程序和過(guò)程合二為一,統(tǒng)一成過(guò)程,而且過(guò)程可以嵌套和遞歸。
3、前端代碼的性能
這主要是針對(duì)瀏覽器而言,簡(jiǎn)單說(shuō)就是訪問(wèn)頁(yè)面所用的時(shí)間。這個(gè)時(shí)間包括后端處理、代碼文件傳輸、頁(yè)面渲染、JS文件加載和運(yùn)行,為了縮短這部分時(shí)間需要我們編寫(xiě)簡(jiǎn)潔并且符合標(biāo)準(zhǔn)的代碼,同時(shí)通過(guò)壓縮文件等手段來(lái)減少文件傳輸?shù)臅r(shí)間。
4、C
20世界70年代發(fā)展起來(lái)的一種通用的程序設(shè)計(jì)語(yǔ)言,主要在UNIX系統(tǒng)以及運(yùn)行在UNIX系統(tǒng)上的軟件中使用,兼具了高級(jí)語(yǔ)言和匯編語(yǔ)言的特點(diǎn),提供了一個(gè)高效的執(zhí)行語(yǔ)句并且允許程序員可以直接訪問(wèn)操作系統(tǒng)和底層軟件,所以在系統(tǒng)級(jí)應(yīng)用、實(shí)時(shí)處理和嵌入式應(yīng)用的開(kāi)發(fā)中稱為主要的程序設(shè)計(jì)語(yǔ)言。
5、C++
在C語(yǔ)言基礎(chǔ)上發(fā)展而來(lái),和C兼容。在C++中,主要的是增加了類(lèi)機(jī)制,使其稱為一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。
6、Java
20 世紀(jì)90 年代發(fā)展起來(lái)的面向?qū)ο蟮脑O(shè)計(jì)語(yǔ)言,最初用來(lái)開(kāi)發(fā)網(wǎng)絡(luò)瀏覽器的小應(yīng)用程序,不過(guò)因?yàn)槭且环N通用的程序設(shè)計(jì)語(yǔ)言,所以目前得到了廣泛的應(yīng)用。在Java中保留了C++的基本語(yǔ)法、類(lèi)、繼承等概念,刪除了一些C++不太友好的特征,所以和C++相比,Java更加的簡(jiǎn)單,語(yǔ)法和語(yǔ)義也更加合理。
7、PHP
一種可以在服務(wù)端執(zhí)行,嵌入HTML文檔的腳本語(yǔ)言,語(yǔ)言的風(fēng)格非常類(lèi)似C語(yǔ)言,被網(wǎng)站編程開(kāi)發(fā)人員廣泛的使用。PHP可以快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè),語(yǔ)法也混合了C、Java這些語(yǔ)言,同時(shí)還添加了一些自創(chuàng)的內(nèi)容。
8、Python
一種面向?qū)ο蟮慕忉屝统绦蛟O(shè)計(jì)語(yǔ)言,可以用來(lái)編寫(xiě)?yīng)毩⒌某绦颍С謱?duì)操作系統(tǒng)底層的訪問(wèn),可以將Python源程序翻譯為字節(jié)碼在虛擬機(jī)上運(yùn)行。雖然內(nèi)核很小,但是提供了豐富的基本構(gòu)件塊,還可以使用C、C++、Java等程序進(jìn)行擴(kuò)展,因此可以用來(lái)開(kāi)發(fā)任何類(lèi)型的程序。
9、Delphi
可視化的開(kāi)發(fā)工具,在window環(huán)境下運(yùn)行,采用面向?qū)ο蟮木幊陶Z(yǔ)言O(shè)bject Pascal和基本構(gòu)件的開(kāi)發(fā)結(jié)構(gòu)框架,主要的特征是為基本窗體和面向?qū)ο蟮姆椒?、告訴的編譯器、強(qiáng)大的數(shù)據(jù)庫(kù)支持和Window編程緊密結(jié)合以及成熟的組件技術(shù)。
程序設(shè)計(jì)語(yǔ)言組成
程序設(shè)計(jì)語(yǔ)言是由哪幾部分組成的呢?在這里我們針對(duì)一些常見(jiàn)的設(shè)計(jì)語(yǔ)言的特點(diǎn)給大家做一個(gè)簡(jiǎn)單的總結(jié)和介紹。
1、數(shù)據(jù)
在程序設(shè)計(jì)語(yǔ)言中針對(duì)不同的內(nèi)容有不同的數(shù)據(jù)類(lèi)型,數(shù)據(jù)類(lèi)型對(duì)應(yīng)的對(duì)象則對(duì)應(yīng)著應(yīng)用中具有特殊意義的組成,它的名稱被我們稱之為標(biāo)識(shí)符,由數(shù)字、字母、下劃線組成。對(duì)于數(shù)據(jù)而言按照不同的角度可以進(jìn)行如下劃分:
常量/變量,這種劃分番薯主要是按照程序運(yùn)行的時(shí)候值是否可以被改變來(lái)劃分的,常量的值在程序運(yùn)行中不可以被改變,而變量在程序運(yùn)行中可以改變。
全局/局部變量,這種劃分方式是按照作用范圍來(lái)劃分的。全局變量作用域是整個(gè)文件和程序,而局部變量的作用域只是在定義它的函數(shù)或者程序塊中。
2、流程控制
流程控制語(yǔ)句,通過(guò)這些控制語(yǔ)句我們可以實(shí)現(xiàn)一些邏輯上的控制,主要的控制語(yǔ)句有三種,即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),下邊我們就來(lái)簡(jiǎn)單了解下這些流程控制語(yǔ)句。
如上所示是一個(gè)順序結(jié)構(gòu)的示意圖,表示一個(gè)操作序列,從第一個(gè)操作開(kāi)始,按照順序依次向后執(zhí)行,直到序列的最后一個(gè)操作。
如上所示就是一個(gè)選擇結(jié)構(gòu)的示意圖,通過(guò)判斷給定的條件是否成立,然后按照判斷的結(jié)果執(zhí)行相應(yīng)的操作。
除了順序結(jié)構(gòu)和選擇結(jié)構(gòu)外,就是循環(huán)結(jié)構(gòu),描述了重復(fù)執(zhí)行的過(guò)程,對(duì)于一個(gè)循環(huán)結(jié)構(gòu)一般是由初始化、循環(huán)體、循環(huán)條件三部分組成的。湯姆索亞歷險(xiǎn)記(http://www.simayi.net/dushubiji/6113.html)讀書(shū)筆記摘抄好詞好句及感悟賞析,常見(jiàn)的循環(huán)結(jié)構(gòu)有兩種,一種是while結(jié)構(gòu),另一種是do-while結(jié)構(gòu)。
其中while結(jié)構(gòu)如下所示:
這種結(jié)構(gòu)顯著的特點(diǎn)就是進(jìn)入循環(huán)之前必須是判斷條件成立,反之如果進(jìn)入循環(huán)前判斷條件不成立則不能進(jìn)入循環(huán)體中。而do-while結(jié)構(gòu)如下所示:
和while結(jié)構(gòu)不同,do-while結(jié)構(gòu)可以先進(jìn)入循環(huán)體中執(zhí)行一次,然后再進(jìn)行判斷。
3、其他
傳輸,指明語(yǔ)言允許的傳輸方式,比如賦值處理、數(shù)據(jù)的輸入和輸出等。
函數(shù),程序中重要的組成,它是一段具有獨(dú)立功能的程序,和函數(shù)密切相關(guān)的操作是函數(shù)定義、函數(shù)聲明以及函數(shù)調(diào)用。
后記:
我整理了一些軟件入門(mén)的知識(shí),包括程序語(yǔ)言的簡(jiǎn)單介紹以及軟件開(kāi)發(fā)過(guò)程的描述等內(nèi)容,如果您對(duì)感覺(jué)這些內(nèi)容對(duì)您的學(xué)習(xí)或者工作有所幫助的話,歡迎轉(zhuǎn)發(fā)給周?chē)呐笥?,感謝您的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。