[小白進] 大佬們學習為什么簡單?小白該如何學習?學歷不高如何找工作?副業很好賺?了解后少走彎路

一、前言

對于新手來說,最開始學習編程的難度不亞于學天書,那為什么有經驗的程序員在接觸一門新技術時能夠快速的上手并且完成一些需求的開發呢?

有些人可能看了這個問題覺得我在說廢話,“有經驗那不快那怎么才快?”。其實你有沒有想過經驗是可以傳授的?在學習某一技術前,首先了解大致全局學習起來是否更加得心應手?

編程對于大多數剛接觸的同學來說是一片未知的世界,這個世界的所有規則都與自己之前所接觸的知識不同,從而導致在學習這一門技術時,每一步都要去理解這個“世界”中很多的“規則”從而積累對這個編程的認知;在我看來學習一門技術前,對這門技術有一定的了解將會對自己學習這門技術會有著很大的學習效率提升。

例如你從未做過菜,也沒見人做過菜,突然有一天你需要去做菜,你可能連第一步需要做什么都不懂,或者說每一步都需要有人去提示你,但你依舊不理解為什么要這樣做。有經驗的大佬由于熟悉整個流程、對這個世界規則熟悉,知道某些情況下為什么要這么做,并且可以從中得到自己的結論,那么在這些有經驗的大佬接觸這些“新事物”后也會快速的上手。

二、基礎編程心法

基礎編程排難

由于在院校中,大部分學生可能接觸的第一門編程語言是 C 語言,在此我們使用 C 語言為例。

在學習 C 語言時,很多學生由于剛學習編程,對于編程完全不了解,直接學習 C 語言更加難上加男,導致形成了一個很有意思的“刻板映像”,那就是 C 語言是最難的了。

其實我們可以把這個“難”理解成不同階段的難;的確,使用 C 語言 想要做出東西往往不易,很多新手對編程的理解就是學習完一門編程語言就可以去做軟件做應用,其實這是不對的。C 語言 想要進行開發還需要了解更多的知識,我們可以把 C 語言 難的一方面當作是“開發難”,做實際的應用難。那學習起來到底難不難呢?其實 C 語言 語法入門并不難。為什么這樣說?因為在 C 語言中很多都是使用固定的語言格式對某些代碼進行標識,致使你只需要按照其規則對“內容”進行填充就可以學習完 C 語言的語法入門。

編程語言的語法就是現實世界中的說話的規則,例如有一句話“今天這個菜真好吃”,你將這句話改成“菜這個真好吃今天”肯定是不對的。我們在編寫程序時如果覺得很難,那么將其看成一些固定的格式,并且按照該格式對內容進行填充即可。如果真的要說難度,“無規則”的一些語言更加讓新手難懂,例如python,使用空格對整個代碼進行結構上的“層級劃分”,對于新手來說該語言確實易于使用,但是某些層級上的知識點卻很容易搞混。

其實有一部分同學由于英文不擅長的關系,在學習編程時往往會有一種畏難心理;其實在此我想給各位剛剛學習編程的同學說一下,編程我們可以當做是魔法口令,使用特定的規則進行編寫就可以完成該功能;我們只需要知道功能上的含義即可,對于英文我們可以慢慢積累。

對于抽象概念的難點剔除

什么是抽象?可能一部分同學可能并不是很完全知道這個含義。我們可以理解抽象為一種具體世界中并不存在的一種概念或者事物,我們通過其描述或者規則使其具備了一種形態。在編程中,抽象的概念是普遍存在的;例如我們在編寫代碼的時候經常會說這一句代碼是“創建一個變量”(變量可以理解成一個存值的容器),但是某些同學可能會想“為什么我在這里寫上這句話就創建了一個變量了呢?我只是在這里寫了一個符號”。其實這就是抽象的原因,因為在剛學習編程時有部分同學可能并不能完全理解計算機系統中的某些原理,但這并不妨礙我們使用另外一種思想去接觸對抽象概念的不理解。

我們已知,編寫程序是給計算機命令,讓計算機按照我們的指令去做某件事,或者得到一個結果。我們在創建變量時可以理解成給予計算機這條命令,讓計算機去創建一個容器,我之后需要使用到這個容器,這樣就非常好的解決了對某些抽象知識點不理解的困擾。即時在學習更多知識點的時候我們也可以使用這個思維理解這一些內容,均是給予計算機命令讓計算機幫我完成這一件事情;例如創建變量、創建列表、創建一個類型、幫我去這個類型里面找一個方法并且使用它…通過這種方式學習編程不更容易嗎?

