最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

畢業(yè)想拿高薪?程序員一定要好好學(xué)這些課

2021-03-09 15:38 作者:01星球  | 我要投稿

1、

首先,我們要明確一個概念:

如果給計算機技術(shù)一個簡單的劃分的話,一個是應(yīng)用,一個是研發(fā),二者在普遍意義上都是程序員,我們從概念就可以看出,前者是單純的應(yīng)用,也叫業(yè)務(wù)程序員,后者是對于硬件或軟件的研究設(shè)計,也叫架構(gòu)程序員。

目前市面上大多數(shù)程序員都是在應(yīng)用層面,并不是涉及到真正的研發(fā),甚至大多數(shù)人對于計算機學(xué)科的認知還停留在編程語言的上面。

這里有個初學(xué)者普遍的誤區(qū),編程語言并不是計算機的全部,在學(xué)習(xí)計算機的過程中,數(shù)學(xué)與自然科學(xué),專業(yè)知識,和一些通識類的課程,都非常重要。

當然,大多數(shù)人的學(xué)習(xí)目標首要還是學(xué)習(xí)企業(yè)所需內(nèi)容,進入心儀的公司,拿到一個相對不錯的薪資,這是沒有任何問題的。

只是在技術(shù)積累到一定程度之后,或者想要在技術(shù)一途深耕下去,我們會發(fā)現(xiàn)一些編程以外的基礎(chǔ)知識就變得尤為重要。

所以學(xué)習(xí)這些,能讓我們在技術(shù)走的更深,能給未來更多可能性。


2、

對于技術(shù)學(xué)習(xí)大概分為兩個類別,一個是圍繞計算機基礎(chǔ)學(xué)科知識的學(xué)習(xí),一個是應(yīng)用技能的學(xué)習(xí)。

前者屬于計算機學(xué)科的基石,它是編程,乃至整個計算機技術(shù)體系都是圍繞前者建立的,想要在計算機方向深入,必不可少。

接下來挨個講每門課的學(xué)習(xí)意義。


1、計算機組成原理。

不談深入,如果想從事軟件相關(guān)工作的話,了解存儲器、輸入輸出系統(tǒng)、計算機的運算方法、指令系統(tǒng)等內(nèi)容,對以后涉及到的調(diào)優(yōu)等問題都很有幫助。

如果我們不知道硬件在計算機內(nèi)部如何運行,軟件無法發(fā)揮硬件的最大優(yōu)勢,調(diào)優(yōu)必然受到限制。

在學(xué)習(xí)過程中,計算機組成原理有兩個最大的特點,一個是內(nèi)容繁雜,零零碎碎,亂七八糟,第二個是內(nèi)容十分晦澀難懂,所以在學(xué)習(xí)過程中,有條件的話要多參加學(xué)校實驗課,或者可以多看一些頂尖大學(xué)公開課,可以在慕課、YouTube,包括嗶哩嗶哩,都有很多不錯的課程。

或者說,可以看一些專業(yè)的書籍。比如黑皮書。這些都是學(xué)習(xí)過程中一些不錯的選擇。對于看書,如果有能力的,最好去看一下原版的書籍。因為翻譯過來的內(nèi)容,實在是 一言難盡。


2、匯編:

匯編是可以脫離編譯器甚至編程語言的限制,它對于語法總結(jié),對于了解編程語言本質(zhì),對于解決問題的能力幫助都很大。

在高級語言的角度來說,如果學(xué)會匯編語言,能看懂每一行代碼,看懂編譯器生成的匯編代碼,我們就知道這行代碼在計算機中到底在做什么事情,就可以從本質(zhì)上了解編程。

所以學(xué)習(xí)匯編之前最好先學(xué)習(xí)一門高級語言(比如C++、Java),因為高級語言更貼近人,它是符合人的邏輯的,當我們在學(xué)習(xí)匯編語言的過程中遇到問題的時候,就可以跳出匯編語言從高級語言的角度來看待這個問題,我們就不會被局限起來。

個人認為學(xué)習(xí)匯編的根本目的不是非要用匯編去找一個相對應(yīng)的工作。而是因為匯編語言對于一個開發(fā)人員所應(yīng)該具備的基本素質(zhì)的培養(yǎng)和形成都有非常重大的意義。同計組一樣,匯編也是去相應(yīng)的一些平臺,看一些公開課,或者書籍。

這里推薦王爽老師的匯編語言,還是非常經(jīng)典的一本教材的。


3、操作系統(tǒng)

操作系統(tǒng),我們已經(jīng)耳熟能詳了,什么Windows,Linux,操作系統(tǒng)也是一個極其抽象的東西。我們仔細想一想,操作系統(tǒng)是給人用的。

所以它是其實是在解決我們在使用計算機當中的問題,所以在學(xué)習(xí)過程中,我們可以在其中領(lǐng)會各種解決問題的奇思妙想,思考到各種數(shù)據(jù)結(jié)構(gòu)的巧妙應(yīng)用,他為許多的工程問題提供了非常經(jīng)典并且極其有效的解決思路。每個知識點,都去好好了解一下他的背景和意義。

推薦一本書,《操作系統(tǒng)導(dǎo)論》,推薦的原因只有一個。他提供了真實、可運行的代碼,而非偽代碼,也被稱為最好的開放式操作系統(tǒng)教材。


4、計算機網(wǎng)絡(luò)

