吴忠躺衫网络科技有限公司

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

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

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

如何掌握“所有”的程序語言?

Q4MP_gh_c472c21 ? 來源:王垠 ? 作者:王垠 ? 2021-03-04 16:10 ? 次閱讀

對的,我這里要講的不是如何掌握一種程序語言,而是所有的……

很多編程初學(xué)者至今還在給我寫信請教,問我該學(xué)習(xí)什么程序語言,怎么學(xué)習(xí)。

由于我知道如何掌握“所有”的程序語言,總是感覺這種該學(xué)“一種”什么語言的問題比較低級,所以一直沒來得及回復(fù)他們 。

可是逐漸的,我發(fā)現(xiàn)原來不只是小白們有這個(gè)問題,就連美國大公司的很多資深工程師,其實(shí)也沒搞明白。

今天我有動力了,想來統(tǒng)一回答一下這個(gè)擱置已久的“初級問題”。類似的話題貌似曾經(jīng)寫過,然而現(xiàn)在我想把它重新寫一遍。

因?yàn)樵诟芏嗳私涣髦螅覍ψ约侯^腦中的(未轉(zhuǎn)化為語言的)想法,有了更精準(zhǔn)的表達(dá)。

如果你存在以下的種種困惑,那么這篇文章也許會對你有所幫助:

你是編程初學(xué)者,不知道該選擇什么程序語言來入門。

你是資深的程序員或者團(tuán)隊(duì)領(lǐng)導(dǎo),對新出現(xiàn)的種種語言感到困惑,不知道該“投資”哪種語言。

你的團(tuán)隊(duì)為使用哪種程序語言爭論不休,發(fā)生各種宗教斗爭。

你追逐潮流采用了某種時(shí)髦的語言,結(jié)果兩個(gè)月之后發(fā)現(xiàn)深陷泥潭,痛苦不堪……

雖然我已經(jīng)不再過問這些世事,然而無可置疑的現(xiàn)實(shí)是,程序語言仍然是很重要的話題,這個(gè)情況短時(shí)間內(nèi)不會改變。

程序員的崗位往往會要求熟悉某些語言,甚至某些奇葩的公司要求你“深入理解 OOP 或者 FP 設(shè)計(jì)模式”。
對于在職的程序員,程序語言至今仍然是可以爭得面紅耳赤的宗教話題。

它的宗教性之強(qiáng),以至于我在批評和調(diào)侃某些語言(比如 Go 語言)的時(shí)候,有些人會本能地以為我是另外一種語言(比如 Java)的粉絲。

顯然我不可能是任何一種語言的粉絲,我甚至不是 Yin 語言的粉絲,對于任何從沒見過的語言,我都是直接拿起來就用,而不需要經(jīng)過學(xué)習(xí)的過程。

看了這篇文章,也許你會明白我為什么可以達(dá)到這個(gè)效果。

理解了這里面的東西,每個(gè)程序員都應(yīng)該可以做到這一點(diǎn)。

嗯,但愿吧。

重視語言特性,而不是語言

很多人在乎自己或者別人是否“會”某種語言,對“發(fā)明”了某種語言的人倍加崇拜,為各種語言的孰優(yōu)孰劣爭得面紅耳赤。

這些問題對于我來說都是不存在的。

雖然我寫文章批評過不少語言的缺陷,在實(shí)際工作中我卻很少跟人爭論這些。

如果有其它人在我身邊爭論,我甚至?xí)魃隙鷻C(jī),都懶得聽他們說什么。

為什么呢?

我發(fā)現(xiàn)歸根結(jié)底的原因,是因?yàn)槲抑匾暤氖恰罢Z言特性”,而不是整個(gè)的“語言”。

我能用任何語言寫出不錯(cuò)的代碼,就算再糟糕的語言也差不了多少。

任何一種“語言”,都是各種“語言特性”的組合。

打個(gè)比方吧,一個(gè)程序語言就像一臺電腦

它的牌子可能叫“聯(lián)想”,或者“IBM”,或者“Dell”,或者“蘋果”。

那么,你可以說蘋果一定比 IBM 好嗎?