如何快速學習完一門語言呢

其實大佬們學習一門語言那么快的原因有幾個:

  • 知道大部分的相關知識點
  • 了解開發流程
  • 不死記硬背

為什么大佬們會知道大部分的相關知識點呢?那是因為大部分常用的編程語言的知識點都是相通的。例如用世界上的語言打比方,中文說你好、英文說 Hello、日文說こんにちは,其實這些不同字符串所表達的意思是一樣的,都是為了表示你好。在編程中也一樣,學習完一門語言后,其它語言一般都會有大部分相互交叉的知識點,所使用的方法也是根據不同語言的規則進行使用,并且了解其作用,這樣只需要每次學習新語言的時候找到相關語言的知識點,了解規則進行內容的填充就ok了。

了解開發流程也是其中一點,知道這個語言的使用跟所學過的內容差不多,那么只需要從知識點上下手便可以快速上手這個新語言。就如同你學習 C語言后在學習 Java 發現其實不難,了解一個語言的開發流程后,對于其他類似的新語言學習也會對某些知識無師自通。

不死記硬背非常重要,新手學習編程時,很容易讓自己陷入一個誤區,就是需要去記去背這些內容;其實不然,我們還需要理解內容,最多記一下小筆記,在 CSDN 上寫一下博文,下次忘記了再來看博文就一下子記起來了。

三、學習完語言后如何開始寫“大”一點的程序應用呢

在此我并不做 C 語言相關的擴展說明,因為我本人并不是 C 程序員,過多的進行不擅長方面的講解導致不必要的過錯實乃不道德之事,在此我只做常規的幾個方面應用的講解,并且大多數人學習 C 語言到最后工作時也大部分選擇了其他方面。

C# 到 unity 游戲開發

學習完 C 語言后可以學習 C# 語言進行 unity 游戲的開發。因為學習完 C 語言后學習 C# 有一種較為天然的過渡,學習游戲開發大部分同學也是非常感興趣的。

使用 unity 進行游戲開發將會十分簡便,并且能夠得到很大的成就感;unity 也有很多的免費游戲素材提供使用,甚至可以說學完第一門編程語言后做其他的開發將會覺得更加簡單。

Python 到 Web、數據分析、爬蟲、自動化等

Python 也是一個不錯的選擇。Python 第三方支持優勢明顯,可以使用少量的代碼完成一個不錯的實際應用。例如在 Web 端可以學習 Django、Tornado、Flask框架,很快的完成 Web 應用的搭建,新手推薦學習 Django,學習簡單,很快完成 Web 網站的搭建,可能也就是剛開始學就可以創建一個網站了。

Python 從事數據分析也有很多庫的支持,甚至你不需要了解太多的數學知識都可以完成某些圖像識別、人臉識別等項目開發,例如使用 OpenCV 庫完成圖像方面的內容,也可以使用sklearn之類第三方支持完成對機器學習方面應用的開發。

Python 還可以快速的完成爬蟲的開發,有很多的支持庫,例如 scrapy、beautifulsoup甚至可以使用selenium 開發低效但開發效率極高的爬蟲應用。selenium 不止可以應用與爬蟲,還可以使用selenium完成自動化應用開發,例如自動搶商品等,但是會有一定局限。

Python 如果考慮就業,我個人比較推薦 Web 方面、自動化測試以及爬蟲方面。

C++ 到應用、游戲開發

學習 C++ 后,可以學習一些UI庫,例如QT進行桌面應用軟件的開發,或者學習虛幻編程,編寫大型的客戶端游戲是個不錯的選擇。

JAVA HTML 到移動端開發

學習完 JAVA 可以對移動端應用進行開發,但是如果不是大廠往往會追求開發效率。一般的創業公司為了項目進度,會選擇一些跨平臺的開發,使用 HTML 進行移動端前端開發,這樣可以同時完成IOS與安卓端應用。JAVA也可以做 Web 后端的開發。一般選擇前端開發需要學習一些前端框架例如 Vue、React、 Angular。

四、面向招聘進行學習

了解自身定位

在學習編程初時就應該對自身的定位有一個了解,有些211、985的學生可以憑借良好的學歷敲開大公司的面試機會,但是一些大專院校普通本科的同學如果去沖擊大廠面試機會會有一定難度,當然不是說這部分的學生會弱,其實這一部分學生也是有相當一部分很強的,但是這一部分學生的實力如何在簡歷篩選初期體現是一個很重要的問題;HR可能在篩選簡歷時自動將學歷不高的同學給過濾掉了。那如何能夠體現自己的實力呢?

