編程語言
編程語言(programming language)可以簡單的理解為一種計(jì)算機(jī)和人都能識別的語言。一種計(jì)算機(jī)語言讓程序員能夠準(zhǔn)確地定義計(jì)算機(jī)所需要使用的數(shù)據(jù),并精確地定義在不同情況下所應(yīng)當(dāng)采取的行動。

編程語言處在不斷的發(fā)展和變化中,從最初的機(jī)器語言發(fā)展到如今的2500種以上的高級語言,每種語言都有其特定的用途和不同的發(fā)展軌跡。編程語言并不像人類自然語言發(fā)展變化一樣的緩慢而又持久,其發(fā)展是相當(dāng)快速的,這主要是計(jì)算機(jī)硬件、互聯(lián)網(wǎng)和IT業(yè)的發(fā)展促進(jìn)了編程語言的發(fā)展。
發(fā)展歷史 編輯本段
第一臺計(jì)算機(jī)是在二十世紀(jì)四十年代發(fā)明的,當(dāng)時(shí)的計(jì)算機(jī)各項(xiàng)控制主要是由人工操作來實(shí)現(xiàn)的,但在便利性方面嚴(yán)重不足,經(jīng)過多年的發(fā)展,相關(guān)人員提出了利用編程語言來控制計(jì)算機(jī)的構(gòu)想,雖然當(dāng)時(shí)的編程模式還不夠完善,但卻對計(jì)算機(jī)編程語言的發(fā)展產(chǎn)生了巨大的推動作用。而計(jì)算機(jī)編程語言也正是在這之后的半個(gè)世紀(jì)中逐漸完善的。隨著社會的發(fā)展,各領(lǐng)域的技術(shù)需求不斷提升,這使得計(jì)算機(jī)編程的發(fā)展越來越趨于復(fù)雜化和多樣化。在這種情況下,一些可視的﹑集成的語言環(huán)境逐漸開始嶄露頭角,只需要進(jìn)行簡單的按鍵,就可以完成一段代碼的編寫,大大減少了計(jì)算機(jī)編程的資金成本和時(shí)間成本。加上一些高級語言的出現(xiàn),如Pascal﹑fortran以及C語言等,使得計(jì)算機(jī)操控已經(jīng)不再需要大量的資本和人工,直到二十世紀(jì)九十年代,計(jì)算機(jī)編程領(lǐng)域高速發(fā)展,逐漸誕生了一些面向?qū)ο蟮母呒壵Z言,如Java等,使得計(jì)算機(jī)程序逐漸從原來的通信和計(jì)算向著視頻解析﹑圖像傳輸﹑智能模擬以及知識處理等方向發(fā)展,換言之就是通過計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)進(jìn)行數(shù)據(jù)采集﹑分析﹑管理,實(shí)現(xiàn)智能操作。在現(xiàn)代文明不斷發(fā)展的情況下,通過計(jì)算機(jī)編程語言已經(jīng)能夠?qū)Ω黝I(lǐng)域的信息化需求加以滿足。
簡介概況 編輯本段
計(jì)算機(jī)編程語言能夠?qū)崿F(xiàn)人與機(jī)器之間的交流和溝通,而計(jì)算機(jī)編程語言主要包括匯編語言、機(jī)器語言以及高級語言,具體內(nèi)容如下:
匯編語言
該語言主要是以縮寫英文作為標(biāo)符進(jìn)行編寫的,運(yùn)用匯編語言進(jìn)行編寫的一般都是較為簡練的小程序,其在執(zhí)行方面較為便利,但匯編語言在程序方面較為冗長,所以具有較高的出錯(cuò)率。
機(jī)器語言
這種語言主要是利用二進(jìn)制編碼進(jìn)行指令的發(fā)送,能夠被計(jì)算機(jī)快速地識別,其靈活性相對較高,且執(zhí)行速度較為可觀,機(jī)器語言與匯編語言之間的相似性較高,但由于具有局限性,所以在使用上存在一定的約束性。
高級語言
所謂的高級語言,其實(shí)是由多種編程語言結(jié)合之后的總稱,其可以對多條指令進(jìn)行整合,將其變?yōu)閱螚l指令完成輸送,其在操作細(xì)節(jié)指令以及中間過程等方面都得到了適當(dāng)?shù)暮喕?,所以,整個(gè)程序更為簡便,具有較強(qiáng)的操作性,而這種編碼方式的簡化,使得計(jì)算機(jī)編程對于相關(guān)工作人員的專業(yè)水平要求不斷放寬。
時(shí)代語言 編輯本段
編程語言一般分為:低級語言、高級語言和面向?qū)ο髸r(shí)代。
低級語言時(shí)代
低級語言時(shí)代(1946-1953)主要包括被稱為“天書”的機(jī)器語言以及匯編語言。
計(jì)算機(jī)工作基于二進(jìn)制,從根本上說,計(jì)算機(jī)只能識別和接受由0和1組成的指令。這些指令的集合就是該計(jì)算機(jī)的機(jī)器語言。機(jī)器語言包括的缺點(diǎn)有:難學(xué)、難寫、難記、難檢查、難修改,難以推廣使用。因此初期只有極少數(shù)的計(jì)算機(jī)專業(yè)人員會編寫計(jì)算機(jī)程序。
匯編語言由于機(jī)器語言的難以理解,莫奇萊等人開始想到用助記符來代替0,1代碼,于是匯編語言出現(xiàn)了。
高級語言時(shí)代
高級語言時(shí)代(1954-至今)——隨著世界上第一個(gè)高級語言fortran的出現(xiàn),新的編程語言開始不斷涌現(xiàn)出來。數(shù)十年來,全世界涌現(xiàn)了2500種以上高級語言,一些流行至今,一些則逐漸消失。
第一個(gè)高級語言—Fortran
為了克服低級語言的缺點(diǎn),20世紀(jì)50年代由美國約翰·貝克斯(John Backus)創(chuàng)造出了第一個(gè)計(jì)算機(jī)高級語言——FORTRAN語言。它很接近人們習(xí)慣使用的自然語言和數(shù)學(xué)語言。程序中所用運(yùn)算符和運(yùn)算表達(dá)式,很容易理解,使用也十方便。并且FORTRAN以其特有的功能在數(shù)值、科學(xué)和工程計(jì)算領(lǐng)域發(fā)揮著重要作用。
第一個(gè)結(jié)構(gòu)化程序設(shè)計(jì)語言—ALGOLALGOL
這是在計(jì)算機(jī)發(fā)展史上首批清晰定義的高級語言,由歐美計(jì)算機(jī)學(xué)家合力所組成的聯(lián)席大會于仍是晶體管計(jì)算機(jī)流行的1950年代所開發(fā)國際計(jì)算機(jī)學(xué)會(ACM)將ALGOL模式列為算法描述的標(biāo)準(zhǔn),啟發(fā)ALGOL類現(xiàn)代語言Pascal、Ada、C語言等出現(xiàn)。
最簡單的語言——BASIC
1964年BASIC語言正式發(fā)布。是由達(dá)特茅斯學(xué)院院長、匈牙利人約翰·凱梅尼(John G.Kemeny)與數(shù)學(xué)系教師托馬斯·庫爾茨(Thomas E.Kurtz)共同研制出來的。該語言只有26個(gè)變量名,17條語句,12個(gè)函數(shù)和3個(gè)命令。這門語言叫做“初學(xué)者通用符號指令代碼。
編程語言里一個(gè)重要的里程碑——Pascal Pasca
這是基于ALGOL編程語言,為紀(jì)念法國數(shù)學(xué)家、哲學(xué)家、電腦先驅(qū)布萊茲·帕斯卡而命名。它由瑞士Niklaus Wirth教授于六十年代末設(shè)計(jì)并創(chuàng)立的。Pascal具有語法嚴(yán)謹(jǐn)、層次分明等特點(diǎn),是第一個(gè)結(jié)構(gòu)化編程語言,被稱為“編程語言里一個(gè)重要的里程碑”。
現(xiàn)代程序語言革命的起點(diǎn)——C語言
C語言的祖先是BCPL(Basic Combined Programming Language)語言,在1970年美國貝爾實(shí)驗(yàn)室的Ken Thompson在BCPL語言的基礎(chǔ)上,設(shè)計(jì)出了B語言。接著在1972到1973年間,美國貝爾實(shí)驗(yàn)室的Dennis M.Ritchie在Ken Thompson的基礎(chǔ)上設(shè)計(jì)出了C語言。
面向?qū)ο髸r(shí)代
面向?qū)ο髸r(shí)代(90年代初-至今)——面向?qū)ο蟪绦蛟O(shè)計(jì)(Object-Oriented Programming,簡稱OOP)如今在整個(gè)程序設(shè)計(jì)中十分重要,其最突出的特點(diǎn)為封裝性、繼承性和多態(tài)性。
Java
Java是由Sun Microsystem于1995年推出的高級編程語言。近幾年來,Java企業(yè)級應(yīng)用飛速發(fā)展,主要被運(yùn)用于電信、金融、交通等行業(yè)的信息化平臺建設(shè)。Java是一個(gè)普遍適用的軟件平臺,其具有易學(xué)易用、平臺獨(dú)立、可移植、多線程、健壯、動態(tài)、安全等主要特性。
Python
近幾年來,Python語言上升勢頭比較迅速,其主要原因在于大數(shù)據(jù)和人工智能領(lǐng)域的發(fā)展,隨著產(chǎn)業(yè)互聯(lián)網(wǎng)的推進(jìn),Python語言未來的發(fā)展空間將進(jìn)一步得到擴(kuò)大。Python是一種高層次的腳本語言,目前應(yīng)用于Web和Internet開發(fā)、科學(xué)計(jì)算和統(tǒng)計(jì)、教育、軟件開發(fā)和后端開發(fā)等領(lǐng)域,且有著簡單易學(xué)、運(yùn)行速度快、可移植、可擴(kuò)展、可嵌入等優(yōu)點(diǎn)。
選用原則 編輯本段
(1)綜合思考軟件運(yùn)行過程中所處的硬件環(huán)境。如果在硬件環(huán)境中。更新效率相對偏高,一旦硬件環(huán)境出現(xiàn)一定轉(zhuǎn)變,將會使計(jì)算機(jī)編程預(yù)算無法快速地和硬件環(huán)境相迎合。使得程序編程帶來一定影響。所以,程序人員在程序編程的過程中,需要對軟件調(diào)整內(nèi)容加以綜合思考。并且注重適當(dāng)?shù)販p少軟件調(diào)整難度。
(2)全面思考平臺支撐性。在開展程序編程工作的過程中,應(yīng)該思考應(yīng)用平臺給編程語言帶來的影響,結(jié)合編程語言自身特性對應(yīng)用平臺實(shí)施科學(xué)調(diào)整,從而實(shí)現(xiàn)工作水平的提升,將編程語言自身作用充分發(fā)揮。
(3)思考程序編程實(shí)際問題。在進(jìn)行程序編程的過程中,綜合思考上述兩個(gè)問題時(shí)。還要對編程實(shí)際情況進(jìn)行全面思考。所以,在進(jìn)行計(jì)算機(jī)編程語言選擇的過程中,要求編程人員對編程語言特性有所了解。變成人員在對特殊性軟件開發(fā)過程中。應(yīng)該選用較為專業(yè)的計(jì)算機(jī)編程語言.專業(yè)性編程語言能夠有效提升軟件開發(fā)的規(guī)范性。
選用技巧 編輯本段
開發(fā)計(jì)算機(jī)軟件中,最為核心的關(guān)鍵就是保障計(jì)算機(jī)程序在正常運(yùn)作的情況下.這就需要計(jì)算機(jī)程序員應(yīng)該對程序進(jìn)行詳細(xì)調(diào)查。在調(diào)查完畢之后,隨機(jī)抽樣整合計(jì)算機(jī)相關(guān)數(shù)據(jù)信息,進(jìn)而選擇最為合適的計(jì)算機(jī)編程語言的類型,在此基礎(chǔ)上,才能減少計(jì)算機(jī)程序的出錯(cuò)率。在選用計(jì)算機(jī)語言的過程時(shí),計(jì)算機(jī)程序員要充分地考慮計(jì)算機(jī)編程語言的各個(gè)優(yōu)勢特點(diǎn),權(quán)衡利弊,還要合理控制計(jì)算機(jī)語言開發(fā)的實(shí)際成本問題,才能夠使計(jì)算機(jī)編程語言的效果最大化。
(1)在選擇編程語言之前,應(yīng)充分考慮項(xiàng)目的總體框架,以確定編程語言的分布。因?yàn)檎麄€(gè)項(xiàng)目的所有部分都是用一種語言寫的。此外,組件的連接和分解與編程語言的選擇密切相關(guān)。在一些項(xiàng)目中,可以相對簡單地選擇最佳編程語言,但是編程過程是靈活多變的。最佳語言選擇需要根據(jù)程序要求進(jìn)行更改。
(2)在科學(xué)合理的原則下,我們應(yīng)該選擇最熟悉的編程語言。因?yàn)殚_發(fā)人員熟悉某種語言,他們可以極大地幫助他們預(yù)測開發(fā)時(shí)間、過程和其他內(nèi)容,這可以很好地避免大的變化,提高編程效率。
(3)對于高成本操作,如加密、圖形渲染、視頻處理和其他內(nèi)容操作,應(yīng)給予充分考慮。對于這些高成本的操作模塊,開發(fā)人員應(yīng)該選擇需要編譯的靜態(tài)語言。JAVA和C#是最好的選擇。
(4)目前,編程語言的開發(fā)環(huán)境不再局限于計(jì)算機(jī)硬件環(huán)境。硬件環(huán)境足以進(jìn)行軟件開發(fā),但對于一些特殊的應(yīng)用軟件或嚴(yán)重的情況,編程環(huán)境不僅僅是硬件環(huán)境。因此,應(yīng)該做出科學(xué)合理的選擇,使他們編寫的程序能夠在這種環(huán)境下良好運(yùn)行。
(5)支持平臺是選擇編程語言的重要基礎(chǔ)。例如,代碼需要在客戶的瀏覽器中運(yùn)行,這導(dǎo)致可供選擇的編程語言較少。
(6)任何編程語言的使用都需要確保編寫的程序能夠根據(jù)實(shí)際需要及時(shí)調(diào)整。因此,快速原型開發(fā)環(huán)境非常重要,在這種環(huán)境下,動態(tài)語言和相關(guān)庫的結(jié)合可以大大增強(qiáng)其優(yōu)勢。
主要應(yīng)用 編輯本段
當(dāng)前階段,為了使計(jì)算機(jī)方面的軟件技術(shù)獲得更高的應(yīng)用質(zhì)量,并不斷提升社會各界的信息化水平,相關(guān)領(lǐng)域的科研人員正在對計(jì)算機(jī)中的編程語言進(jìn)行持續(xù)的完善與創(chuàng)新,以此來提升計(jì)算機(jī)編程語言的直觀性以及易學(xué)性,使編程人員能夠獲得更具便捷性的編程語言,而目前應(yīng)用較為廣泛的編程語言包括PHP﹑Java﹑C++﹑VB以及C語言等,不同的編程語言其在應(yīng)用優(yōu)勢方面也各不相同,所以,在具體應(yīng)用期間,需要結(jié)合自身需求,選擇具有較高適應(yīng)性和針對性的編程語言,以此來確保所選編程語言的優(yōu)勢。
PHP
從本質(zhì)上來講,PHP計(jì)算機(jī)編程語言是HTML內(nèi)嵌式語言之一,它在動態(tài)網(wǎng)站編程語言中屬于較為主流的編程語言,但具體應(yīng)用時(shí),需要與html css+rdiv+js等語言進(jìn)行有效配合才能構(gòu)建一個(gè)較為完善的網(wǎng)站,這種語言的主要功能就是對HTML的文檔信息進(jìn)行有效的執(zhí)行,并通過與多種編程語言的有效融合來滿足用戶的計(jì)算機(jī)操作需求和控制需求,如Perd﹑Java以及C語言等等,除此之外,應(yīng)用PHP這種編程語言還能實(shí)現(xiàn)動態(tài)網(wǎng)頁的有效構(gòu)建。
Java
Java是一種以對象為基礎(chǔ)的編程語言,其關(guān)注的重點(diǎn)在于數(shù)據(jù)應(yīng)用和操縱的具體算法,其作為分布式語言的一種,是高性能互聯(lián)網(wǎng)架構(gòu)的重要組成部分,其本身具有諸多優(yōu)勢,如語法簡捷﹑內(nèi)存能夠進(jìn)行自動化管理﹑可以進(jìn)行跨平臺移植﹑異常處理可靠性高以及字節(jié)碼具有完善的安全機(jī)制,其在信息化時(shí)代中具有較為廣泛的應(yīng)用范圍,特別是在互聯(lián)網(wǎng)﹑游戲控制﹑個(gè)人PC以及多媒體等方面具有至關(guān)重要的作用,而且在軟件以及網(wǎng)站建設(shè)方面的應(yīng)用也非常廣泛,最為典型的就是在安卓APP中的應(yīng)用。除此之外,在電腦端中的一些辦公軟件同樣是應(yīng)用Java語言編寫的,如Excel以及Word等,但與C語言相比,Java編程語言在機(jī)械效率方面相對較低,但其經(jīng)濟(jì)性和可移植性是其最大的優(yōu)勢之一,所以其在大數(shù)據(jù)領(lǐng)域以及超級計(jì)算機(jī)方面的應(yīng)用也相對較多。以Java技術(shù)在政府網(wǎng)站建設(shè)中的應(yīng)用為例,在建設(shè)政府網(wǎng)站的過程中,一般可建網(wǎng)站架構(gòu)分為3層,分別為業(yè)務(wù)層﹑數(shù)據(jù)層和表現(xiàn)層。數(shù)據(jù)層主要負(fù)責(zé)對群眾數(shù)據(jù)進(jìn)行管理,為網(wǎng)站服務(wù)提供便利條件。業(yè)務(wù)層,在該層中融入了各子系統(tǒng)的業(yè)務(wù)邏輯,通過中間支撐層實(shí)現(xiàn)數(shù)據(jù)層和業(yè)務(wù)層之間的數(shù)據(jù)交換,通過業(yè)務(wù)層,能確保網(wǎng)站應(yīng)用功能的順利實(shí)現(xiàn),同時(shí)提供了標(biāo)準(zhǔn)化開發(fā)接口。表現(xiàn)層,該層主要負(fù)責(zé)信息交互以及數(shù)據(jù)展示,負(fù)責(zé)對用戶的相關(guān)請求進(jìn)行技術(shù),結(jié)合請求的具體類型,將其傳輸至應(yīng)用服務(wù)器,最后將處理結(jié)果反饋給用戶。在對政府網(wǎng)站進(jìn)行建設(shè)過程中,一般要采取分布式設(shè)計(jì),并在相應(yīng)層次上對相關(guān)軟件進(jìn)行集成,同時(shí)也可借助產(chǎn)品應(yīng)用開發(fā)接口完成開發(fā)工作。Java技術(shù)能夠提供出應(yīng)用開發(fā)編程接口以及規(guī)范化組件,最后結(jié)合不同的需求,對功能進(jìn)行復(fù)用,同時(shí)也可進(jìn)行隨意組合。
C++
目前我們所接觸到的網(wǎng)絡(luò)游戲大部分都是以C++為基礎(chǔ)開發(fā)出來的,并且在計(jì)算機(jī)中較為常見的操作系統(tǒng)內(nèi)核都是使用C語言進(jìn)行編寫的,如Windows/Linux等,以C語言為基礎(chǔ)進(jìn)行持續(xù)優(yōu)化的C++語言,相比于C語言,其在應(yīng)用期間具有明顯的優(yōu)勢,它能夠?qū)Τ绦蛘Z言的運(yùn)行狀態(tài)進(jìn)行有效的優(yōu)化,而且C++使得C語言的完善性得到了進(jìn)一步的提升,特別是它的穩(wěn)健性以及簡潔性,受到了程序員的青睞,所以其在程序編寫方面的應(yīng)用較為廣泛。除此之外,C++具有較強(qiáng)的繪圖能力和數(shù)據(jù)處理能力,移植的靈活性也相對較強(qiáng),所以被普遍應(yīng)用于圖形處理﹑系統(tǒng)軟件﹑游戲以及手機(jī)等方面,而人們熟知的俄羅斯方塊就是C++語言的典型應(yīng)用。
發(fā)展趨勢 編輯本段
隨著科技的發(fā)展與進(jìn)步,計(jì)算機(jī)在軟硬件技術(shù)方面不斷革新,特別是多核時(shí)代的發(fā)展,使得傳統(tǒng)形式的計(jì)算機(jī)體系結(jié)構(gòu)逐漸改變,受到這種發(fā)展形式的影響,計(jì)算機(jī)在編程語言方面也應(yīng)該做出相應(yīng)的改變,也只有如此,才能使社會各界的信息化發(fā)展需求得到更好的滿足,而想要在編程語言方面實(shí)現(xiàn)優(yōu)化創(chuàng)新,必須要從編程人員操作﹑編程語言應(yīng)用﹑面向?qū)ο罂臻g拓展以及平臺無關(guān)性等方面入手。
(1)要確保使用者各項(xiàng)操作的便捷性。就目前的計(jì)算機(jī)程序來看,其核心主線即數(shù)據(jù)抽象和面向?qū)ο蟪绦蛟O(shè)計(jì),而為了使編程語言的各項(xiàng)操作更加便捷,就必須要確保編程語言具有簡單易學(xué)的特點(diǎn),不斷降低其專業(yè)性,以使用便捷性為主要發(fā)展方向,確保使用者只需要掌握基本概念和操作方式,就可以對一些較為簡單的程序進(jìn)行編寫,確保便捷地操作。
(2)編程語言應(yīng)以對象為基礎(chǔ),實(shí)現(xiàn)深化發(fā)展,并提供具有較強(qiáng)動態(tài)性的接口模型和簡單的類機(jī)制。對繼承機(jī)制加以利用,子類可以對父類給出的方法加以應(yīng)用,以此來實(shí)現(xiàn)代碼復(fù)用。此外,計(jì)算機(jī)網(wǎng)絡(luò)本身具有較強(qiáng)的開放性,所以,編程語言在未來發(fā)展的過程中,更應(yīng)該對安全性進(jìn)行充分的考慮,使程序編寫能夠獲得一個(gè)較為安全的環(huán)境,因此,應(yīng)該對安全保護(hù)機(jī)制加以建設(shè),結(jié)合程序編寫的相關(guān)特點(diǎn),進(jìn)行安全體系的構(gòu)建,確保編寫環(huán)境的和諧性及安全性。而提升平臺無關(guān)性主要就是為了編寫程序可以在不同平臺或機(jī)器當(dāng)中進(jìn)行移植,避免受到平臺的影響,這也是編寫語言未來發(fā)展的重要方向,在這種發(fā)展模式下,應(yīng)用編寫程序時(shí)將會更加方便,會使其獲得更為廣闊的應(yīng)用范圍。
附件列表
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。
如果您認(rèn)為本詞條還有待完善,請 編輯
上一篇 金屬樂 下一篇 醞釀效應(yīng)