91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么說(shuō)PHP是最糟糕的編程語(yǔ)言

程序人生 ? 來(lái)源:CSDN ? 作者:Oscar Merida ? 2021-10-08 16:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

PHP是一門(mén)有趣的編程語(yǔ)言。語(yǔ)言與利用語(yǔ)言構(gòu)建的程序通常屬于兩種設(shè)計(jì)理念。這里我指的不是瀑布式或敏捷之類的軟件開(kāi)發(fā)生命周期,而是軟件管理的基本思想。有人將這些思想稱為“正確的方式”以及“Worse is Better”。

PHP包含一些奇怪的問(wèn)題,很多人由于這些問(wèn)題而貶低這門(mén)語(yǔ)言,但他們也沒(méi)有錯(cuò)。這門(mén)語(yǔ)言有很多問(wèn)題。有人嘲笑PHP糟糕的設(shè)計(jì),還提出了一些正確的觀點(diǎn),盡管這些觀點(diǎn)是九年前提出的,但它們依然是正確的。然而,開(kāi)發(fā)人員卻可以利用PHP創(chuàng)建結(jié)構(gòu)“正確”的軟件,而且還引入了其他公認(rèn)好評(píng)的實(shí)踐。你可能接觸過(guò)Laminas和Symfony之類的框架,它們擁有最佳面向?qū)ο缶幊虒?shí)踐,開(kāi)發(fā)人員可以利用這些框架編寫(xiě)結(jié)構(gòu)正確的代碼。為什么會(huì)這樣?因?yàn)镻HP是最糟糕的編程語(yǔ)言。

設(shè)計(jì)軟件

1991年,Richard P. Gabriel發(fā)表了一篇題為《Lisp: Good News,Bad News, How to Win Big”》的論文。該論文的論點(diǎn)是,對(duì)于軟件的設(shè)計(jì)和壽命,“Worse is Better”,也就是說(shuō)越糟越好。他之所以得出這樣的觀點(diǎn),是因?yàn)樗庾R(shí)到程序設(shè)計(jì)出現(xiàn)了兩種截然不同的流派,他稱之為“MIT/Standford Style”(學(xué)院派)和“The Right Way”(正確的方式,又稱新澤西風(fēng)格,即后來(lái)的Worse is Better)。

這兩種理念的目標(biāo)相似,但對(duì)關(guān)鍵領(lǐng)域的看法不同。兩種風(fēng)格都側(cè)重于四大關(guān)鍵思想領(lǐng)域:簡(jiǎn)單性、正確性、一致性和完整性。學(xué)院派的風(fēng)格描述為:

簡(jiǎn)單性:設(shè)計(jì)必須簡(jiǎn)單,無(wú)論是實(shí)現(xiàn)還是接口。接口的簡(jiǎn)單性比實(shí)現(xiàn)的簡(jiǎn)單性更重要。

正確性:所有可觀察方面的設(shè)計(jì)必須都是正確的。絕對(duì)不允許錯(cuò)誤。

一致性:設(shè)計(jì)不能出現(xiàn)不一致。為了避免不一致,允許設(shè)計(jì)稍微削弱簡(jiǎn)單性和完整性。一致性與正確性同樣重要。

完整性:設(shè)計(jì)必須盡可能涵蓋重要情況。必須涵蓋所有合理預(yù)期的情況。不允許簡(jiǎn)單性過(guò)度降低完整性。

至于新澤西風(fēng)格,Gabriel認(rèn)為的目標(biāo)是:

簡(jiǎn)單性:設(shè)計(jì)必須簡(jiǎn)單,無(wú)論是實(shí)現(xiàn)還是接口。實(shí)現(xiàn)的簡(jiǎn)單性比接口的簡(jiǎn)單性更重要。簡(jiǎn)單性是設(shè)計(jì)中最重要的考慮因素。

正確性:所有可觀察方面的設(shè)計(jì)必須都是正確的。但是簡(jiǎn)單性比正確性略微重要一點(diǎn)。

一致性:設(shè)計(jì)不能過(guò)于不一致。在某些情況下,為了簡(jiǎn)單性,可以犧牲一致性。盡管如此,為了避免引入實(shí)現(xiàn)的復(fù)雜性或不一致,最好放棄設(shè)計(jì)中不太常見(jiàn)的情況。

完整性:設(shè)計(jì)必須盡可能涵蓋重要情況。必須涵蓋所有合理預(yù)期的情況。但是為了其他目標(biāo),可以犧牲完整性。事實(shí)上,一旦危及實(shí)現(xiàn)的簡(jiǎn)單性,就必須犧牲完整性。如果可以保持簡(jiǎn)單性,則可以犧牲一致性來(lái)實(shí)現(xiàn)完整性,接口的一致性尤其沒(méi)有價(jià)值。

爭(zhēng)論的關(guān)鍵是以LISP和C為例,討論為什么越糟越好。Gabriel 是一名 LISP 程序員,他認(rèn)為L(zhǎng)ISP比C更好。LISP 不僅和C一樣快,而且Common LISP花費(fèi)了數(shù)年時(shí)間進(jìn)行設(shè)計(jì)、開(kāi)發(fā)和標(biāo)準(zhǔn)化。定義語(yǔ)言的規(guī)范充分利用了各種不同版本的LISP的優(yōu)點(diǎn),而且LISP是最好的現(xiàn)代開(kāi)發(fā)環(huán)境之一。

LISP 是正確的方式

LISP代表了軟件開(kāi)發(fā)的“正確方式”。LISP易于交互,你可以通過(guò)各種方式與之交互。想通過(guò)Fortran調(diào)用 LISP?你可以通過(guò)Fortran調(diào)用LISP并傳入輸入數(shù)據(jù),反之亦然。在處理遺留代碼時(shí),你可以奢侈地享受 LISP 的所有現(xiàn)代特性。LISP的規(guī)范保證了設(shè)計(jì)的一致性。

看一看Python之類的現(xiàn)代語(yǔ)言就會(huì)發(fā)現(xiàn),規(guī)范對(duì)于提供多個(gè)后端和編譯器提供了很大幫助,所有解釋或編譯代碼的方式都相同。LISP的工具是一流的,1991年的LISP就擁有我們至今仍在享受的各種“福利”,比如逐步調(diào)試、數(shù)據(jù)檢查和精美的編輯器。作為一種語(yǔ)言,LISP是完備的。它具有先進(jìn)的面向?qū)ο缶幊虒?、多重繼承、一流的對(duì)象以及函數(shù)和類型。LISP似乎是開(kāi)發(fā)人員心中所想的編程語(yǔ)言。

1991年是LISP這門(mén)編程語(yǔ)言的最佳時(shí)期。這種技術(shù)上的正確性并不是由實(shí)際使用來(lái)證實(shí)的。LISP的開(kāi)發(fā)正在走下坡路。多年的負(fù)面新聞和定位失誤影響了 LISP 的外部聲譽(yù),不再被視為向最終用戶提供軟件的一種方式。在開(kāi)發(fā)方面,LISP提倡的很多思想與“預(yù)先做大量的設(shè)計(jì)”不謀而合。如果你曾使用過(guò)諸如瀑布模型之類的設(shè)計(jì)方法,就能看出一些問(wèn)題。“正確的方式”非常強(qiáng)調(diào)一致性、正確性,并確??紤]到所有可以想到的問(wèn)題。

LISP本身也不止一種語(yǔ)言,它有一個(gè)語(yǔ)言家族。雖然 Common LISP是標(biāo)準(zhǔn),但 LISP 本身也可用于實(shí)現(xiàn)各種基本的功能。Lockless Inc網(wǎng)站上的一篇文章認(rèn)為,這種分化是LISP最終失敗的決定性原因之一。即使LISP堅(jiān)持軟件設(shè)計(jì)的“正確方式”,但這種分化導(dǎo)致代碼維護(hù)和可移植性均受到了影響。

