為何強烈不建議中途轉IT的人從C語言開始?

儘管如今許多人宣稱互聯網泡沫已經逐步破裂、互聯網已經步入寒冬云云,但依然無法阻擋大批優質(有志?有痣?幼稚?)青年從各行各業邁著大步跨向IT行業。先暫且不論如今互聯網環境如何,小編在這裡給大家分享一個轉行IT的經驗--那就是千萬不要從C語言開始。

為何強烈不建議中途轉IT的人從C語言開始?

說明:本文所談論話題只是針對中途轉行IT而言,若是科班,C語言是必學的,而且以後在工作中也會給你很大的幫助

難學難用

C語言難學這個結論本身不是絕對的,任何事物都是相對的。若是放在幾十年前,C語言相比於彙編,那已經是編程者福音了。但是放到如今這個時代,更多更高級的面嚮對象語言已經成為編程界的中流砥柱,如Python、Java等。而C語言由於指針和內存的存在以及不支持泛型和動態類型,再加之沒有成熟的框架而逐漸被應用層拋棄。

對於一個完全沒有基礎或者基礎很薄弱的人,學習基本類型和控制語句問題應該不是很大,但是接觸到指針和內存知識可能很多人都過不了這個坎。我見過很多自學C需要的人,前幾章節知識都說感覺比較簡單,然而指針學了幾個星期還是雲裡霧裡。而C語言的庫函數基本都是以指針類型和句柄作為參數,若是從C語言開始轉行之路將十分艱難。

下面列舉幾處C語言與其他語言對比,就能有一個直觀的感受:

1、最簡單的,向熒幕輸出信息的函數(C語言VS Python)

//C語言

int a = 1 ;

int b[] = {1,2,3,4};

char* c = "i love u" ;

printf("a = %d,c = %s",a,c) ;

//Python

a = 1 ;

b = [1,2,3,4]

c = "i love u"

print(a,b,c)

C語言還得嚴格控制變量輸出格式,而一個格式控制符就已經夠新手懵逼一段時間的了,而且數組還不能直接輸出;而Python相對的就對程序員友好百倍;

2、庫函數查看

由於C語言沒有很好的框架,只有本身的庫和一些第三方庫,雖然這些庫也是可查看的,但是對於新手來說,想要看懂都已難如登天了更別說去查看並使用了。(爺孫對比:C語言VS CSharp)

為何強烈不建議中途轉IT的人從C語言開始?

3、一臉懵逼的編譯和Debug報錯

C語言的編譯和Debug報錯,到現在為止很多時候小編也是一臉懵逼,而且網上也不見得有解決辦法。C語言報錯直接跳到庫函數(難不成你是告訴我庫函數有問題?);

為何強烈不建議中途轉IT的人從C語言開始?

這還算好的,有時候報的編譯錯誤才讓人崩潰:(無法解析的外部符號,玩過C語言的都經理過吧!)

為何強烈不建議中途轉IT的人從C語言開始?

轉行成本高

在如今這個高生活成本的年代,不管你是邊上班邊學習轉行,還是辭職背水一戰,亦或是應公司業務需求轉型,都需要考慮轉行的時間成本。

C從學習到上手開發項目需要花費的時間可能是其他語言的好幾倍。目前C需要主要用於系統和應用底層的開發,其在應用層並沒有成熟好用的框架,導致需要從造輪子開始,並且由於技術水平問題,輪子質量不見得可靠。而其他語言,如python的Django和flask都允許開發者直接將現有的零件拿過來用,而且質量還穩定可靠。

為何強烈不建議中途轉IT的人從C語言開始?

除非轉行後從事嵌入式或者底層開發工作,否則以C語言入門,到真正的開發應用還需要再學習其他語言。雖然說語言是一通百通,但那是基於學習者對編程思想有一定層次的理解的基礎上。所以還不如直接就以行業選擇工具,比如:想從事app開發就學習Java,想從事web開發就學習javascript、html、java、python、php等。

就業不樂觀

據Indeed有關數據統計,2019年各編程語言崗位需求數排行前七的語言為:Java、Python、JavaScript、C++、CSharp、Perl。C語言並沒有在列,雖然其升級版--C++位列第四,但是C++與C的差距還是很大的。

為何強烈不建議中途轉IT的人從C語言開始?

在如今互聯網行業中,大部分企業都在做應用層的開發。而C語言目前適合系統和底層的開發,如:Linux系統、IOT、汽車電子設備嵌入式程序等。

為何強烈不建議中途轉IT的人從C語言開始?

而做底層開發,需要具備極其豐富的知識面和經驗,這些都需要花費大量的時間,所以基本C語言的崗位都會有開發經驗的要求。


分享到:


相關文章: