學(xué)編程前是不是要學(xué)計算機(jī)?
這是一個非常好的問題,作為一名IT從業(yè)者,同時也是一名計算機(jī)專業(yè)的教育工作者,我來回答一下。
首先,編程語言確實有一定的難度,在學(xué)習(xí)的初期還需要了解一系列抽象概念,而如果對于一些基礎(chǔ)性的抽象概念不清楚,在學(xué)習(xí)編程的過程中往往會遇到一定的困難,比如進(jìn)程調(diào)度等概念。所以,通常在學(xué)習(xí)編程語言之前,往往都需要學(xué)習(xí)一下操作系統(tǒng)知識。
編程語言往往是構(gòu)建在操作系統(tǒng)之上的,所以在學(xué)習(xí)操作系統(tǒng)的過程中,能夠?qū)τ谟嬎銠C(jī)形成一個比較宏觀的理解,包括資源管理、任務(wù)調(diào)度、并發(fā)等概念,而這些概念對于學(xué)習(xí)編程語言會起到比較重要的作用。
對于初學(xué)者來說,學(xué)習(xí)操作系統(tǒng)可以從Linux開始學(xué)起,一方面Linux操作系統(tǒng)的應(yīng)用比較廣泛,未來不論是從事Web開發(fā)、嵌入式開發(fā)、云計算開發(fā),還是大數(shù)據(jù)開發(fā),都需要掌握Linux操作系統(tǒng),另一方面Linux操作系統(tǒng)是開源的,未來可以通過閱讀其核心源代碼來深入了解操作系統(tǒng)的體系結(jié)構(gòu)和內(nèi)在原理。
初學(xué)者在學(xué)習(xí)操作系統(tǒng)時,應(yīng)該重點關(guān)注三大概念,其一是操作系統(tǒng)如何管理各種資源,包括存儲資源(IO)、網(wǎng)絡(luò)資源和計算資源,其二是操作系統(tǒng)如何完成任務(wù)調(diào)度,對于任務(wù)調(diào)度的理解會為后續(xù)編程語言的學(xué)習(xí)起到比較重要的作用,其三是操作系統(tǒng)的用戶及權(quán)限管理。
操作系統(tǒng)和編程語言可以同步學(xué)習(xí),而在選擇學(xué)習(xí)編程語言的時候,要結(jié)合自己的發(fā)展規(guī)劃,如果并沒有一個明確的發(fā)展方向,那么最好選擇學(xué)習(xí)一個全場景編程語言,比如Java或者Python就是不錯的選擇。
最后,學(xué)習(xí)編程語言需要重視三件事,其一是要重視實踐,其二是要重視交流,其三是要重視總結(jié),最終形成自己的編程思想。
我從事互聯(lián)網(wǎng)行業(yè)多年,目前也在帶計算機(jī)專業(yè)的研究生,主要的研究方向集中在大數(shù)據(jù)和人工智能領(lǐng)域,我會陸續(xù)寫一些關(guān)于互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會有所收獲。
如果有互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區(qū)留言,或者私信我!