C 和 Unix 是錯(cuò)誤的方式

與此同時(shí),多虧了Unix,C成為了開(kāi)發(fā)軟件的首選語(yǔ)言。C是為Unix設(shè)計(jì)的,而 Unix是從C設(shè)計(jì)出來(lái)的。C的開(kāi)發(fā)人員采取的設(shè)計(jì)方式與LISP不同。1972年,C還是一門(mén)非常簡(jiǎn)單的編程語(yǔ)言。到1991年,C發(fā)生了一些變化,但基本原理沒(méi)有改變。功能都是根據(jù)開(kāi)發(fā)人員的需要和 Unix 的需要添加的。編寫(xiě)編譯器和程序很容易,因?yàn)檎Z(yǔ)言本身非常簡(jiǎn)單。雖然你也可以利用C編寫(xiě)復(fù)雜的程序,但與LISP相比,估計(jì)C只擁有程序員想要的50%~80%的功能。然而,C的便攜性非常驚人。

與通常用于LISP軟件和環(huán)境的硬件相比,C還可以在能力有限的硬件上運(yùn)行。因此,C能夠在更廣泛的機(jī)器上編譯和運(yùn)行軟件。C 軟件和Unix非常容易運(yùn)行,Gabriel認(rèn)為Unix和C會(huì)像病毒一樣流傳開(kāi)來(lái)。C的開(kāi)發(fā)始于 Dennis Ritchie 設(shè)計(jì)和構(gòu)建Unix時(shí)。由于貝爾實(shí)驗(yàn)室不被允許正式進(jìn)入計(jì)算機(jī)領(lǐng)域,因此 Unix 很容易分發(fā)給其他的各種用戶。這些用戶為了滿足自己的需求給Unix打補(bǔ)丁。

Dennis Ritchie能夠根據(jù)需要合并這些補(bǔ)丁,而不必提前想好這些需求。與LISP不同,C至今仍被廣泛使用。雖然PHP、JavaScript和Python等高級(jí)語(yǔ)言和解釋性語(yǔ)言是許多開(kāi)發(fā)人員的首選,但許多高級(jí)語(yǔ)言都是用C開(kāi)發(fā)的。盡管如今出現(xiàn)了像Rust這樣的競(jìng)爭(zhēng)對(duì)手,但在小型低功率設(shè)備上運(yùn)行仍然是C的優(yōu)勢(shì)。

PHP最糟糕

首先,越糟越好的軟件會(huì)被接受;其次,用戶的期望更低;第三,這些軟件可以被改進(jìn),直到接近“正確”的程度?!?Richard Gabriel幾年后,Rasmus Lerdorf開(kāi)始致力于創(chuàng)建個(gè)人主頁(yè)/表單解釋器(Personal Home Page/Forms Interpreter),即我們現(xiàn)在所說(shuō)的PHP。PHP/FI的誕生是因?yàn)長(zhǎng)erdorf 需要維護(hù)他的主頁(yè),并與表單和數(shù)據(jù)庫(kù)進(jìn)行交互。PHP/FI的設(shè)計(jì)甚至稱不上編程語(yǔ)言,而是作為C之上的腳本和函數(shù)層。

PHP 很簡(jiǎn)單

設(shè)計(jì)必須簡(jiǎn)單,無(wú)論是實(shí)現(xiàn)還是接口。實(shí)際上,PHP底部使用了C語(yǔ)言,我們認(rèn)為這是“最糟糕的”。然而,這帶來(lái)了一些優(yōu)勢(shì),最重要的是,簡(jiǎn)單的底層語(yǔ)言更加方便擴(kuò)展。雖然 Hack/HHVM 采用了更多的C++方法,但PHP本身仍然是C語(yǔ)言。