CSDN 寫文與活動

其實博文可以很好的體現一個人的技術水平,可以編寫一些技術文章進行發表,并且可以參與平臺活動、競賽獲取一定名次。名次實力的提升對于自己的交際圈會有很大的提升幫助,可能你未來的工作就由此而來。

養成良好的博文編寫習慣對于自己的提升和反饋尤為重要,不要認為自身能力不夠而不去編寫,前期更重要的是自己對這個知識點的梳理和復習。

非211 985同學找工作建議

對于這一部分同學,我個人建議是根據自身能力的預估從而學習相應的知識。例如數據分析、機器學習一般找招聘時所需要的學歷較高,即使你有一定能力,但是在簡歷篩選方面你會比其它學歷高的機會少,而且這一類的招聘公司基本上以有實力的公司為主,所需要的人才“素質”(指明面上文字能夠表達的履歷)更高。

其實對于學歷不高、對自身技術認知較弱的同學可以去從事一些應用的開發;例如移動端開發、后端開發、前端開發。

移動端開發包括了IOS、Android、移動設備,可以使用java編寫這些移動端前端應用。其實現在很多中小企業使用的是跨平臺技術,例如使用 APICloud 之類進行跨平臺的開發,直接使用 HTML 語言生成一個跨平臺的應用,節省用人成本、開發周期。

Web 前端開發也是一種選擇,學習一些前端框架例如 Vue之類,編寫前端應用,部分公司還要求對微信開發有些了解,學習了相關技術后,進行實戰也是比較好找工作(中小規模企業)。

Web 后端開發可以學習java、python、php等語言。Web 后端開發一般是指在服務端的應用開發,簡單的理解就是一個網站的功能編寫。用php作為例子,學習完php后再學習 thinkphp這一類框架,可以快速的上手網站開發,但在此處還需要學習數據庫,使用sql語句對數據庫進行增刪改差等這些常規操作。如果想簡單完成網站的開發,可以使用python 的django,安裝配置后即可完成一個簡單的我網站。

五、剛剛所述的那幾點如何學習

快速的學習往往對自身的基礎重視不夠,在此我講解幾個共同點,減少小白們的學習難度。

移動端開發上一點說已經了解到,可以使用HTML代碼編寫頁面,最終實現一個跨平臺的應用。那如何減輕HTML的學習難度呢?其實我們可以理解HTML就是一個網頁如何進行顯示的描述,怎么理解這句話呢?我們在編寫 HTML 時,所編寫的內容是對這個網頁如何顯示的描述,其實就是告訴瀏覽器我們要如何對這個頁面進行排版,使用固定的格式完成即可;也就是一個說明書,告訴瀏覽器要怎樣顯示頁面。在學習HTML時還要學習 JavaScript ,使用JavaScript可以控制頁面元素,也可以使用 JavaScript跟服務器進行通信,這兩者是必要學的。

那后端如何學習呢?其實后端我推薦最好的方式就是學完基本語言后去學習一個開發框架,開發框架可以看相關的快速入門,首先快速的了解一遍這個框架的開發流程以及最基礎的使用方法,這樣你才可以一步步進行擴展,否則沒有成就感的學習會顯得枯燥。

六、副業真的很好賺嗎

有部分同學是覺得做程序賺錢很簡單,其實也是有一定難度的。有些同學可能會覺得自己遇見的大佬賺很多很多,其實并不是這樣,那一部分人是很少的一部分,很多程序員單人在互聯網上接單也是非常累的,疲于后期的維護,以及尾款不結賬等問題。在互聯網上接單有一個很大的不確定因素就是不穩定,有時候你很忙的時候有單子接有時候卻很久沒有私單。前幾年可能私單較多,現在已經很少了,如果說真的比較穩定的就是開個店做畢業設計了,也可以去編寫一些網站,做好SEO賺流量費,但是SEO要做好也是有一定難度,或者爬蟲。爬蟲通過正規的流程進行可以獲取挺好的收益,但是很多時候有一定風險,各位以后學習后一定要謹慎而行呀。

C語言學習目錄(更新中)

你去約個會,你零基礎的同學就學完C語言知識點過完了
《看聊天記錄都學不會C語言?太菜了吧(1)我在大佬群里問基礎問題沒人理?——學習建議

