av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

論程序的三個基本要素:語言,API和工具

時間:2025-05-17 18:31:58 好文 我要投稿
  • 相關(guān)推薦

論程序的三個基本要素:語言,API和工具

  語言

  語言通常是中立的,和特定的平臺無關(guān)(匯編語言與系統(tǒng)語言除外);但是,某些語言確實比較適合某些平臺。以Apple平臺來說,顯然objective-C會是最好的選擇;以NET平臺來說,顯然C#會是最好的選擇。好的語言選擇可以讓你具有更多資源,和平臺有更好的整合,且新版本推出的速度更快。

  語言通常也和專業(yè)領(lǐng)域無關(guān)(當(dāng)然,像VHDL.這樣的語言除外),大多數(shù)語言在介紹自己時,用到「General-Purpose」 (一般用途)形容自己。但不可否認(rèn)的,不同語言可能會有不同的適用性,有些語言適合開發(fā)Web前端,有些適合開發(fā)Web后端,有些適合開發(fā)桌面程序。語言通常會帶有作風(fēng)(paradigm,也稱為「范式」), 有些是00P的范式、有些是FPP的范式…。經(jīng)過多年的融合與演變,大多數(shù)的語言至少會同時具有兩、三種范式,有些甚至?xí)噙_(dá)七、八種。語言范式越多時,程序設(shè)計師可以依據(jù)自己的需求和喜好,采用不同的范式。但范式多不見得是好事,有可能表示這個語言沒有中心思想,駕馭的難度可能更高,寫程序時犯錯的機(jī)會可能更大。

  語言有高階和低階的分別,高階者比較接近人類,低階者比較接近機(jī)器。很多人誤以為越低階的語言越「難」,事實上可能不是如此。在我使用8086匯編語言的時候,我就領(lǐng)悟到,匯編語言其實相當(dāng)好學(xué),因為語言元素(指令)相當(dāng)少,月變化不人,基本概念都差不多。多數(shù)人認(rèn)定匯編語言很「難」,其實是在于「難讀」(不容易借山閱讀源碼得知原作者的意圖)與「難寫」(即使要表達(dá)一件簡單的事,也必須寫出很多程序碼),而非「難學(xué)」。

  對于語言的選擇,除了平臺、領(lǐng)域、范式之外,還有相當(dāng)多面向需要考量,其中有-些是許多人所疏忽的,像是可讀性、可寫性、上手快慢。 另外,也要考慮到API,如果你選擇的語言沒有你需要的[API],那么你的麻煩就大了。

  API

  API通常和特定的平臺無關(guān),但是和專業(yè)領(lǐng)域有關(guān)。至于那些和專業(yè)領(lǐng)域無關(guān)的API (例如排序、字串處理),我都把它們歸納到語言中,而傾向不認(rèn)定它們是API。

  大多數(shù)的API都是以函數(shù)的方式存在。00P的API會將函數(shù)集合成類別,將類別集合成框架;FP的API會將函數(shù)集合成模組。API的單位很難認(rèn)定,你可以說一個框架或模組是一個API.一個Class是一個API、或者一個函數(shù)是一個 API。

  我認(rèn)為語言、API、 工具這三者中,API是最難學(xué)的。以Java來說,package 有上百個,類別有上千個,方法(函數(shù))更是有上萬個。API牽涉到專業(yè)領(lǐng)域的知識,有特定的呼叫次序和參數(shù)需求。

  其中最難的API通常是GUI (圖形化使用者界面)。資料庫的API可能反倒很簡單,因為許多資料庫API都只是CLI (Cal1-Level Interface),只負(fù)責(zé)將SQL語法送到DBMS。從某種角度來看,不只這些負(fù)責(zé)連線到資料庫的函數(shù)是API,SQL 語言應(yīng)該也算是資料庫API的一部份。而SQL是一種DSL (Domain Specific Language)。

  這又牽涉到這幾年開始流行的一一個話題-以DSL形式存在的API,例如Ruby-on-Railso由于DSL是語言,所以使用彈性自然比函數(shù)(類別、框架)大,加上語言用途特定,所以很容易學(xué),這些都是DSL式的API受到大家的矚目的原因。而且,DSL 可以讓程序碼大幅縮短,有助于減少對某些開發(fā)[工具]的依賴。

  工具

  當(dāng)然,最基本的開發(fā)工具是編輯器、編譯器(或解譯器)、除錯器,但這已經(jīng)是遠(yuǎn)古時代的事情了,F(xiàn)代的軟件開發(fā),用的工具越來越多。尤其是程序產(chǎn)生器的地位越來越重要。

  現(xiàn)在的開發(fā)工具都很強調(diào)程序產(chǎn)生器,利用程序產(chǎn)生器提高生產(chǎn)力。以往只需要U1traEdit就能寫程序,不需要這些龐大的開發(fā)工具,現(xiàn)在卻很難辦得到,正是因為程序碼產(chǎn)生器的緣故。很多人即使不知道底層的作法,也可以很快地把系統(tǒng)做出來,可以在名片印上「 資深軟件工程師」,這也是拜程序產(chǎn)生器之賜。

  現(xiàn)在的軟件開發(fā)都已經(jīng)走火入魔了。開發(fā)的速度提升,不是因為需要寫的程序變短,而是程序碼產(chǎn)生器幫我們產(chǎn)生出更多程序,而這些產(chǎn)生出來的程序,如果沒有像Visual Studio 這樣的T具協(xié)助,以后會相當(dāng)難以維護(hù)。

  我希望語言能更精簡,且支援建立DSL,而DSL類型的API大幅度減少程序碼長度,減低我們對于某些工具的依賴。語言、API、工具不應(yīng)該是三足鼎立,而應(yīng)該以語言和API為主,工具為輔。

【論程序的三個基本要素:語言,API和工具】相關(guān)文章:

淺評《語言興衰論》的作文08-10

收養(yǎng)孩子的條件和程序[1]06-03

論形體語言在戲劇表演中的重要地位08-30

我和語言文字作文09-05

我和語言文字作文07-09

探析漢語言文學(xué)中語言的應(yīng)用和意境08-25

中班語言:小狐貍的槍和炮02-27

(薦)我和語言文字作文11-17

中班語言《黑螞蟻和紅螞蟻》02-29