c語(yǔ)言可以做網(wǎng)站嗎誰(shuí)叫你不幸生在中國(guó)了?——何祚庥

2023-11-10    分類(lèi): 網(wǎng)站建設(shè)

誰(shuí)讓你不幸出生在中國(guó)? ——何作秀(中國(guó)科學(xué)院院士)

這是一本面向非計(jì)算機(jī)專(zhuān)業(yè)的大學(xué)生的C語(yǔ)言書(shū)籍。 “我不是計(jì)算機(jī)系學(xué)生,為什么要學(xué)C語(yǔ)言?”這個(gè)問(wèn)題在中國(guó)大陸每年被問(wèn)上百萬(wàn)次。

提問(wèn)的對(duì)象可能是老師,也可能是哥哥姐姐。師兄師姐經(jīng)常用裝腔作勢(shì)的語(yǔ)氣,重復(fù)著他們依稀記得的老師的話。這些話大多是有遠(yuǎn)見(jiàn)的,比如“以后可能會(huì)用到”、“鍛煉編程思維是好的”、“C語(yǔ)言是學(xué)習(xí)編程的基礎(chǔ)”等等。

這些話沒(méi)有錯(cuò)。所謂“一技之長(zhǎng)”,多學(xué)絕對(duì)比不學(xué)好。但問(wèn)題是,如果把學(xué)習(xí)C語(yǔ)言的精力用來(lái)學(xué)習(xí)其他與專(zhuān)業(yè)更相關(guān)的東西,會(huì)不會(huì)更好?既然如此,你為什么還要學(xué)C語(yǔ)言?

最實(shí)在的答案來(lái)自何作秀院士:“誰(shuí)讓你不幸出生在中國(guó)?”

大學(xué)除了拿到“畢業(yè)證”和“學(xué)位證”外,還必須通過(guò)“四級(jí)”和“二級(jí)”,否則可能會(huì)被減免兩證,或者被阻止找工作,而且很難“安定下來(lái)”。等待。這里的二級(jí)是指“全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)”,是針對(duì)“程序員”的考試,“考核計(jì)算機(jī)基礎(chǔ)知識(shí)和使用高級(jí)計(jì)算機(jī)語(yǔ)言編寫(xiě)程序和計(jì)算機(jī)調(diào)試的基本技能”。

雖然社會(huì)只需要少數(shù)人就能編程,但令人費(fèi)解的是,幾乎所有大學(xué)生都希望(或被要求)通過(guò)二級(jí),這使得編程課程成為必修課。

2 考試可用的語(yǔ)言包括 C、C++、Java、、、和。為什么要學(xué)最老的C?這里的原因復(fù)雜多樣,每個(gè)學(xué)校都有自己的解釋?zhuān)揖筒灰灰涣信e了??傊?,中國(guó)一定是世界上“懂”C語(yǔ)言最多的國(guó)家,二級(jí)考試是必須的。

總之,這門(mén)課既然開(kāi)了,不學(xué)是不可能學(xué)的,精力都被占用了,那我們就來(lái)仔細(xì)看看C語(yǔ)言吧。雖然有點(diǎn)無(wú)奈,但好在C語(yǔ)言確實(shí)是個(gè)有趣的家伙,越了解越覺(jué)得有趣。不信請(qǐng)往下看...

游戲、黑客和 C 語(yǔ)言

1969 年的美國(guó)貝爾實(shí)驗(yàn)室是當(dāng)時(shí)科技界的夢(mèng)工廠。它聚集了世界上最具創(chuàng)造力的科學(xué)家和工程師,其中包括幾位諾貝爾獎(jiǎng)獲得者。他們一起創(chuàng)造了無(wú)數(shù)的發(fā)明。比如數(shù)碼相機(jī)的核心CCD,當(dāng)年在貝爾實(shí)驗(yàn)室誕生。

這些家伙的成就看似遙不可及,但其實(shí)都是凡人,在某些方面和我們非常相似。例如,當(dāng)他們看到一臺(tái)功能強(qiáng)大的計(jì)算機(jī)時(shí),他們首先想到的就是用它來(lái)玩游戲。在那個(gè)時(shí)候,電腦是一種奢侈品,只有大型組織才能擁有,在電腦上玩游戲是一件很可怕的事情。不過(guò)誰(shuí)在乎呢,追求快樂(lè)才是最重要的,所以他們不會(huì)為了玩游戲開(kāi)心而動(dòng)腦筋。

那個(gè)時(shí)候還沒(méi)有商業(yè)游戲,所以要玩游戲,首先要發(fā)揮自己的DIY精神,自己動(dòng)手制作。自己編的游戲被人喜歡了,這在當(dāng)時(shí)是最值得尊敬的。

有一個(gè)工程師叫(以下簡(jiǎn)稱ken)。他今年26歲,很閑。他看到阿波羅11號(hào)載人登月,覺(jué)得很酷。我想嘗試一下,所以我設(shè)計(jì)了一個(gè)“”游戲。在游戲中,玩家駕駛宇宙飛船,穿梭于虛擬太陽(yáng)系,欣賞美景,還可以降落在各種行星和衛(wèi)星的表面。這個(gè)游戲先寫(xiě)在系統(tǒng)上,后來(lái)改寫(xiě)在系統(tǒng)上。

能運(yùn)行這兩個(gè)系統(tǒng)的機(jī)器都是笨重的大型機(jī)。雖然它們具有出色的計(jì)算能力,但它們的顯示效果很差,機(jī)器時(shí)間成本非常高。該公司必須為一款游戲支付 75 美元(當(dāng)時(shí)美國(guó)的平均月收入約為 200 美元)。這要是被老板發(fā)現(xiàn)了,可不是開(kāi)玩笑的。于是他與他 28 歲的同事 M.(以下簡(jiǎn)稱 dmr)合作,在大樓里到處尋找免費(fèi)的“游戲機(jī)”。努力得到了回報(bào),他們真的找到了。

DEC 制造的 pDp-7 小型機(jī)具有當(dāng)時(shí)最先進(jìn)的圖形處理能力。那個(gè)時(shí)候電腦主要是用來(lái)處理數(shù)據(jù)的,圖形能力不是很重要,所以pDp-7更經(jīng)常安靜地躺著,很少使用,直到ken和dmr的鐵桿玩家發(fā)現(xiàn)了它。 .

比賽開(kāi)始了。但是,游戲的運(yùn)行需要操作系統(tǒng)的支持。 pDp-7在當(dāng)時(shí)還是一個(gè)“裸機(jī)”,沒(méi)有可以在其上運(yùn)行的操作系統(tǒng)。偉大的DIY精神再次發(fā)揮作用。他們挽起袖子開(kāi)始為 pDp-7 編寫(xiě)操作系統(tǒng),并給這個(gè)系統(tǒng)起了個(gè)名字——Unix。

直到今天,Unix 仍然是最受信任的操作系統(tǒng)。它不僅支持軍隊(duì)、政府、電力、電信、銀行等大型組織的重點(diǎn)業(yè)務(wù),也是蘋(píng)果Mac系列電腦,甚至ipod的魅力之源,部分歸功于它。

Unix 最初是用匯編語(yǔ)言編寫(xiě)的,這是一種更接近機(jī)器而不是人的語(yǔ)言。計(jì)算機(jī)可以直接理解的語(yǔ)言稱為機(jī)器語(yǔ)言。它的所有句子都是由兩個(gè)數(shù)字“0”和“1”組成的,根本不適合人類(lèi)。

當(dāng)最后一個(gè)機(jī)器語(yǔ)言程序員發(fā)瘋時(shí),人們終于開(kāi)始思考如何讓計(jì)算機(jī)識(shí)別人類(lèi)語(yǔ)言?;舅枷胧侵谱饕粋€(gè)翻譯程序,將人類(lèi)語(yǔ)言直接翻譯成機(jī)器語(yǔ)言。這個(gè)翻譯程序被命名為“編譯器”。

