日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言过时了吗?不,我们需要的是一份个人成长

發(fā)布時間:2023/12/2 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言过时了吗?不,我们需要的是一份个人成长 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

問題

今天和大家聊個很有意思的話題,大一新生學(xué)校在教C語言,是不是已經(jīng)過時了?

C語言適合入門嗎

關(guān)于這個問題我是有過反轉(zhuǎn)的,我曾經(jīng)有一段時間覺得是不合適的。因為學(xué)習(xí)C語言的過程就是面對一個黑框框?qū)懜鞣N數(shù)學(xué)題的過程,挺枯燥和無聊的,很多人都是這樣被勸退的。如果是Python、JS等語言的話,則可以做的事情就很多,學(xué)習(xí)者會有極大的熱情繼續(xù)學(xué)習(xí)下去,這樣入門的門檻可能會低一些。

我想很多人也是這么覺得的,因為學(xué)習(xí)了C語言會有一種無處施展的感覺。我們花了很大精力學(xué)了編程這么黑科技的東西,搞半天居然除了對著黑框框做題什么也做不了,這太不炫酷了。你看看Python,學(xué)會了之后又可以爬圖片又可以處理文檔,難道不香嗎?還有些人可能也不太懂,就覺得Python、Java這些新興語言要比老舊的C語言厲害一點。

最近幾年我的看法又再次翻轉(zhuǎn)了回來,我現(xiàn)在覺得C語言其實挺適合初學(xué)者入門的,它也是有很多其他語言沒有的好處的。同樣Python、Java這些看起來濃眉大眼魅力十足的語言,其實也是有很多缺陷的。

C語言最大的好處是什么?

我個人覺得有兩點,第一點是它的語法很干凈,C語言當(dāng)中基本的語法幾乎都能在其他所有語言當(dāng)中找到。這一點在Go語言上同樣有所體現(xiàn),精簡到極致,多余的一點也沒有。也就是說你在C語言上積累的編程功底換了其他的語言基本上都能用上,但像是Python這樣的語言可能就不是如此。Python當(dāng)中的新特性非常多,換一門語言可能就玩不轉(zhuǎn)了。

第二點是C語言區(qū)分了引用和指針,了解這點對于初學(xué)者而言非常重要。引用和指針直接關(guān)系到傳參以及函數(shù)內(nèi)的變量處理邏輯,但很多語言這兩者只涉及一個,比如Java當(dāng)中就只有引用,Go語言當(dāng)中就只有指針。如果搞不清楚引用和指針的區(qū)別會埋下很多隱患,比如參數(shù)傳遞的時候?qū)戝e了邏輯,再比如完全沒有內(nèi)存使用的概念,寫出來的代碼內(nèi)存泄漏嚴(yán)重。

當(dāng)然C語言存在的問題也不少,比如應(yīng)用場景太少,庫函數(shù)也不多,寫起代碼來非常費勁。但這不妨礙它非常適合培養(yǎng)編程思想以及良好的編程習(xí)慣,對于初學(xué)者而言,擁有一個好的習(xí)慣和意識,其實要比具體學(xué)到的內(nèi)容更加重要,從這點上來說,大一新生的第一門語言課上C語言其實是沒有問題的。

語言的選擇

當(dāng)然,也有一些學(xué)校給大一新生開設(shè)Python或者是Java的(比如MIT和斯坦福),難道這些學(xué)校就錯了嗎?

其實也沒有,這是一個取舍問題。比如Python學(xué)起來可能比較有趣,對于有些學(xué)院而言可能更加看重學(xué)生的興趣。再比如Java一切面向?qū)ο?#xff0c;從Java開始可能更加有利于之后面向?qū)ο蟮膶W(xué)習(xí)。還有些大牛是從JS入門的,因為會比較方便之后從事前端。這些其實都沒有問題,并沒有一條規(guī)定的所謂正確路線。語言本身并沒有高下之分,有的只有適用的范圍不同。

