會寫這篇文章的原因
是因為我遇到太多人問我
『小賴,我要怎麼開始學程式?』
『我要學哪一種程式語言?』
不管是公司的同事還是社群認識的朋友
我真的很想跟他們說『直接去應徵當工程師啊!接我的案子我教你!』
一天寫超過16小時的程式,還學不會嗎?
但我還是會耐著性子(?)問他們
想學程式的原因是什麼?目的是什麼?
你想用程式幫你完成什麼事?
得到很多不同的答案
前公司同事說,我想知道『工程師說做不到是不是真的做不到?還是在騙我』
那我只好謝謝再聯絡了…
說做不到當然有很多原因
現階段技術做不到(天缺)
現階段規劃下做這些改變不符成本(翻譯:沒空啦)
需求對專案沒有幫助(翻譯:不要異想天開了!)
我的能力/你的預算做不到(翻譯:看吧!你用香蕉請到猴子了吧)
這又是另一個故事了,但我覺得工程師是該學學說話的藝術….
這就像你問午餐吃什麼?推薦你拉麵,麵粉都開始揉了,你才說你要吃飯
程式的目的就是幫我們解決生活上的問題
你希望透過什麼樣的產出來解決什麼樣的問題
取決於你要學習哪種程式語言
你想要學最新的程式語言,證明你是一個走在潮流尖端的人 => Go
你想超屌的工程師,學那些沒有人看得懂的語言 => Assembly(組合語言) 或 COBOL
最近剛好有COBOL職缺https://www.ptt.cc/bbs/Gossiping/M.1586163408.A.BA5.html
你想要靠這行業賺很多錢,可以學最賺錢的語言 =>不知道,ios工程師好像挺賺的
你想要業界最普遍,最好找工作的語言 => 台灣還國外?去104看看吧
我會試圖去引導他們,確定他們的目的與產出再推薦要學習的程式語言
如果是想快速開發一個不複雜的手機應用程式
不妨試試AppInventor,要積木的方式學習程式邏輯思維
重點是,我真的有學生用這作出上架APP,成果還不錯!
雖然成品出來後你還是不會寫程式,但至少有作品了
屌打一堆沒做side project的爆肝工程師
MIT App Inventor
另一個跟AppInventor很像的,是麻省理工專門為小朋友打造的Scratch (https://scratch.mit.edu/)
也是用積木個概念做產品,小朋友都能做!你做不出來?
OK,以上都是屁話
言歸正傳,你要怎麼決定你的第一個程式語言,這個問題不是問我
確定你的問題後,想想用什麼方法/產出可以解決你的問題
舉個例子,你只跟我說你想架網站
一樣是做網站,範圍那麼廣,你揪竟想做啥?用來幹嘛?
推廣自己的形象網站?家族企業的MIS?
電商平台?特定商品的銷售頁面?
電商平台是否有購物車或推薦商品?
銷售頁面提供怎樣的付費方式(刷卡、虛擬帳號)
你的產出形式決定你要選擇的程式語言(網站?APP?)
你的產品內容決定你要學的技術深度(前端?後端?資料庫?接金流?AI?)
說得更多就更遠了,直接給我錢我幫你解決吧
不管怎樣,千里之行始於足下,到底要怎麼選擇第一個程式語言呢?
我根據我知道的畫了一張簡表,希望有幫助
但如果你只是想體驗怎麼寫程式,還不確定你要做啥的話
很多人推薦Python,學習曲線低,套件多,能做的功能也多
是個不錯的入門語言
然後怎麼開始?當然就是先來個Hello World囉
有機會再來寫這個吧
同步發布於Medium