但是直接理解人類(lèi)語(yǔ)言太難了,直到現(xiàn)在還沒(méi)有實(shí)現(xiàn),所以我做了一個(gè)妥協(xié),設(shè)計(jì)了一種盡可能接近人類(lèi)語(yǔ)言并且可以準(zhǔn)確翻譯成機(jī)器語(yǔ)言的語(yǔ)言。這種語(yǔ)言就是我們常說(shuō)的編程語(yǔ)言。學(xué)習(xí)編程的過(guò)程,其實(shí)就是學(xué)習(xí)向編譯器說(shuō)一門(mén)編程語(yǔ)言的過(guò)程。

第一種編程語(yǔ)言絕對(duì)是最接近機(jī)器,遠(yuǎn)離人類(lèi)的。它是匯編語(yǔ)言。雖然它看起來(lái)有點(diǎn)像人類(lèi)語(yǔ)言,比如加法叫做“ADD”,減法叫做“SUb”,但它的語(yǔ)法完全是機(jī)器化的,每一行語(yǔ)句都嚴(yán)格對(duì)應(yīng)一條機(jī)器指令。這個(gè)特性使它適用于一種計(jì)算機(jī)編譯后的匯編程序不能在另一臺(tái)計(jì)算機(jī)上使用,因?yàn)閮膳_(tái)計(jì)算機(jī)的機(jī)器語(yǔ)言不同。

從技術(shù)角度來(lái)說(shuō),匯編語(yǔ)言缺乏“可移植性”。

Unix 的優(yōu)雅和 Unix 的吸引力,讓很多人希望在自己的電腦上安裝 Unix 來(lái)獲得樂(lè)趣。因此 ken 和 dmr 決定用高級(jí)語(yǔ)言編寫(xiě) Unix,以便它可以在更多類(lèi)型的機(jī)器上運(yùn)行。

高級(jí)語(yǔ)言是除機(jī)器語(yǔ)言和匯編語(yǔ)言外幾乎所有編程語(yǔ)言的統(tǒng)稱。它的特點(diǎn)是更接近人類(lèi)語(yǔ)言,與機(jī)器語(yǔ)言基本無(wú)關(guān)。不同的高級(jí)語(yǔ)言編譯器可以將相同的代碼翻譯成適應(yīng)不同機(jī)器的指令,所以大多數(shù)高級(jí)語(yǔ)言都具有很好的可移植性。

故事到此結(jié)束,本書(shū)的主角C語(yǔ)言出現(xiàn)了。在決定使用高級(jí)語(yǔ)言后,ken和dmr在語(yǔ)言選擇上遇到了麻煩。

當(dāng)時(shí)有很多高級(jí)語(yǔ)言可供選擇,包括那些直到現(xiàn)在還在使用的語(yǔ)言,但沒(méi)有一個(gè)被認(rèn)真對(duì)待。 DIY基因再次發(fā)揮作用,他們決定設(shè)計(jì)一種易于使用的高級(jí)語(yǔ)言來(lái)重寫(xiě)Unix。

那是 1972 年。Ken 繼續(xù)改進(jìn) Unix。基于Ken早年設(shè)計(jì)的b語(yǔ)言,dmr開(kāi)始設(shè)計(jì)新的語(yǔ)言。兩人共同開(kāi)發(fā)了一個(gè)編譯器。這種新語(yǔ)言被隨意命名為-C 語(yǔ)言。

1983 年,由于 Unix 和 C 的巨大成功,ken 和 dmr 獲得了計(jì)算機(jī)行業(yè)最高獎(jiǎng)項(xiàng)圖靈獎(jiǎng)。玩到這種程度的游戲,古今只有這兩種人。

Unix 和 C,如果你有其中之一,你就可以在敵國(guó)發(fā)財(cái)。但是,他們從一開(kāi)始就沒(méi)有考慮申請(qǐng)專(zhuān)利、商標(biāo)、軟件著作權(quán)等法律保護(hù)。相反,他們將所有內(nèi)容(包括源代碼)傳播到他們想要的任何地方。

