小學就開始學編程了,恐怖如斯!
大家好,我是魚皮,前幾天給大家分享了 星球 里一位小伙伴的真實經(jīng)歷:小學就自學編程,順手黑了學校廣播系統(tǒng)?
當時有同學還不相信,結(jié)果昨天又有一位小伙伴分享了自己的經(jīng)歷。我一看,好家伙,又是一位從小學就開始編程的大佬,而且后來竟然還通過寫腳本當上了 QQ 群的龍王哈哈。

給大家分享一下他的學習經(jīng)歷吧。
我的編程學習之路
大家好,我是魚皮 知識星球 中的小伙伴 99 ,正在浙江某雙非一本就讀,愛好計算機與音樂。
關于我從小就學編程這件事,首先要感謝我開明的父母,沒有認為學習技術(shù)熱愛技術(shù)是一種不務正業(yè)的行為。其次感謝我的世界這款游戲,讓我對技術(shù)產(chǎn)生了濃厚的興趣。
小學暑假(2015)
我最早接觸的編程語言是 C++,為什么一來就接觸 C++ 呢?其實就是隨便找了 “你好世界” 的代碼,覺得 CPP 的最好看,就決定學他了。

果不其然,我實力不足,感覺很難。當時下了個 vc6,對,就是那個很落后的、連自動補全都不完善的一個編輯器。迷迷糊糊創(chuàng)建了一個MFC 程序,然而我對 MFC 一竅不通,基礎的東西問大佬們,大佬們也沒有太多耐心回答,所以基本上就直接放棄了。
然后我又在百度的過程中了解到了易語言 —— 中文編程,對于那個時候英語水平拉胯的我來說,簡直就是救贖,然后我就玩了一年易語言,在這一年里快速建立了寫程序的框架思維,以及問題解決的方法(這就是所謂的目標與興趣導向型學習吧)。但同時為了我以后在技術(shù)的道路上走的更遠,我還是決定買一本《C++ Primer Plus》,系統(tǒng)學習標準庫等語言基礎知識,最后也成功編寫了第一個程序(代碼已經(jīng)丟了,隱約記得是個簡陋的聊天程序)。這個過程中主要還是目標導向與興趣導向,記得當時自己目標很明確:我要寫聊天程序,那么就要有客戶端和服務端;它們需要進行網(wǎng)絡通信,那么就要了解網(wǎng)絡通信的知識(Windows Socket);要編寫界面,就要學習界面開發(fā)的知識(MFC 現(xiàn)在不推薦學習了),如果是 C++ 的界面庫,Sciter 和 QT 是不錯的選擇,或者控制臺,“畢竟 CPP 不配擁有界面”。
魚皮:這是一種非常好的自主學習習慣,在做項目的過程中需要實現(xiàn)哪個功能,就可以去網(wǎng)上搜索實現(xiàn)方案,學習對應的技術(shù)后可以直接應用,加深印象。
除此之外,出于愛好,我其實還學習了建站和網(wǎng)站服務器搭建的相關知識。這部分知識很零碎、不系統(tǒng),我大致說一下我的學習策略。人的大腦其實從原理上更容易接受歸納式與試錯式學習,所以我踩了很多坑,熬了一個又一個夜試錯,最終找到了正確的搭建方法。
當然,當時的我沒有接觸 Linux,所以只是在 Windows Server 圖形化的幫助下,搭建了傻瓜化的網(wǎng)站。這里我說一下當時比較熱門的三個網(wǎng)站服務器,Apache、Nginx、IIS。穩(wěn)定性用 Apache、高并發(fā)用 Nginx、綜合省事兒用 IIS。一開始我是用 Nginx 做代理用于負載均衡,Apache 做 PHP 網(wǎng)站服務器的,后來發(fā)現(xiàn)太折騰了,特別是 URL 規(guī)則配置,簡直要命(當時的我還不會正則表達式)!然后我就轉(zhuǎn)用 IIS 了,現(xiàn)在也依然是 IIS。至于當時搭建了啥,一個基于 Discuzx3.2 的班級論壇和一個 WordPress4 的博客,因為年代久遠了,只找到了這一張截圖:

魚皮:現(xiàn)在的話 Nginx 是主流的 Web / 反向代理服務器,后端開發(fā)的朋友一定要學習下。
初一 ~ 初二(2016.2 - 2017.6)
這時的我,由于學業(yè)的繁忙,技術(shù)學習有點滯緩了。不過也抽空接觸到了全新的編程語言,比如好用但是不火的 C#。
剛開始玩 C# 其實還是用的 WinForm,寫過一個日程管理小工具,現(xiàn)在回看代碼,血壓飆升。
源碼:https://styunlen.cn/softlib/dailytools
對了,WPF 程序編寫小工具還是很好用的,界面庫用的是 Mahapps.Metro。
我用 WPF 寫了一個博客文章閱讀器。因為搭建了一個博客,我嫌瀏覽器麻煩,就想自己做客戶端(折騰、造輪子)。當時還不知道Restful Api,Wordpress 好像也不支持,因此自己還編寫了一個服務端程序,不過要手動添加博客內(nèi)容,麻煩得很,最后這項目也是棄坑了。
這個項目的源碼在百度網(wǎng)盤,不方便直接掛,先放到魚皮的星球里了~
在這期間,我了解到了閱讀官方文檔的重要性,以后的學習中也盡量都去看開發(fā)文檔了。
其實除了 C#、CPP 這些寫應用程序的語言學習,我還喜歡上了前端技術(shù),雖然只有一點點,比如 HTML、CSS、JavaScript 三件套,以及一點點 PHP。我用這些做了個丑不拉幾的 HTML 主頁,主頁風格受到了一點點釘子大佬 @Rrupmid Nyche 的影響(他的 WP 主題我從建站起一直用到高一),初三的時候甚至還二次開發(fā)過他的主題。

初三(2017.6 - 2018.6)
這一年,我也忘了自己干了啥,好像沒啥進步。翻了一下空間,我居然跑去玩 OpenGL 了!

紀念一下當時連 gltools 的編譯都要折騰半個月的憨憨:

高一(2018 - 2019)
時光如流,不知不覺我就成為了一個高中生。其實現(xiàn)在挺后悔初中沒有用功讀書,跑去學了技術(shù),但這都是取舍,重要的是我幸運地找到了自己的熱愛,并堅持在這條道路上走了下去。
高一學習還是比較緊張的,浙江考生十一科連起來學習實在是過于充實,因此也很少有空學習技術(shù)了。
高二(2019 - 2020)
高二過得很苦逼,因為成績下滑了不少、又遇到了分班等等雜事兒。但對編程技術(shù)的學習就像一道光,讓我苦苦地撐過了這一段高中最黑暗的時刻。
分班后,我的政治老師有節(jié)課提了一嘴,說想要一個像我們語文老師一樣的語音點名程序,我就抽假期用 C# 寫了一個語音點名程序,麻雀雖小、五臟俱全~

之后因為特殊的疫情,打破了所有的進程,網(wǎng)課時代拉開了序幕。
對于一個技術(shù)黨,網(wǎng)課當然也要繼續(xù)好好學習(mo yu)啦 !所以,我重新下載了我的世界,開啟了服務器,和小伙伴一起養(yǎng) ,當然,技術(shù)學習也木有落下。
由于我是用電腦開服,這就導致了我薛定諤的開服時間,以及頻繁的在群里公布開服消息。我本人比較懶,因此想讓電腦代替我的重復勞動。于是跳出了 C# 的舒適圈,使用 C++ 的 Sciter UI 引擎開發(fā)了一個 MC 服務器狀態(tài)獲取小工具,這時的這個小工具只能獲取我自己服務器的信息。在高考結(jié)束后的暑假,我對這個程序進行了修改,支持獲取自定義服務器信息了,并開源在了 Github,代碼冗余,就不給大家看了~

除此之外,水群也是我的日常??晌颐刻炷敲凑J真的水群、幣話不停,怎么還是輪不到我當龍王?為啥總是群里的小伙伴是龍王?
我不服氣,然后一天時間入門了 Python,用 pywin32 模塊寫了個刷龍頭腳本。原理很簡單,趁十二點到早上六點,大家都在睡覺,我讓電腦每分鐘自動發(fā)一條消息,這樣我就能發(fā)送 360 條消息,再加上我白天的努力,龍頭就非我莫屬了。
結(jié)果很出乎意料又在情理之中啊,我被禁言了。

哈哈哈,但是我學到了知識,這是很強的正反饋。然后我就繼續(xù)寫腳本刷釘釘?shù)淖詣狱c贊,不過速度有限,每分鐘大概兩千下,鼠標還不能動。不過好在我的一個同學推了一篇酷安的文章給我,解釋了怎么用 fiddle 抓包修改網(wǎng)頁源碼的方式以更快的速度刷贊,甚至是強制刷贊(無視教師端控制)。當時就很快樂啊,給同學直播間的一次測試,簡直不要太爽。