《看聊天記錄都學不會C語言?太菜了吧(2)我說編程很容易你們不服?——Devc使用及HelloWorld

《看聊天記錄都學不會C語言?太菜了吧(3)代碼都在談戀愛難道你不知道?——頭文件及標點

《看聊天記錄都學不會C語言?太菜了吧(4)原來我早就會編程了——變量

《看聊天記錄都學不會C語言?太菜了吧(5)打了一把游戲我學會了一個編程知識?——變量輸出及占位符

《看聊天記錄都學不會C語言?太菜了吧(6)以前跟我說編程很難的給我站出來——浮點數及變量運算

《看聊天記錄都學不會C語言?太菜了吧(7)下一篇文章告訴你牛郎是誰——if邏輯判斷

《看聊天記錄都學不會C語言?太菜了吧》(8)牛郎和織女竟有一個孩子?——多條件if

《看聊天記錄都學不會C語言?太菜了吧》(9)老公餅真的有老公送?——字符數組

《看聊天記錄都學不會C語言?太菜了吧》(10)程序媛聰明絕頂了——邏輯與運算符

《看聊天記錄都學不會C語言?太菜了吧》(11)2分鐘領悟數組——數組

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287335.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287335.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287335.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Chrome如何離線安裝crx文件

2019獨角獸企業重金招聘Python工程師標準>>> 在Chrome瀏覽器的谷歌網上應用商店Chrome Web Store上點擊應用安裝按鈕「添加至Chrome」,變成下載文件。把下載文件一拖進瀏覽器也不能安裝。下面是如何離線安裝crx文件的方法: ①點擊Google Chr…

新坑

最近準備多看一些論文辣,先大體整理一下要看的東西淺談啟發式思想在信息學競賽中的應用后綴自動機及其應用淺談分塊在一類在線問題中的應用淺談圖的匹配算法及其應用Dp的一些優化技巧對置換群有關算法的初步研究線段樹在一類分治問題上的應用慢慢填吧轉載于:https:/…

【Envi風暴】Envi 5.1平臺下植被覆蓋度(VFC)的遙感估算