對(duì)他們來(lái)說(shuō),使用自己的程序是大的幸福和大的財(cái)富。正因?yàn)槿绱耍S多組織和個(gè)人可以自由地為 Unix 和 C 做出貢獻(xiàn),極大地促進(jìn)了它們的發(fā)展。

從上面的故事中,我們可以看出他們的很多可愛(ài)之處:以興趣為出發(fā)點(diǎn)做事,不計(jì)較未來(lái);很有研究精神,信奉“自己動(dòng)手,豐衣足食”;樂(lè)于分享,不求回報(bào)。

他們的這些特點(diǎn),是正宗“黑客精神”的集中體現(xiàn)。他們也被視為黑客界的英雄,甚至是山岳的締造者。每個(gè)人都恭敬地稱他們?yōu)?ken 和 dmr(必須是小寫(xiě))。幾十年過(guò)去了,黑客圈里沒(méi)有第二個(gè)人敢叫“ken”這個(gè)英文圈里很常見(jiàn)的名字。

Unix 和 C 仍然是年輕黑客在被圈子接受之前必須努力練習(xí)的三項(xiàng)技能中的一項(xiàng)和兩項(xiàng)(第三項(xiàng)是任何腳本語(yǔ)言)。由黑客設(shè)計(jì),為黑客所推崇,C語(yǔ)言本身處處閃耀著黑客精神。這種光讓它永遠(yuǎn)年輕。

其實(shí)作為一個(gè)開(kāi)發(fā)者,有一個(gè)學(xué)習(xí)氛圍和一個(gè)交流圈是很重要的。這里推薦一個(gè)C語(yǔ)言C++交流群。無(wú)論您是新手還是轉(zhuǎn)行,歡迎入駐,大家共同交流,共同成長(zhǎng)。

C語(yǔ)言,一個(gè)不老的傳奇

最流行的歌曲一定是最常聽(tīng)到的,最流行的語(yǔ)言一定是最常用的。 C語(yǔ)言現(xiàn)在用的多嗎?業(yè)界普遍的回答是:如果一件事可以用X語(yǔ)言來(lái)做,就一定不能用C語(yǔ)言來(lái)做。

這里的 X 可以指任何語(yǔ)言。天啊,這好像是在說(shuō)“能聽(tīng)X的歌,就不能聽(tīng)周杰倫的歌”。這是在評(píng)價(jià)周杰倫還是曾軼可?

哪種編程語(yǔ)言最受歡迎?每個(gè)人都會(huì)有自己的主觀看法。讓我們用客觀數(shù)據(jù)說(shuō)話。

2016 年 8 月公布的編程語(yǔ)言流行趨勢(shì)圖(最新統(tǒng)計(jì)數(shù)據(jù)請(qǐng)?jiān)L問(wèn)上方網(wǎng)站)??梢钥闯觯珻語(yǔ)言一直位居前二,最近又有重新奪回第一的勢(shì)頭。

如果你不需要它,你不需要它,它如此受歡迎,這有點(diǎn)令人費(fèi)解。 dmr 曾經(jīng)說(shuō)過(guò):“C 很奇怪很奇怪,它有很多缺陷,并且取得了巨大的成功。”因?yàn)樗殴智矣腥毕?,所以?huì)盡量避免,取而代之的是一種彌補(bǔ)這些缺陷的語(yǔ)言;因?yàn)樗_實(shí)取得了巨大的成功。 ,所以今天還是很流行的。

一個(gè)成功的例子是圖 xx 中列出的 10 種最流行的語(yǔ)言。除C語(yǔ)言外,其余9種語(yǔ)言中有7種是直接使用、間接引用或部分借用C語(yǔ)言的。語(yǔ)法(比如語(yǔ)句末尾必須有“;”),只是語(yǔ)法找不到C的影子。 以這個(gè)世界第一的影響力,受到歡迎是合情合理的,即使它愛(ài)恨交織。

C語(yǔ)言的愛(ài)與恨

C 語(yǔ)言設(shè)計(jì)的第一原則是:“信任程序員”。對(duì)編程語(yǔ)言不太了解的人不會(huì)想到這句話。但是對(duì)于真正的程序員來(lái)說(shuō),這句話足以讓C語(yǔ)言愛(ài)一輩子,愛(ài)到死。