你可以在短短幾個(gè)小時(shí)內(nèi)學(xué)習(xí) PHP 語(yǔ)言的內(nèi)部結(jié)構(gòu)。Elizabeth Smith 曾發(fā)表過(guò)一個(gè)關(guān)于 PHP 擴(kuò)展的精彩演講(https://www.slideshare.net/auroraeosrose),其中介紹了大量關(guān)于 PHP 的內(nèi)部工作原理。PHP借鑒了其他C風(fēng)格的語(yǔ)言,不僅方便閱讀,而且還可以切換成C風(fēng)格系列的其他語(yǔ)言。PHP的大部分接口或標(biāo)準(zhǔn)庫(kù)都很簡(jiǎn)單,因?yàn)榇蟛糠趾诵墓δ苤徊贿^(guò)是對(duì)各種C庫(kù)進(jìn)行了包裝,然后原封不動(dòng)地公開(kāi)了。雖然這會(huì)導(dǎo)致接口的不一致,但也為C或C++開(kāi)發(fā)人員提供了一個(gè)熟悉的環(huán)境。

PHP語(yǔ)言主要用于Web開(kāi)發(fā)。你可以很容易地從該語(yǔ)言中找到某個(gè)HTTP的概念。想要獲取請(qǐng)求的標(biāo)頭?可以直接使用get_headers()。想要獲取請(qǐng)求信息?只需讀取全局變量$_GET 和 $_POST。PHP的接口很簡(jiǎn)單,而且內(nèi)部結(jié)構(gòu)也非常簡(jiǎn)單。

PHP(幾乎)是正確的

所有可觀察方面的設(shè)計(jì)必須都是正確的。簡(jiǎn)單性比正確性更好。此處,在簡(jiǎn)單性與正確性的選擇中,PHP更傾向于“簡(jiǎn)單”。在HHVM出現(xiàn)之前,并沒(méi)有任何關(guān)于PHP的外觀或功能的規(guī)范。Zend解釋器本身就是規(guī)范,而且該語(yǔ)言的行為方式始終是“正確的”(不包括實(shí)際的 bug)。

如果你想替換掉PHP 引擎,則需要實(shí)現(xiàn)該引擎的所有怪癖。許多核心函數(shù)的參數(shù)和返回類型都不是特別嚴(yán)格,主要目的是讓系統(tǒng)更易于使用。例如strpos()等函數(shù)的返回值可以是整數(shù)或布爾值,這比嚴(yán)格設(shè)計(jì)的返回整數(shù)或拋出異常的方法更容易使用??纯碢HP語(yǔ)言的發(fā)展,幾乎所有新功能都是以開(kāi)發(fā)人員的需求為基礎(chǔ),而不是追求“正確”。更多地關(guān)注嚴(yán)格的類型和異常錯(cuò)誤是一種更正確的方式。

盡管如此,短箭頭函數(shù)、屬性和枚舉之類功能才是開(kāi)發(fā)人員希望簡(jiǎn)化對(duì)代碼。

PHP 不必保持一致性

設(shè)計(jì)不能過(guò)于不一致。在某些情況下,為了簡(jiǎn)單性,可以犧牲一致性。我從不會(huì)說(shuō)PHP具有一致性,但它的一致性已經(jīng)足夠了。提及數(shù)組與字符串函數(shù),人們可能會(huì)抱怨Needle/haystack的參數(shù)順序。不過(guò)一般來(lái)說(shuō),數(shù)組函數(shù)是一致的,字符串函數(shù)是一致的。

與保持語(yǔ)言的一致性相比,保持與底層 C 庫(kù)的一致更簡(jiǎn)單。PHP在其他方面也很一致。比如strpos()函數(shù),PHP的函數(shù)在遇到錯(cuò)誤時(shí),就會(huì)返回FALSE,這一點(diǎn)非常一致。不一定正確,但很一致。函數(shù)命名是否帶下劃線往往也是與底層庫(kù)保持一致。PHP語(yǔ)言為了簡(jiǎn)單性犧牲了一致性,但即使沒(méi)有規(guī)范,它也在努力在有意義的地方保持一致。

PHP 的完整性符合一定的需求

設(shè)計(jì)必須盡可能涵蓋重要情況。在某些時(shí)候,PHP盡可能保持完備,它符合設(shè)計(jì)的需求:編寫(xiě)Web應(yīng)用程序。PHP的設(shè)計(jì)目標(biāo)從來(lái)不是成為一種適用于所有編程問(wèn)題的語(yǔ)言。盡管如此,由于簡(jiǎn)單性,PHP也適用于Web之外的編程。PHP最初的目的就是為Web編程提供最基本的功能,而且一直延續(xù)至今。核心語(yǔ)言的變化主要由開(kāi)發(fā)人員的需求驅(qū)動(dòng)。整個(gè)社區(qū)提出修改意見(jiàn),然后經(jīng)由社區(qū)投票,決定新功能被拒絕、修改還是接受。該語(yǔ)言中的大部分創(chuàng)新都是因?yàn)槲覀冃枰斓赝瓿晒ぷ鳌?/p>