【導讀】植被覆蓋度是指植被(包括葉、莖、枝)在地面的垂直投影面積占統計區面積的百分比。常用的計算方法有:經驗模型法、植被指數法、像元分解模型法、FCK模型法、決策樹分類法和神經網絡法。本文利用像元二分模型計算植被覆蓋度(VFC)。 一、數據 張掖市Landsat TM影像(…

基于.NetCore開發博客項目 StarBlog - (6) 頁面開發之博客文章列表

系列文章基于.NetCore開發博客項目 StarBlog - (1) 為什么需要自己寫一個博客?基于.NetCore開發博客項目 StarBlog - (2) 環境準備和創建項目基于.NetCore開發博客項目 StarBlog - (3) 模型設計基于.NetCore開發博客項目 StarBlog - (4) markdown博客批量導入基于.N…

時間序列matlab代碼,MATLAB在時間序列建模預測及程序代碼.pdf

第二十四章 時間序列模型時間序列是按時間順序排列的、隨時間變化且相互關聯的數據序列。分析時間序列的方法構成數據分析的一個重要領域,即時間序列分析。時間序列根據所研究的依據不同,可有不同的分類。1.按所研究的對象的多少分&#xff0…

Android之安卓8.0版本以上手機開啟熱點提示Caller already has an active LocalOnlyHotspot request

1 問題 在Android8.0手機開啟了熱點,關閉頁面再次打開熱點, /*** 開啟Android8.0版本手機以上的熱點,熱點名字和密碼都是隨機的。*/fun initWifiApGreaterThanEight(context: Context) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {var wifiManager:WifiMana…

JavaScript基礎和js概括

js內容概括: Html 結構化 CSS 樣式 JavaScript 行為交互 01.JavaScript基礎 02.JavaScript操作BOM對象 03.JavaScript操作DOM對象 ***** 04.JavaScript的面向對象 -------------------------------------- 05.jQuery (js) .css .js 06.jQuery選擇器 …

《看聊天記錄都學不會C語言?太菜了吧》(12)循環有多容易?你看一眼就懷...

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我,若你是真心學習可以送你書籍,指導你學習,給予你目標方向的學習路線,無套路,博客為證。 本系列文章將會以通俗易懂的對話方式進行教學,對話中將涵蓋…

***ECharts圖表入門和最佳實踐

ECharts數據圖表系統? 5分鐘上手! 【ECharts簡介】 ECharts開源來自百度商業前端數據可視化團隊,基于html5 Canvas,是一個純Javascript圖表庫,提供直觀,生動,可交互,可個性化定制的數…

【經典回放】多種語言系列數據結構線性表之一:順序表

一、實驗任務描述 建立線性表的ADT后,編程完成: 1 用C語言完成一個順序表結構; 2 為順序表完成追加、刪除、插入、查找的功能; 3 建立一個鏈表的結點; 4 完成鏈表的追加、刪除、插入功能; 5* 用C#完成一個結點的類; 6* C#完成鏈表的追加、刪除、插入功能的類; 7* C#編寫…

原型繼承+原型鏈 + 對象繼承發展

一、原型繼承: 1、說起原型繼承,就要先由構造函數創造對象說起,首先了解構造函數內部基本原理: (1).在函數體最前面隱式的加上this {} (2).執行 …

Kotlin之?和!!最簡單的理解

一、? 1&#xff09;、?在聲明對象時&#xff0c;把它跟在類名后面&#xff0c;表示這個類允許為null var list: ArrayList<String>? null 2&#xff09;、調用對象時&#xff0c;把它跟在對象后面&#xff0c;表示如果為null程序就會視而不見&#xff0c;比如我們…

WPF|一個比較簡單帶點設計的登錄界面

閱讀目錄效果展示準備簡單說明 源碼結尾&#xff08;視頻及源碼倉庫&#xff09;1. 效果展示欣賞效果&#xff1a;2. 準備創建一個WPF工程&#xff0c;比如站長使用 .NET 7[1] 創建名為 Login5 的WPF項目。找一張圖片做為裝飾&#xff0c;放登錄表單左側&#xff1a;添加Nuget…

Android插件基礎之類加載器學習

記錄學習java 加載器學習所獲心得&#xff0c;逐步記錄了解java加載器的過程。為了知悉android 插件化的實現原理&#xff0c;從而需要從頭了解android加載apk&#xff0c;以及基礎的java類加載的加載過程情況&#xff0c;為方便記錄和記憶&#xff0c;故此將學習了解的過程記錄…

php多個文件上傳代碼,PHP單文件上傳類或多文件上傳類源碼

以下為引用的內容&#xff1a;php文件:代碼://如果收到表單傳來的參數&#xff0c;則進行上傳處理&#xff0c;否則顯示表單if(isset($_FILES[uploadinput])){//建目錄函數&#xff0c;其中參數$directoryName最后沒有"/"&#xff0c;//要是有的話&#xff0c;以/打散…

《看聊天記錄都學不會C語言?太菜了吧》(13)(9*9 乘法表)尋找電腦中的盲盒彩蛋

若是大一學子或者是真心想學習剛入門的小伙伴可以私聊我&#xff0c;若你是真心學習可以送你書籍&#xff0c;指導你學習&#xff0c;給予你目標方向的學習路線&#xff0c;無套路&#xff0c;博客為證。 本系列文章將會以通俗易懂的對話方式進行教學&#xff0c;對話中將涵蓋…

Fragment使用--文章集錦

android使用Fragment實現底部菜單使用show()和hide()來切換以保持Fragment狀態Android Fragment 真正的完全解析&#xff08;上&#xff09;Android Fragment實踐(一)糾正對Fragment Transaction BackStack的誤解多個Fragment 切換時不重新實例化Fragment詳解之四——管理Fragm…

Android之在在EditText的xml里面配置了相關屬性依然沒有顯示光標問題

1 問題 在EditText的xml里面配置了 android:cursorVisible"true" android:focusable"true" android:focusableInTouchMode"true" 依然沒有光標顯示 2 解決辦法 直接在代碼層控制&#xff0c;平且拉起鍵盤 fun showSoftInputFromWindow(activ…

【經典回放】多種語言系列數據結構線性表之二:鏈表

目錄 1 鏈表結構設計 2 簡單的鏈表測試 2 鏈表的組織和ADT設計 3 初始化有頭結點鏈表 4 有頭結點鏈表中追加一個結點(一行數據)

使用 Postman 實現 API 自動化測試

1背景介紹 相信大部分開發人員和測試人員對 postman 都十分熟悉&#xff0c;對于開發人員和測試人員而言&#xff0c;使用 postman 來編寫和保存測試用例會是一種比較方便和熟悉的方式。但 postman 本身是一個圖形化軟件&#xff0c;相對較難或較麻煩&#xff08;如使用 …