你不能。

你得看看它里面裝的是什么型號的處理器,有多少個(gè)核,主頻多少,有多少 L1 cache,L2 cache……,有多少內(nèi)存和硬盤,顯示器分辨率有多大,顯卡是什么 GPU,網(wǎng)卡速度,等等各種“配置”。

有時(shí)候你還得看各個(gè)組件之間的兼容性。這些配置對應(yīng)到程序語言里面,就是所謂“語言特性”。

舉一些語言特性的例子:

變量定義

算術(shù)運(yùn)算

for 循環(huán)語句,while 循環(huán)語句

函數(shù)定義,函數(shù)調(diào)用

遞歸

靜態(tài)類型系統(tǒng)

類型推導(dǎo)

lambda 函數(shù)

面向?qū)ο?/p>

垃圾回收

指針?biāo)阈g(shù)

goto 語句

這些語言特性,就像你在選擇一臺電腦的時(shí)候,看它里面是什么配置。

選電腦的時(shí)候,沒有人會說 Dell 一定是最好的,他們只會說這個(gè)型號里面裝的是 Intel 的 i7 處理器,這個(gè)比 i5 的好,DDR3 的內(nèi)存 比 DDR2 的快這么多,SSD 比磁盤快很多,ATI 的顯卡是垃圾…… 如此等等。

程序語言也是一樣的道理。

對于初學(xué)者來說,其實(shí)沒必要糾結(jié)到底要先學(xué)哪一種語言,再學(xué)哪一種。

曾經(jīng)有人給我發(fā)信問這種問題,糾結(jié)了好幾個(gè)星期,結(jié)果一個(gè)語言都還沒開始學(xué)。

有這糾結(jié)的時(shí)間,其實(shí)都可以把他糾結(jié)過的語言全部掌握了。

初學(xué)者往往不理解,每一種語言里面必然有一套“通用”的特性。比如變量,函數(shù),整數(shù)和浮點(diǎn)數(shù)運(yùn)算,等等。

這些是每個(gè)通用程序語言里面都必須有的,一個(gè)都不能少。

你只要通過“某種語言”學(xué)會了這些特性,掌握這些特性的根本概念,就能隨時(shí)把這些知識應(yīng)用到任何其它語言。

你為此投入的時(shí)間基本不會浪費(fèi)。

所以初學(xué)者糾結(jié)要“先學(xué)哪種語言”,這種時(shí)間花的很不值得,還不如隨便挑一個(gè)語言,跳進(jìn)去。

如果你不能用一種語言里面的基本特性寫出好的代碼,那你換成另外一種語言也無濟(jì)于事。你會寫出一樣差的代碼。

我經(jīng)常看到有些人 Java 代碼寫得相當(dāng)亂,相當(dāng)糟糕,卻罵 Java 不好,雄心勃勃要換用 Go 語言。

這些人沒有明白,是否能寫出好的代碼在于人,而不在于語言。

如果你的心中沒有清晰簡單的思維模型,你用任何語言表述出來都是一堆亂麻。

如果你 Java 代碼寫得很糟糕,那么你寫 Go 語言代碼也會一樣糟糕,甚至更差。

很多初學(xué)者不了解,一個(gè)高明的程序員如果開始用一種新的程序語言,他往往不是去看這個(gè)語言的大部頭手冊或者書籍,而是先有一個(gè)需要解決的問題。

手頭有了問題,他可以用兩分鐘瀏覽一下這語言的手冊,看看這語言大概長什么樣。

然后,他直接拿起一段例子代碼來開始修改搗鼓,想法把這代碼改成自己正想解決的問題。

在這個(gè)簡短的過程中,他很快的掌握了這個(gè)語言,并用它表達(dá)出心里的想法。

在這個(gè)過程中,隨著需求的出現(xiàn),他可能會問這樣的問題:

這個(gè)語言的“變量定義”是什么語法,需要“聲明類型”嗎,還是可以用“類型推導(dǎo)”?

它的“類型”是什么語法?是否支持“泛型”?泛型的 “variance” 如何表達(dá)?