當然還玩了教室面板彩色字體顯示啥的,不過現(xiàn)在的釘釘不行啦。
說完軟技術(shù),來聊聊硬技術(shù)。恰逢通用技術(shù)課上電控知識,我想起來技術(shù)世界中還有單片機這種稀奇玩意兒,于是我斥巨資買了一塊arduino 原裝板(智商稅)和一套傳感器組件。現(xiàn)在建議買 arduino 可以買非原裝的,便宜而且功能一樣甚至更豐富。
不過,剛接觸硬件我就遇到了坑,剛?cè)胧值木拶Y arduino 還沒捂熱,剛寫完 “你好世界” 就 GG 了。不過我了解到了單片機的工作原理以及如何給單片機編寫驅(qū)動程序,還有相關門電路的電控知識,和這些收獲相比,失去反而顯得微不足道了。
高三(2020.8 - 2021.6)
時間來到了中學時代的終點線前,為了提醒自己高考剩余的時間我又開發(fā)了一個桌面端的倒計時小程序,代碼已經(jīng)開源,目前已支持自定義主題功能,也編寫了一丟丟主題開發(fā)文檔,歡迎大家為這個可憐的小程序貢獻漂亮高端的主題。

由于高三時間緊迫,初期的代碼以實現(xiàn)功能為主,因此存在不夠規(guī)范的地方,希望諒解。目前的版本,也存在諸多不夠規(guī)范的地方,我也在抽出緊張的時間做些完善。
源碼:github.com/Styunlen/ReminderOfNEMT
大一 ~ 至今
由于選科的限制,我并沒有進入計算機專業(yè)學習,因此到了大學,技術(shù)還是以自學為主。而專業(yè)課的時間沖突又導致我很難有充足的時間投入技術(shù)學習中,因此學習速度也有所放緩。不過,我一定會堅持下去的!
大一了,我最想彌補自己算法上的不足,因此決定在大學期間去參加 ACM 競賽,而競賽又免不了耗費大量的時間精力,所以我每天的學習狀態(tài)就像在經(jīng)歷高四。
最近學習了 Vue3 框架,并用 Vue3 為我們班編寫了一個微信小程序。其他的感覺倒也沒啥了,主要還是時間沖突問題,讓我自己也很焦慮、很累,所以也加入了魚皮的 知識星球 ,在這里認識了很多小伙伴、看到了前輩們的成長經(jīng)歷、也得到了大佬們的指點。我相信以后會好起來!
?? 結(jié)語
這就是我濃縮版的學習經(jīng)歷了,可能只是作為愛好者接觸了編程知識,對于很多技術(shù)的認知還很淺薄、還停留在技術(shù)海洋的表面,但我會繼續(xù)努力鉆研的!如果有必要,我后面再給大家分享一期如何以目標或興趣作為導向來學習編程技術(shù)的指引吧。
對了,其實算法思想和編程技術(shù)還是有區(qū)別的。算法更側(cè)重邏輯與數(shù)學能力,而編程技術(shù)其實更側(cè)重編程語言基礎和解決問題的能力等多種不同能力的綜合,所以雖然我算法一般但寫程序時沒有感到什么壓力。但不得不說算法思想是非常重要的,在寫復雜的邏輯時可以更得心應手一些。
不過無論是算法還是寫程序本身都有個特點,那就是你只需要有一顆愛折騰的心,就能夠在這兩者的痛苦學習中找到不一樣的樂趣。
熱愛終將會將我們導向我們所向往的生活!
看到這位同學的分享后,我也跟他交流了一段時間,得出的結(jié)論是:他不僅是未來的卷王,還是位雞湯大師?。。【谷贿€給我發(fā)雞湯來著?

以上就是本期分享,最后如果大家有編程學習 / 求職上的問題要向魚皮 1 對 1 提問 、想看看大佬們的經(jīng)驗分享、需要 優(yōu)化簡歷 、想認識更多小伙伴一起進步的話,都歡迎加入魚皮的 編程知識星球 (點擊了解詳情)。本周五就開始在星球中直播帶大家做項目了~
此外,星球內(nèi)的學習資源非常豐富,先放兩個小伙伴們的分享:


此外,我最近也在持續(xù)原創(chuàng)一些 保姆級文檔 ,目的就是:要讓任何想學編程的小伙伴都能一條龍地學下去、不迷茫!

星球原價 300 元一年 ,現(xiàn)在限時領券 8 折加入只需 240 一年 !不確定是否要加入的朋友可以添加魚皮工作微信 yupi5927(備注 “了解星球”)來咨詢。
歡迎 長按下面的海報掃碼領券加入 ,優(yōu)惠券名額有限,先到先得 ,歡迎和大家一起無限進步!
往期推薦