所以說,其實我們選的不是語言,而是方向。比如你想要以后從事算法,那么Python顯然是必學(xué)的,不僅需要學(xué)還需要比較深入。比如你想要做開發(fā),那么就比較推薦Java,入門的門檻相對較低,并且崗位缺口很大,學(xué)得好不愁找不到工作。比如想要做前端,那么顯然Python、Java這些都用不上,HTML+CSS+JS三件套才是王道。

也就是說語言是和我們方向掛鉤的,我們想要成為什么領(lǐng)域的工程師,就需要相應(yīng)地進(jìn)行該領(lǐng)域內(nèi)的學(xué)習(xí)和鉆研。嚴(yán)格來說并沒有一門語言是普適的,是不管什么方向的工程師都需要掌握的。

另外一點是到了后期學(xué)習(xí)一門語言遠(yuǎn)遠(yuǎn)不像大家想的那么費勁,其實熟悉了編程的核心邏輯之后,語言之間基本上只有語法的差異。打個比方來說好了,我在剛?cè)肼毜臅r候為了完成入職測驗,在3天內(nèi)學(xué)習(xí)了go語言,并且從無到有用go語言寫了一個簡單的后臺程序。說起來好像3天學(xué)完一門語言很夸張,其實不然,我只是看了基礎(chǔ)的語法就開始上手了,邊看邊查而已。這并不是我的特殊能力,實際上大部分入職的新人都做到了這一點。

第一門的語言選擇重要,但也沒那么關(guān)鍵,關(guān)鍵還是以后能不能找準(zhǔn)方向。

成長路線

說到方向估計很多人一聽到就頭疼,尤其是學(xué)生黨,很多人可能完全不知道之后要做什么,也不知道這些崗位有哪些能力要求。這其實也很正常,因為學(xué)校的教育少了工程師培養(yǎng)的部分。它只負(fù)責(zé)授課,并不負(fù)責(zé)工程師的培養(yǎng),這是這個問題的核心原因。

那我們怎么辦呢?

我想你們一定很想知道答案,但很遺憾的是,每個人的成長路線需要自己找,誰也不知道你究竟適合做什么。不過話雖如此,但還是有一些比較萬金油的方法的。

如果你學(xué)了C/C++之后不知道學(xué)什么,那就學(xué)Java就好了。學(xué)了Java之后用Java踏踏實實做兩個項目,提升一下項目能力。不管是什么崗位,工程能力都是必須的。而且有了這兩個項目經(jīng)驗之后,其實也算是一個保底,最起碼畢業(yè)了以后找個Java后端的工作基本沒問題了。并且這兩個項目做下來,你會對自己有一個比較清晰的認(rèn)知,這樣寫代碼、調(diào)試程序?qū)ふ覇栴}的工作究竟是不是你喜歡的。

而且關(guān)于做項目還有一個小技巧,我們做項目也不是盲目做,項目之間是有高低之分的,和公司實際業(yè)務(wù)越接近的項目面試的時候吸引力越大。比如你親自做過一個推薦系統(tǒng)、搜索系統(tǒng),即使做得很簡陋,只是勉強能用,這樣的項目在面試的時候一樣是非常非常具有價值的。要比做XX管理系統(tǒng)有含金量得多,而且這樣的系統(tǒng)也算是和算法相關(guān),既可以面算法的崗位,也可以面工程的崗位,可以說是一舉兩得。

其實個人成長這件事和寫文章的邏輯是一樣的,首先要有一個主線,然后一個好的開頭。之后呢,需要結(jié)合主線適當(dāng)?shù)匕l(fā)散,該覆蓋的點都要覆蓋到。當(dāng)然寫文章的時候,我們是在寫之前就有了主線,而成長的路途中可能一開始的時候一直是一個尋找主線的過程,尋找主線其實并沒有問題。對于學(xué)生來說,還年輕,擁有大把的青春,做一些工程項目進(jìn)行適當(dāng)性的試水完全沒有問題。即使以后選了算法或者其他的方向,當(dāng)初的付出和努力也一樣是有用的。

總結(jié)

以上是生活随笔為你收集整理的C语言过时了吗?不,我们需要的是一份个人成长的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。