這個(gè)語言的“函數(shù)”是什么語法,“函數(shù)調(diào)用”是什么語法,可否使用“缺省參數(shù)”?

……

注意到了嗎?上面每一個(gè)引號里面的內(nèi)容,都是一種語言特性(或者叫概念)。

這些概念可以存在于任何的語言里面,雖然語法可能不一樣,它們的本質(zhì)都是一樣的。

比如,有些語言的參數(shù)類型寫在變量前面,有些寫在后面,有些中間隔了一個(gè)冒號,有些沒有。

這些實(shí)際問題都是隨著寫實(shí)際的代碼,解決手頭的問題,自然而然帶出來的,而不是一開頭就抱著語言手冊看得仔仔細(xì)細(xì)。

因?yàn)檎莆樟苏Z言特性的人都知道,自己需要的特性,在任何語言里面一定有對應(yīng)的表達(dá)方式。

如果沒有直接的方式表達(dá),那么一定有某種“繞過方式”。

如果有直接的表達(dá)方式,那么它只是語法稍微有所不同而已。

所以,他是帶著問題找特性,就像查字典一樣,而不是被淹沒于大部頭的手冊里面,昏昏欲睡一個(gè)月才開始寫代碼。

掌握了通用的語言特性,剩下的就只剩某些語言“特有”的特性了。

研究語言的人都知道,要設(shè)計(jì)出新的,好的,無害的特性,是非常困難的。

所以一般說來,一種好的語言,它所特有的新特性,終究不會超過一兩種。

如果有個(gè)語言號稱自己有超過 5 種新特性,那你就得小心了,因?yàn)樗鼈儙淼暮涂赡懿皇莾?yōu)勢,而是災(zāi)難!

同樣的道理,最好的語言研究者,往往不是某種語言的設(shè)計(jì)者,而是某種關(guān)鍵語言特性的設(shè)計(jì)者(或者支持者)。

舉個(gè)例子,著名的計(jì)算機(jī)科學(xué)家 Dijkstra 就是“遞歸”的強(qiáng)烈支持者。現(xiàn)在的語言里面都有遞歸,然而你可能不知道,早期的程序語言是不支持遞歸的。

直到 Dijkstra 強(qiáng)烈要求 Algol 60 委員會加入對遞歸的支持,這個(gè)局面才改變了。Tony Hoare 也是語言特性設(shè)計(jì)者。

他設(shè)計(jì)了幾個(gè)重要的語言特性,卻沒有設(shè)計(jì)過任何語言。另外大家不要忘了,有個(gè)語言專家叫王垠,他是早期 union type 的支持者和實(shí)現(xiàn)者,也是 checked exception 特性的支持者,他在自己的博文里指出了 checked exception 和 union type 之間的關(guān)系 :P

很多人盲目的崇拜語言設(shè)計(jì)者,只要聽到有人設(shè)計(jì)(或者美其民曰“發(fā)明”)了一個(gè)語言,就熱血沸騰,佩服的五體投地。

他們卻沒有理解,其實(shí)所有的程序語言,不過是像 Dell,聯(lián)想一樣的“組裝機(jī)”。

語言特性的設(shè)計(jì)者,才是像 Intel,AMDARM,Qualcomm 那樣核心技術(shù)的創(chuàng)造者。

合理的入門語言

所以初學(xué)者要想事半功倍,就應(yīng)該從一種“合理”的,沒有明顯嚴(yán)重問題的語言出發(fā),掌握最關(guān)鍵的語言特性,然后由此把這些概念應(yīng)用到其它語言。

哪些是合理的入門語言呢?我個(gè)人覺得這些語言都可以用來入門:

Scheme

C

Java

Python

JavaScript

那么相比之下,我不推薦用哪些語言入門呢?

Shell

PowerShell

AWK

Perl

PHP

Basic

Go

Rust

總的說來,你不應(yīng)該使用所謂“腳本語言”作為入門語言,特別是那些源于早期 Unix 系統(tǒng)的腳本語言工具。

PowerShell 雖然比 Unix 的 Shell 有所進(jìn)步,然而它仍然沒有擺脫腳本語言的根本問題——他們的設(shè)計(jì)者不知道他們自己在干什么 :P