在C語(yǔ)言當(dāng)?shù)赖臅r(shí)代,電腦相當(dāng)昂貴c語(yǔ)言可以做網(wǎng)站嗎,但速度不如現(xiàn)在的手機(jī)快,內(nèi)存以Kb計(jì)算。因此,當(dāng)時(shí)對(duì)程序最基本的要求就是效率。

C 語(yǔ)言完全滿足了人們對(duì)效率的需求。精心設(shè)計(jì)的代碼可以大大節(jié)省計(jì)算機(jī)資源,而且不像匯編語(yǔ)言那樣難用,所以很受程序員歡迎。

后來(lái)硬件越來(lái)越便宜,性能越來(lái)越高。計(jì)劃的效率不再是追求的主要目標(biāo)。安全性、穩(wěn)定性和易維護(hù)性變得重要,C 語(yǔ)言的缺點(diǎn)也變得明顯。 .

C 語(yǔ)言給了程序員大的發(fā)揮空間,讓他們?cè)诖a中自由發(fā)揮自己的熱情和創(chuàng)造力,從不質(zhì)疑代碼是否會(huì)帶來(lái)危害,因?yàn)樗靶湃纬绦騿T”,相信程序員的決定一定是正確的,即使有錯(cuò)誤,也必須自己改正。

無(wú)限的自由,在一些人手中是創(chuàng)造力的源泉,在另一些人手中,它可能是混亂的源泉。隨著軟件系統(tǒng)規(guī)模的擴(kuò)大,需要的程序員越來(lái)越多,綜合水平越來(lái)越低,出錯(cuò)的概率越來(lái)越高,每一個(gè)低級(jí)的錯(cuò)誤都可能造成災(zāi)難。

很多人把造成這種混亂的原因歸咎于 C,開(kāi)始懷疑它,甚至討厭它,但從來(lái)沒(méi)有反思過(guò)他們?cè)愀獾木幋a能力。

所以有人說(shuō)c語(yǔ)言可以做網(wǎng)站嗎,給這匹野馬放韁繩,不要讓它狂奔。但是C拒絕了鎖鏈,這么多語(yǔ)言披上了C的外衣,掛上了鎖鏈,站了起來(lái)。因?yàn)殚L(zhǎng)得很像C,所以大家很容易接受;因?yàn)樗麄儽绘i住了,他們不再信任程序員,而是告訴程序員如何做這件事,如何做那件事。

如果程序員不聽(tīng)他們的,他們就會(huì)拒絕工作。這樣,混亂得到解決,開(kāi)發(fā)速度加快,多人合作更容易,錯(cuò)誤減少,對(duì)程序員能力的需求減少,工資也減少,老板高興,行業(yè)繁榮。

平心而論,“一件事可以用X語(yǔ)言做,你一定不能用C語(yǔ)言做”確實(shí)是一個(gè)很好的策略。程序員雖然會(huì)失去一些自由,但在合法范圍內(nèi)還是有一定的空間的??梢杂袆?chuàng)意,而這些創(chuàng)意很少會(huì)產(chǎn)生負(fù)面影響,結(jié)合起來(lái)讓老板、程序員和用戶開(kāi)心。但是程序員,尤其是受人尊敬的程序員,他們的血液里天生就有躁動(dòng),向往自由的黑客生活。

所以在撫摸他們身上的傷口的同時(shí),他們會(huì)懷念那個(gè)肆無(wú)忌憚卻無(wú)敵的老將軍,懷念他手下的無(wú)拘無(wú)束的日子,懷念他激發(fā)出的層層潛力。這位老將軍是程序員心中永遠(yuǎn)的戰(zhàn)神。

C 語(yǔ)言教會(huì)了我們什么

現(xiàn)在,還需要用到C語(yǔ)言的地方大概僅限于以下三個(gè)方面:

C 語(yǔ)言仍然是編寫(xiě)操作系統(tǒng)的最佳選擇。它為操作系統(tǒng)而生,可以更直接地處理電腦底層,精致、靈活、高效。最重要的是,操作系統(tǒng)的開(kāi)發(fā)者是頂尖的程序員,他們有足夠的能力和經(jīng)驗(yàn)來(lái)駕馭C語(yǔ)言。

在程序運(yùn)行效率要求較高的地方,比如嵌入式領(lǐng)域,C語(yǔ)言也是選。但是,目前嵌入式系統(tǒng)的硬件性能已經(jīng)足夠強(qiáng)大,功能要求越來(lái)越高,C語(yǔ)言的生存空間正在縮小。

在需要繼承或維護(hù)現(xiàn)有 C 代碼的地方,還需要 C 語(yǔ)言。有許多影響深遠(yuǎn)的軟件和程序庫(kù)最初是用 C 開(kāi)發(fā)的,因此 C 將繼續(xù)使用。然而,其中許多已經(jīng)用其他語(yǔ)言重寫(xiě)了,這些 C 代碼總有一天會(huì)被拋棄。

應(yīng)用這么窄,學(xué)起來(lái)有多大用處?

從“不可用”的角度得出“學(xué)習(xí)C語(yǔ)言沒(méi)用”的結(jié)論是不公平的。即使是計(jì)算機(jī)及相關(guān)專(zhuān)業(yè),C語(yǔ)言的“用處”也不是很大。學(xué)習(xí)C語(yǔ)言的意義在于它為我們打開(kāi)了一扇了解計(jì)算機(jī)的窗口。在幾乎所有東西都離不開(kāi)電腦的今天,越了解電腦,就越能用好電腦。

卡內(nèi)基梅隆大學(xué)計(jì)算機(jī)系原系主任周以真教授2006年發(fā)表著名文章——《計(jì)算思維》。 “像計(jì)算機(jī)科學(xué)家一樣思考”適用于大學(xué)新生。它針對(duì)的是非專(zhuān)業(yè)人士,而不僅僅是計(jì)算機(jī)科學(xué)專(zhuān)業(yè)的學(xué)生。這是因?yàn)椤皺C(jī)器學(xué)習(xí)統(tǒng)計(jì)已更改。

計(jì)算生物學(xué)正在改變生物學(xué)家的思維方式。同樣,計(jì)算博弈論正在改變經(jīng)濟(jì)學(xué)家的思維方式,納米計(jì)算正在改變化學(xué)家的思維方式,量子計(jì)算正在改變物理學(xué)家的思維方式?!币虼?,“計(jì)算思維代表了一種普遍的理解和一種這樣普遍的技能,每個(gè)人,而不僅僅是計(jì)算機(jī)科學(xué)家,應(yīng)該對(duì)它的學(xué)習(xí)和應(yīng)用充滿熱情”。

不幸的是,我們?nèi)匀缓苌儆袑W(xué)校提供此類(lèi)課程。因此,編程課程在一定程度上肩負(fù)著傳播計(jì)算思維的責(zé)任。這對(duì)于不需要使用C語(yǔ)言的同學(xué)來(lái)說(shuō),也是大的意義。

總之,學(xué)不學(xué)C,學(xué)C適合不適合自己,既然這門(mén)課已經(jīng)開(kāi)并且有好老師帶領(lǐng),那就趁著這個(gè)機(jī)會(huì)不要浪費(fèi)時(shí)間了。也許一個(gè)學(xué)期后,你會(huì)發(fā)現(xiàn)自己在編程方面的天賦,然后在這方面努力,最后成為受人尊敬的程序員。

————————

看到這里,是不是對(duì)編程語(yǔ)言和C語(yǔ)言有了新的認(rèn)識(shí)~

如果你喜歡這篇文章,動(dòng)動(dòng)小指點(diǎn)贊然后去吧~

網(wǎng)站欄目:c語(yǔ)言可以做網(wǎng)站嗎誰(shuí)叫你不幸生在中國(guó)了?——何祚庥
文章鏈接:http://www.bm7419.com/news3/293703.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、電子商務(wù)、面包屑導(dǎo)航、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司