互聯(lián)網(wǎng)時代,所有的流量,傳輸都是依靠于網(wǎng)絡(luò),在開發(fā)過程當中,尤其當接觸到一些具體網(wǎng)絡(luò)技術(shù)時,例如Tomcat,Nginx,或者docker等等我們就會發(fā)現(xiàn)網(wǎng)絡(luò)基礎(chǔ)的重要性。

想要深入學(xué)習(xí)編程,計算機網(wǎng)絡(luò)還是比較重要的一環(huán)。同樣在面試里面,我們也會遇到各種網(wǎng)絡(luò)問題,如TCP|IP三次握手,四次揮手,TCP和UDP的區(qū)別,HTTP協(xié)議一堆堆的面試題。

這推薦《計算機網(wǎng)絡(luò):自頂向下方法》,通俗易懂,每章后面也有專門的習(xí)題、討論和實驗。更易于我們?nèi)ダ斫庥嬎銠C網(wǎng)絡(luò)。


5、編譯原理

這門課我想多說兩句,目前國內(nèi)計算機學(xué)習(xí)大趨勢,是迎合互聯(lián)網(wǎng)公司招聘需求為主,對于工業(yè)軟件、編譯器的研究和語言的研究有很大缺失。

首先這門課是從使用語言到創(chuàng)造語言的必經(jīng)之路。就算不能創(chuàng)造,有所了解,對日后編程的學(xué)習(xí)和研究也會有很大幫助。

其次除去應(yīng)用場景,它對我們自身的競爭力和對于計算機技術(shù)的理解也有很大的幫助。有難度的問題都涉及到了底層,因為我們只有了解底層機制才能更深入的思考問題,而編譯原理可以讓我們從語法、代碼優(yōu)化、代碼與硬件結(jié)合等多個方面去看待問題,加深對于計算技術(shù)的理解。

編譯原理的難度相當大,他要求我們建立起 對于計算機編譯過程的理解,對于計算機基本工作原理的理解,甚至有一定的數(shù)學(xué)的思維。

我們在看編譯原理之前,至少把C語言指針的思想搞清楚,學(xué)習(xí)離散數(shù)學(xué),學(xué)習(xí)了數(shù)據(jù)結(jié)構(gòu)。然后要理論和實踐的結(jié)合,爭取自己能寫出一版玩具編譯器。這里說一點題外話,

我想表達的一點是什么呢,沒有什么無用的技術(shù),而在于我們能不能去發(fā)現(xiàn)他的價值,并且深入的學(xué)習(xí)和研究。


6、數(shù)據(jù)結(jié)構(gòu)與算法

同一個項目,架構(gòu)、設(shè)計思路和實現(xiàn)的功能都差不多。有的人做出來的框架Bug也多,性能也一般,只能在自己的公司用。而有人做的就可以開源出來給很多人用,甚至被Apache收錄。這么大的差距形成的原因就是因為細節(jié)。

這些細節(jié)就包括,我們的內(nèi)存是否節(jié)省,數(shù)據(jù)存取是不是足夠的高效,算法是不是足夠優(yōu)化,等等等等,這些結(jié)合起來決定了一個框架是否足夠優(yōu)秀。如果不懂數(shù)據(jù)結(jié)構(gòu)與算法,不懂復(fù)雜度分析,那就只能寫“湊合能用”的代碼。

所有業(yè)務(wù)的實現(xiàn)都是數(shù)據(jù)結(jié)構(gòu),所有數(shù)據(jù)的存儲都依托于算法。還有種說法是程序 = 算法 + 數(shù)據(jù)結(jié)構(gòu),某種意義上來說,這也是最粗略區(qū)分碼農(nóng)和程序員的一門課。


3

總結(jié)一下,以上學(xué)科內(nèi)容為“內(nèi)功”,內(nèi)功不一定能讓我們多拿多少工資,但是能夠幫助我們建立對于計算機學(xué)科比較全面的認知?;氐介_始說的,我們學(xué)的并非只是編程語言,而應(yīng)該是整個計算機學(xué)科。

掌握好這些內(nèi)容,起碼能幫我們打造個人職業(yè)發(fā)展的適配性和稀缺性。 如果對技術(shù)深入興趣不是太大, 或只是想以技術(shù)入行再找適合自己的定位的話,以上內(nèi)容除數(shù)據(jù)結(jié)構(gòu)和基礎(chǔ)網(wǎng)絡(luò)知識外,其他的都可以忽略。

還是那句話,順應(yīng)市場需求進行學(xué)習(xí),是為了當下的生存,學(xué)好內(nèi)功,是為了以后的發(fā)展,根據(jù)個人情況分清自己的學(xué)習(xí)方向和未來規(guī)劃。

最后說句理想主義的話,作為一個技術(shù)人,我個人不是很想以工作有用無用來談?wù)撘粋€技術(shù)的學(xué)習(xí)和研究價值,老打工人思維了,不是對技術(shù)該有的態(tài)度。

畢業(yè)想拿高薪?程序員一定要好好學(xué)這些課的評論 (共 條)

分享到微博請遵守國家法律
和田县| 镶黄旗| 梅河口市| 嵊州市| 马山县| 贡觉县| 鹤岗市| 公安县| 松滋市| 封丘县| 广丰县| 云龙县| 扎赉特旗| 商南县| 绥中县| 二连浩特市| 阳泉市| 瑞金市| 武山县| 隆安县| 东丰县| 巢湖市| 英吉沙县| 仁寿县| 汶上县| 忻州市| 莲花县| 五常市| 黔西县| 毕节市| 台南市| 望江县| 巩留县| 嘉义县| 仲巴县| 西林县| 宁国市| 高陵县| 晋州市| 成武县| 柘城县|