采用腳本語言學(xué)編程,一個(gè)很嚴(yán)重的問題就是使得學(xué)習(xí)者抓不住關(guān)鍵。

腳本語言往往把一些系統(tǒng)工具性質(zhì)的東西(比如正則表達(dá)式,Web 概念)加入到語法里面,導(dǎo)致初學(xué)者為它們浪費(fèi)太多時(shí)間,卻沒有理解編程最關(guān)鍵的概念:變量,函數(shù),遞歸,類型……

不推薦 Go 語言的原因類似,雖然 Go 語言不算腳本語言,然而他的設(shè)計(jì)者顯然不明白自己在干什么。所以使用 Go 語言來學(xué)編程,你不能專注于最關(guān)鍵,最好的語言特性。

同樣的,我不覺得 Rust 適合作為入門語言。Rust 花了太大精力來夸耀它的“新特性”,而這些新特性不但不是最關(guān)鍵的部分,而且很多是有問題的。初學(xué)者過早的關(guān)注這些特性,不僅學(xué)不會最關(guān)鍵的編程思想,而且可能誤入歧途。

掌握關(guān)鍵語言特性,忽略次要特性

為了達(dá)到我之前提到的融會貫通,一通百通的效果,初學(xué)者應(yīng)該專注于語言里面最關(guān)鍵的特性,而不是被次要的特性分心。

舉個(gè)夸張點(diǎn)的例子。

我發(fā)現(xiàn)很多編程培訓(xùn)班和野雞大學(xué)的編程入門課,往往一來就教學(xué)生如何使用printf打印“Hello World!”,進(jìn)而要他們記憶printf的各種“格式字符”的意義,要他們實(shí)現(xiàn)各種復(fù)雜格式的打印輸出,甚至要求打印到文本文件里,然后再讀出來……

可是殊不知,這種輸出輸入操作其實(shí)根本不算是語言的一部分,而且對于掌握編程的核心概念來說,都是次要的。

有些人的 Java 課程進(jìn)行了好幾個(gè)星期,居然還在布置各種printf的作業(yè)。學(xué)生寫出幾百行的 printf,卻不理解變量和函數(shù)是什么,甚至連算術(shù)語句和循環(huán)語句都不知道怎么用!

這就是為什么很多初學(xué)者感覺編程很難,我連%d,%f,%.2f的含義都記不住,還怎么學(xué)編程!

然而這些野雞大學(xué)的“教授”頭銜是如此的洗腦,以至于被他們教過的學(xué)生(比如我女朋友)到我這里請教,居然罵我凈教一些沒用的東西,學(xué)了連printf的作業(yè)都沒法完成 :P

你別跟我講for循環(huán),函數(shù)什么的了…… 可不可以等幾個(gè)月,等我背熟了printf的用法再學(xué)那些啊?

所以你就發(fā)現(xiàn)一旦被差勁的老師教過,這個(gè)程序員基本就毀了。就算遇到好的老師,他們也很難糾正過來。

當(dāng)然這是一個(gè)夸張的例子,因?yàn)?printf 根本不算是語言特性,但這個(gè)例子從同樣的角度說明了次要膚淺的語言特性帶來的問題。

這里舉一些次要語言特性的例子:

C 語言的語句塊,如果里面只有一條語句,可以不打花括號。

Go 語言的函數(shù)參數(shù)類型如果一樣可以合并在一起寫,比如func foo(s string, x, y, z int, c bool) { … }

Perl 把正則表達(dá)式作為語言的一種特殊語法

JavaScript 語句可以在某些時(shí)候省略句尾的分號

Haskell 和 ML 等語言的 currying

自己動手實(shí)現(xiàn)語言特性

在基本學(xué)會了各種語言特性,能用它們來寫代碼之后,下一步的進(jìn)階就是去實(shí)現(xiàn)它們。

只有實(shí)現(xiàn)了各種語言特性,你才能完全地?fù)碛兴鼈儯蔀樗鼈兊闹魅恕7駝t你就只是它們的使用者,你會被語言的設(shè)計(jì)者牽著鼻子走。