即使我們竊取其他語(yǔ)言的特性,也是因?yàn)檫@些特性能夠減輕開(kāi)發(fā)人員的負(fù)擔(dān),很少是因?yàn)榱硪环N語(yǔ)言“更正確”。如今你可以利用PHP構(gòu)建Web應(yīng)用程序,而且在接下來(lái)的五年內(nèi)你還可以繼續(xù)用PHP制作Web應(yīng)用程序,只不過(guò)會(huì)添加一些新功能。然而,這種語(yǔ)言本身已經(jīng)達(dá)成所需。如果有需要,我們可以隨時(shí)添加新功能或修改語(yǔ)言。

越糟越好嗎?

Gabriel承認(rèn),“越糟越好”的思想是說(shuō)設(shè)計(jì)看起來(lái)很糟糕,可能不應(yīng)該作為更好的選擇。唯一的問(wèn)題是,審視這兩種設(shè)計(jì)理念,比較學(xué)院派與“正確的方法”,那么自然“越糟越好”是更靈活的選擇,還有“具有更好的生存特性”??纯?PHP,它證實(shí)了“越糟越好”的思想。在此期間,Gabriel承認(rèn)他也很猶豫哪種理念更好。作為一個(gè)社區(qū),PHP不斷爭(zhēng)論我們應(yīng)該正確地做事還是繼續(xù)簡(jiǎn)單地做事。

我們有像Laminas這樣的框架,以經(jīng)典的計(jì)算機(jī)科學(xué)方式構(gòu)建的庫(kù),還有Laravel這樣的框架關(guān)注開(kāi)發(fā)人員的體驗(yàn)和速度??梢哉f(shuō)PHP二者兼具。下次再聽(tīng)到有人批評(píng)PHP,就隨他們?nèi)グ伞?/p>

這種語(yǔ)言確實(shí)很糟糕,但PHP的長(zhǎng)盛不衰以及廣泛使用證明了這樣一個(gè)事實(shí):“正確的方式”未必比“最糟”更好。如果有人抱怨你使用的框架,也無(wú)需在意,從長(zhǎng)遠(yuǎn)來(lái)看這無(wú)關(guān)緊要。更重要的是,選擇一種舒服的設(shè)計(jì)理念,并告訴自己“越糟越好”。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3716

    瀏覽量

    97203
  • PHP
    PHP
    +關(guān)注

    關(guān)注

    0

    文章

    462

    瀏覽量

    28645

原文標(biāo)題:PHP 是最糟糕編程語(yǔ)言?

文章出處:【微信號(hào):coder_life,微信公眾號(hào):程序人生】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    C語(yǔ)言與C++的區(qū)別及聯(lián)系

    C語(yǔ)言和C++到底是什么關(guān)系? 首先C++和C語(yǔ)言本來(lái)就是兩種不同的編程語(yǔ)言,但C++確實(shí)是對(duì)C語(yǔ)言的擴(kuò)充和延伸,并且對(duì)C
    發(fā)表于 12-24 07:23

    單片機(jī)C語(yǔ)言編程的心得

    寫(xiě)這個(gè)8*8按鍵程序的過(guò)程中,不管是在自己寫(xiě)還是參考別人程序的過(guò)程中,發(fā)現(xiàn)自己對(duì)C語(yǔ)言有些基本知識(shí)點(diǎn)和編程規(guī)范有很多不懂的地方,有些是自己以前的編程習(xí)慣不好,有些就是基礎(chǔ)知識(shí)不扎實(shí)的表現(xiàn),所以總結(jié)
    發(fā)表于 12-08 07:44

    如何調(diào)試和編程CW32F030C8T7?支持哪些調(diào)試工具和編程語(yǔ)言

    了解如何調(diào)試和編程CW32F030C8T7是開(kāi)發(fā)過(guò)程中的重要環(huán)節(jié)。它支持哪些調(diào)試工具(如JTAG、串口調(diào)試等)和編程語(yǔ)言(如C、C++等)?如何設(shè)置和使用這些工具來(lái)加速開(kāi)發(fā)過(guò)程?
    發(fā)表于 12-05 06:48

    為什么單片機(jī)還在用C語(yǔ)言編程

    說(shuō)起單片機(jī)我們就會(huì)想到C語(yǔ)言,單片機(jī)為什么還在用C語(yǔ)言編程?現(xiàn)在有很多很好用的高級(jí)語(yǔ)言,如VC、PYTHON、PHP等等,為什么這些
    發(fā)表于 11-28 07:37

    C語(yǔ)言編程技巧

    設(shè)計(jì),分層開(kāi)發(fā)代碼,便于理解和維護(hù)。 ?8、避免使用GOTO語(yǔ)句?:盡管GOTO語(yǔ)句在某些情況下仍然有用,但現(xiàn)代編程更傾向于使用函數(shù)和循環(huán)控制結(jié)構(gòu),以提高代碼的可讀性和維護(hù)性。 ?9、利用C語(yǔ)言的靈活性
    發(fā)表于 11-27 06:46

    開(kāi)源鴻蒙技術(shù)大會(huì)2025丨編譯器與編程語(yǔ)言分論壇:語(yǔ)言驅(qū)動(dòng)系統(tǒng)創(chuàng)新,編譯賦能生態(tài)繁榮

    在萬(wàn)物智聯(lián)的時(shí)代背景下,操作系統(tǒng)底層能力的構(gòu)建離不開(kāi)編程語(yǔ)言與編譯器的關(guān)鍵支撐。作為開(kāi)源鴻蒙生態(tài)的核心技術(shù),語(yǔ)言設(shè)計(jì)與編譯器、虛擬機(jī)實(shí)現(xiàn)的進(jìn)步直接關(guān)系到開(kāi)發(fā)效率、運(yùn)行性能與系統(tǒng)安全。本次分論壇聚焦
    的頭像 發(fā)表于 11-20 17:24 ?930次閱讀
    開(kāi)源鴻蒙技術(shù)大會(huì)2025丨編譯器與<b class='flag-5'>編程</b><b class='flag-5'>語(yǔ)言</b>分論壇:<b class='flag-5'>語(yǔ)言</b>驅(qū)動(dòng)系統(tǒng)創(chuàng)新,編譯賦能生態(tài)繁榮

    2025年最佳的嵌入式編程語(yǔ)言有哪些呢?

    嵌入式系統(tǒng)是現(xiàn)代科技不可或缺的一部分。它們存在于家用電器、汽車(chē)、住宅、醫(yī)院、商店等各個(gè)領(lǐng)域。它們與我們的社會(huì)緊密相連。選擇合適的語(yǔ)言來(lái)構(gòu)建嵌入式系統(tǒng)對(duì)于成功至關(guān)重要。那么,2025年最佳的嵌入式編程
    的頭像 發(fā)表于 11-14 10:27 ?1448次閱讀
    2025年最佳的嵌入式<b class='flag-5'>編程</b><b class='flag-5'>語(yǔ)言</b>有哪些呢?

    C語(yǔ)言和單片機(jī)C語(yǔ)言有什么差異

    區(qū)別是由編譯器決的,只能參考對(duì)應(yīng)的編譯手冊(cè),即使同種平臺(tái)不同的編譯器對(duì)C的擴(kuò)展也有不同。 3、單片機(jī)c語(yǔ)言編程是基于C語(yǔ)言的單片機(jī)編程。單片機(jī)的C
    發(fā)表于 11-14 07:55

    一文了解Mojo編程語(yǔ)言

    Mojo 是一種由 Modular AI 公司開(kāi)發(fā)的編程語(yǔ)言,旨在將 Python 的易用性與 C 語(yǔ)言的高性能相結(jié)合,特別適合人工智能(AI)、高性能計(jì)算(HPC)和系統(tǒng)級(jí)編程場(chǎng)景。
    發(fā)表于 11-07 05:59

    Linux 編程語(yǔ)言盤(pán)點(diǎn):從內(nèi)核到AI的全棧選擇

    在工控圈和嵌入式圈里,有一個(gè)常年被討論的問(wèn)題: ?“在 Linux 上,到底該用什么語(yǔ)言編程?” 有人堅(jiān)信:C 才是真正的工業(yè)語(yǔ)言。有人反駁:Python 才是效率王者。還有人推崇 Go、Rust
    的頭像 發(fā)表于 11-06 17:05 ?617次閱讀

    從 0 到 1:用 PHP 爬蟲(chóng)優(yōu)雅地拿下京東商品詳情

    PHP 語(yǔ)言 實(shí)現(xiàn)一個(gè) 可運(yùn)行的京東商品爬蟲(chóng) ,不僅能抓取商品標(biāo)題、價(jià)格、圖片、評(píng)價(jià)數(shù),還能應(yīng)對(duì)常見(jiàn)的反爬策略。全文附完整代碼, 復(fù)制粘貼即可運(yùn)行 。 一、為什么選擇 PHP 做爬蟲(chóng)? 雖然 Python 是爬蟲(chóng)界的“老大哥”
    的頭像 發(fā)表于 09-23 16:42 ?874次閱讀
    從 0 到 1:用 <b class='flag-5'>PHP</b> 爬蟲(chóng)優(yōu)雅地拿下京東商品詳情

    梯形圖語(yǔ)言補(bǔ)充編程說(shuō)明書(shū)

    電子發(fā)燒友網(wǎng)站提供《梯形圖語(yǔ)言補(bǔ)充編程說(shuō)明書(shū).pdf》資料免費(fèi)下載
    發(fā)表于 07-09 14:14 ?3次下載

    單片機(jī)c語(yǔ)言編程實(shí)例大全

    單片機(jī)c語(yǔ)言編程實(shí)例大全_18
    發(fā)表于 04-30 16:11 ?7次下載

    深入理解C語(yǔ)言:C語(yǔ)言循環(huán)控制

    在C語(yǔ)言編程中,循環(huán)結(jié)構(gòu)是至關(guān)重要的,它可以讓程序重復(fù)執(zhí)行特定的代碼塊,從而提高編程效率。然而,為了避免程序進(jìn)入無(wú)限循環(huán),C語(yǔ)言提供了多種循環(huán)控制語(yǔ)句,如break、continue和
    的頭像 發(fā)表于 04-29 18:49 ?2061次閱讀
    深入理解C<b class='flag-5'>語(yǔ)言</b>:C<b class='flag-5'>語(yǔ)言</b>循環(huán)控制

    單片機(jī)C語(yǔ)言編程寶典大全,初學(xué)必備【強(qiáng)推下載!】

    資料介紹:包含 1. 51單片機(jī)入門(mén)教程 2. 初學(xué)者適用:?jiǎn)纹瑱C(jī)C語(yǔ)言實(shí)例100例(代碼及釋義) 3. 51單片機(jī)C語(yǔ)言快速上手 4. 51單片機(jī)C編程(周立功) 5. 51單片機(jī)應(yīng)用從零開(kāi)始
    發(fā)表于 03-14 11:03