有個(gè)大師說得好,完全理解一種語言最好的方法就是自己動手實(shí)現(xiàn)它,也就是自己寫一個(gè)解釋器來實(shí)現(xiàn)它的語義。

但我覺得這句話應(yīng)該稍微修改一下:完全理解一種“語言特性”最好的方法就是自己親自實(shí)現(xiàn)它。

注意我在這里把“語言”改為了“語言特性”。你并不需要實(shí)現(xiàn)整個(gè)語言來達(dá)到這個(gè)目的,因?yàn)槲覀冏罱K使用的是語言特性。

只要你自己實(shí)現(xiàn)了一種語言特性,你就能理解這個(gè)特性在任何語言里的實(shí)現(xiàn)方式和用法。

舉個(gè)例子,學(xué)習(xí) SICP 的時(shí)候,大家都會親自用 Scheme 實(shí)現(xiàn)一個(gè)面向?qū)ο笙到y(tǒng)。

用 Scheme 實(shí)現(xiàn)的面向?qū)ο笙到y(tǒng),跟 Java,C++,Python 之類的語言語法相去甚遠(yuǎn),然而它卻能幫助你理解任何這些 OOP 語言里面的“面向?qū)ο蟆边@一概念,它甚至能幫助你理解各種面向?qū)ο髮?shí)現(xiàn)的差異。

這種效果是你直接學(xué)習(xí) OOP 語言得不到的,因?yàn)樵趯W(xué)習(xí) Java,C++,Python 之類語言的時(shí)候,你只是一個(gè)用戶,而用 Scheme 自己動手實(shí)現(xiàn)了 OO 系統(tǒng)之后,你成為了一個(gè)創(chuàng)造者。

類似的特性還包括類型推導(dǎo),類型檢查,惰性求值,如此等等。

我實(shí)現(xiàn)過幾乎所有的語言特性,所以任何語言在我的面前,都是可以被任意拆卸組裝的玩具,而不再是凌駕于我之上的神圣。

總結(jié)

寫了這么多,重要的話重復(fù)三遍:語言特性,語言特性,語言特性,語言特性!

不管是初學(xué)者還是資深程序員,應(yīng)該專注于語言特性,而不是糾結(jié)于整個(gè)的“語言品牌”。

只有這樣才能達(dá)到融會貫通,拿起任何語言幾乎立即就會用,并且寫出高質(zhì)量的代碼。

責(zé)任編輯:lq

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

    關(guān)注

    68

    文章

    19407

    瀏覽量

    231180
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3795

    瀏覽量

    81406
  • 語言
    +關(guān)注

    關(guān)注

    1

    文章

    97

    瀏覽量

    24290

原文標(biāo)題:如何掌握“所有”的程序語言?對,就是所有!

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    深入理解C語言:循環(huán)語句的應(yīng)用與優(yōu)化技巧

    程序設(shè)計(jì)中,我們常常需要重復(fù)執(zhí)行某一段代碼。為了提高效率和簡化代碼,循環(huán)語句應(yīng)運(yùn)而生。C語言作為一門經(jīng)典的編程語言,提供了多種循環(huán)控制結(jié)構(gòu),幫助程序員高效地實(shí)現(xiàn)重復(fù)操作。
    的頭像 發(fā)表于 12-07 01:11 ?251次閱讀
    深入理解C<b class='flag-5'>語言</b>:循環(huán)語句的應(yīng)用與優(yōu)化技巧

    AWTK-WEB 快速入門(1) - C 語言應(yīng)用程序

    導(dǎo)讀AWTK可以使用相同的技術(shù)棧開發(fā)各種平臺的應(yīng)用程序。有時(shí)我們需要使用Web界面與設(shè)備進(jìn)行交互,本文介紹一下如何使用C語言開發(fā)AWTK-WEB應(yīng)用程序。用AWTKDesigner新建一個(gè)應(yīng)用
    的頭像 發(fā)表于 11-27 11:46 ?291次閱讀
    AWTK-WEB 快速入門(1) - C <b class='flag-5'>語言</b>應(yīng)用<b class='flag-5'>程序</b>

    技術(shù)干貨驛站 ▏深入理解C語言掌握C語言條件判斷,從if到switch的應(yīng)用

    在編程中,條件判斷語句是控制程序流程的核心元素之一。它們使得程序能夠根據(jù)不同的輸入和狀態(tài),做出相應(yīng)的決策。特別是在C語言中,條件判斷語句的使用極為廣泛,涵蓋了從簡單的if語句到更復(fù)雜的switch
    的頭像 發(fā)表于 11-09 01:10 ?433次閱讀
    技術(shù)干貨驛站 ▏深入理解C<b class='flag-5'>語言</b>:<b class='flag-5'>掌握</b>C<b class='flag-5'>語言</b>條件判斷,從if到switch的應(yīng)用

    單片機(jī)編程語言有哪些選擇

    常用的單片機(jī)編程語言,以及它們的特點(diǎn)和應(yīng)用場景: 1. C語言 特點(diǎn) :C語言是一種通用的編程語言,以其高效性和靈活性而聞名。它提供了豐富的庫函數(shù)和直接的硬件訪問能力,非常適合用于單片
    的頭像 發(fā)表于 11-01 14:13 ?946次閱讀

    MCU編程語言和開發(fā)環(huán)境介紹

    MCU編程語言 MCU編程語言是用于編寫MCU程序的高級編程語言,它們使得開發(fā)者能夠更高效地開發(fā)嵌入式應(yīng)用程序。以下是一些常用的MCU編程
    的頭像 發(fā)表于 11-01 11:51 ?1068次閱讀

    所有的labview應(yīng)用程序的三要素是什么

    的一種圖形化編程語言,它廣泛用于數(shù)據(jù)采集、儀器控制、自動化測試和過程控制等領(lǐng)域。LabVIEW應(yīng)用程序通常由三個(gè)基本要素組成:前面板(Front Panel)、塊圖(Block Diagram)和圖標(biāo)
    的頭像 發(fā)表于 09-04 16:08 ?433次閱讀

    技術(shù)干貨驛站 ▏深入理解C語言掌握常量,讓你的代碼更加穩(wěn)固高效!

    在C語言的世界中,常量是一種不可忽視的元素。無論你是在編寫簡單的代碼,還是構(gòu)建復(fù)雜的系統(tǒng),常量都能為你的程序帶來更高的穩(wěn)定性和可靠性。在這篇文章中,我們將深入探討C語言中的常量,從整數(shù)常量到字符串
    的頭像 發(fā)表于 08-29 13:59 ?3029次閱讀
    技術(shù)干貨驛站 ▏深入理解C<b class='flag-5'>語言</b>:<b class='flag-5'>掌握</b>常量,讓你的代碼更加穩(wěn)固高效!

    plc編程st語言怎么編

    控制。下面是一個(gè)基本的ST語言編程指南,包括如何開始編寫一個(gè)簡單的程序。 1. 基本結(jié)構(gòu) ST程序通常包含變量聲明、函數(shù)(或過程)定義和主程序塊。 變量聲明 :在
    的頭像 發(fā)表于 08-25 10:05 ?1505次閱讀

    語言RPA中有哪些優(yōu)勢,可以提高開發(fā)效率?

    exe可執(zhí)行程序:火語言的腳本支持直接發(fā)布成本地exe可執(zhí)行程序,方便開發(fā)者直接分發(fā)運(yùn)行。 3、腳本規(guī)則共享與導(dǎo)出:火語言所有腳本規(guī)則,支持
    的頭像 發(fā)表于 08-07 13:40 ?419次閱讀

    技術(shù)干貨驛站 ▏深入理解C語言掌握程序結(jié)構(gòu)知識

    在計(jì)算機(jī)編程的世界中,C語言被廣泛認(rèn)可為一門強(qiáng)大而高效的編程語言,其簡潔的語法和直接的指令使得它成為了許多程序員的首選。了解C語言程序結(jié)構(gòu)
    的頭像 發(fā)表于 07-27 08:45 ?1538次閱讀
    技術(shù)干貨驛站 ▏深入理解C<b class='flag-5'>語言</b>:<b class='flag-5'>掌握</b><b class='flag-5'>程序</b>結(jié)構(gòu)知識

    【《大語言模型應(yīng)用指南》閱讀體驗(yàn)】+ 基礎(chǔ)篇

    章節(jié)介紹了機(jī)器學(xué)習(xí),從方法論上來看,機(jī)器學(xué)習(xí)屬于歸納推理;從開發(fā)設(shè)計(jì)方式來看,機(jī)器學(xué)習(xí)屬于自動編程。我們平時(shí)使用各種計(jì)算機(jī)高級語言編寫程序代碼,這屬于人工編程的范疇;機(jī)器學(xué)習(xí)則由算法自動產(chǎn)生程序,因此
    發(fā)表于 07-25 14:33

    快速掌握C語言關(guān)鍵字

    C語言中的32個(gè)關(guān)鍵字你知道多少個(gè)呢?根據(jù)關(guān)鍵字的作用分為四類:數(shù)據(jù)類型關(guān)鍵字、控制語句關(guān)鍵字、存儲類型關(guān)鍵字和其它關(guān)鍵字。1.1基本數(shù)據(jù)類型int:用于聲明整數(shù)類型的變量。char:用于聲明字符
    的頭像 發(fā)表于 07-06 08:04 ?419次閱讀
    快速<b class='flag-5'>掌握</b>C<b class='flag-5'>語言</b>關(guān)鍵字

    fpga開發(fā)需要掌握哪些編程語言

    FPGA(現(xiàn)場可編程門陣列)開發(fā)涉及多種編程語言和技術(shù).
    的頭像 發(fā)表于 03-27 14:34 ?1626次閱讀

    求問電子設(shè)計(jì)自學(xué)路徑

    新手小白也想自己做出小車、小電視甚至小機(jī)器人等等有意思的項(xiàng)目,有C語言基礎(chǔ)并且對stm32有了一丁點(diǎn)基礎(chǔ)的了解,但是硬件、電路設(shè)計(jì)以及更高階的程序語言仍然一竅不通。請問自學(xué)路徑是怎么樣的(硬件和軟件)?如何從0開始入門呢?如果有推薦的網(wǎng)課或者書籍,那就更好啦!謝謝各位大佬
    發(fā)表于 03-23 21:42

    C語言#define的應(yīng)用

    在 C/C++ 編程語言中,當(dāng)程序被編譯時(shí),被發(fā)送到編譯器,編譯器將程序轉(zhuǎn)換為機(jī)器語言,然后完成編譯并執(zhí)行該程序。預(yù)處理器也稱為宏預(yù)處理器。
    發(fā)表于 03-06 11:29 ?425次閱讀
    C<b class='flag-5'>語言</b>#define的應(yīng)用
    百家乐官网77scs| 24向山九宫格图| 百家乐官网视频免费下载| 德州扑克初级教程| 百家乐送现金200| 百家乐正网开户| 百家乐官网娱乐网开户| 百家乐官网只打一种牌型| 贵族娱乐城信誉| 大发888新址 | 象山县| 六合彩综合资料| 大发888战神娱乐| 聚众玩百家乐的玩法技巧和规则| 百家乐的破解方法| 奥斯卡百家乐官网的玩法技巧和规则 | 百家乐博百家乐| 百家乐官网官网网站| r百家乐官网娱乐下载| 齐博线上娱乐| 大发888娱乐客户端下载| 狮威百家乐的玩法技巧和规则| 百家乐翻天快播| 百家乐官网丽| 正品百家乐官网电话| 百家乐官网打大必赢之法| 玉龙| 尊龙娱乐开户| 棋牌游戏大厅下载| 大发888充值100| 百家乐创立几年了| 百家乐家乐娱乐城| 明珠国际| 宝马会娱乐城官网| 大发888怎么玩能赢| 大发888充钱| 都坊百家乐的玩法技巧和规则| 百家乐赌博论坛在线| 在线百家乐技巧| 丽都百家乐官网的玩法技巧和规则 | 山东省|