[心得] 工程師的缺德行為:叫朋友去學C/C++

看板Soft_Job (軟體人)作者 (阿川)時間10年前 (2015/02/05 17:51), 編輯推噓43(441104)
留言149則, 63人參與, 最新討論串1/9 (看更多)
yo~小弟出社會工作一兩年了,有一些心得想分享給想入門學程式的朋友 網頁好讀版 http://blog.turn.tw/?p=1283 ------------------------------------------------------ 常常看到非資訊背景的朋友問工程師:我最近想學寫程式!該怎麼入門? 通常他們會得到很多糟糕的答案:「先了解演演算法」、「先弄懂資料結構」、 「先認識物件導向」。 這些答案都夠糟糕了,但最糟糕的答案莫過於「從C/C++開始入門」。 (我看過最扯的建議是「去找C++ Primer Plus來看」。 這本磚頭書絕對不適合一般人自學) 照著以上建議去做的朋友,大概會在兩週之內就得到滿滿的挫折感, 然後認為自己「果然不適合寫程式」,也不好意思再去跟工程師講自己的狀況, 最終再也不想踏入programming領域。 這些建議真是害人不淺。 資訊相關科系,是因為要接續到之後的資料結構、作業系統, 所以大一從C/C++開始入門會比較連貫、才能完整學一次電腦的基本知識。 而這些想學coding的朋友,大部分只是這兩種情況: A. 最近覺得寫網站好酷,想試試看自己能否寫個blog、或是個人網頁 B. 對工作上某些人工流程不滿意,想試試看自己能否學寫程式、用電腦解決問題 他們的願望僅此而已,並沒有打算成為電腦專家、駭客,實在沒有必要從C/C++入門。 就像點火一樣,先從零星的火苗開始、小心保護不要讓它熄滅, 接著慢慢加東西進去、讓火焰慢慢成為大火。 學習,除了知識/技能之外,培養成就感與熱情也是很重要的。 而從C/C++入門,會讓正要萌芽的小火苗直接消滅殆盡。 我對程式設計入門的建議很簡單。 如果你是狀況A,去學PHP&MySQL,先弄一個醜醜網頁出來就可以了。 如果你是狀況B,去學Python,先弄一個能執行、能顯示幾個文字的程式就可以了。 一般人想到程式通常只想到「圖形化介面」, 如果能寫出一個有介面的小玩意會非常有成就感。 那樣的話,學PHP來寫個網站、直接就是介面,絕對有趣;學Python很快就能把玩內建的 tkinter函式庫、做出按鈕做出選單,樂趣無窮。 話雖如此,你到市面上找PHP或是Python的書,大概還是會落得「滿滿的挫折感然後正式放 棄」的下場。 別擔心,這不是你的錯,是那些書寫得不夠好。沒有一本是真正的程式設計入門書。 那些書只想著給你知識/技能,沒有想到要培養你的成就感、保護你的熱情。 要找書的話,我只建議兩本。 狀況A,去找歐萊禮的「深入淺出 PHP 與 MySQL」(Head First PHP & MySQL)。 狀況B,去找歐萊禮的「深入淺出程式設計」(Head First Programming)。 已經出社會了嗎?去台灣大學資訊系統訓練班逛逛吧,看看時間跟課程費用能否負擔 (我有經濟系背景的朋友去上過幾堂課程,學得滿開心)。 政府也有推動青年就業讚的課程,滿足某些條件還能申請補助 (不過,我有朋友上過其中一堂PHP課程, 印象很糟糕、覺得是業者要賺政府補助款隨便開設的課程。但畢竟是單一經驗 ,我還是列出來給各位參考。) 國外的線上開放課程也可以考慮。 Coursera的 人人都懂的編程課(Python) 學習編程:基礎 麻省理工的 Introduction to Computer Science and Programming A Gentle Introduction to Programming Using Python 全部都是用Python入門。 我對程式設計入門的建議就只有這樣。 你不需要知道什麼演演算法、資料結構、物件導向。 什麼狗屁名詞都不需要知道。那大多只是工程師下意識地想讓你覺得他們很厲害而已。 你只要想辦法寫出一個會動的程式就可以了。所有偉大的東西都是這樣開始的。 Q1: 但是狀況A還要面對HTML/CSS耶.. 好像很難? 每個技能深入下去沒有不難的。但是HTML/CSS要入門實在不怎麼難。 就從隨便寫幾個表單或按鈕、弄個醜醜的靜態網頁出來開始吧。 Q2: 我是工程師,我能怎麼幫助朋友? 幫他們搞定環境設定吧!幫他們把最基礎卻又最給新手挫折感的環境給設定好!讓他們能用 記事本跟幾個小工具就開始寫code!給他們成就感! Q3: 那寫手機app呢?你怎麼沒提到? 我覺得手機app還滿難入門的,實在給不出有建設性的建議。不知道。不過,上面的連結也 許有一些手機相關課程,不妨試試? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.197.44 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1423129894.A.186.html

02/05 17:59, , 1F
先推 回去再補充
02/05 17:59, 1F

02/05 18:00, , 2F
但是比較起來"快快樂樂學XX"系列更是騙錢!
02/05 18:00, 2F

02/05 18:02, , 3F
Android會在嘗試安裝eclipse後獲得滿滿挫折感
02/05 18:02, 3F

02/05 18:03, , 4F
eclipse..大學上java課就先被這玩意兒擊沉了...
02/05 18:03, 4F

02/05 18:09, , 5F
推三樓XDDD
02/05 18:09, 5F

02/05 18:12, , 6F
不過很好笑的是大學好像都會先從c開始教
02/05 18:12, 6F

02/05 18:15, , 7F
樓上沒看懂原文
02/05 18:15, 7F

02/05 18:17, , 8F
大學教C是為了學OS,要入門的真的建議從Python之類的學起
02/05 18:17, 8F

02/05 18:22, , 9F
先把一種語言跟觀念學好 在來研究網那走
02/05 18:22, 9F

02/05 18:22, , 10F
套句我們老師說的: C是被設計成用來寫OS的
02/05 18:22, 10F

02/05 18:22, , 11F
android官方都放棄eclipse了...
02/05 18:22, 11F

02/05 18:24, , 12F
你要看想學的人的"目的",太多是覺得科技業很賺= =
02/05 18:24, 12F

02/05 18:30, , 13F
之後我會推薦html+javascript連IDE都不用多方便阿
02/05 18:30, 13F

02/05 18:31, , 14F
那從看opensource開始學起好了...
02/05 18:31, 14F

02/05 18:32, , 15F
xdd 這是在諷刺隔壁板嗎
02/05 18:32, 15F

02/05 18:37, , 16F
學web不學個潮潮的(?)ror嗎
02/05 18:37, 16F

02/05 18:38, , 17F
事實上薪水也是偏高啦
02/05 18:38, 17F

02/05 18:39, , 18F
中肯到不行
02/05 18:39, 18F

02/05 18:53, , 19F
太中肯了 推推!!
02/05 18:53, 19F

02/05 19:00, , 20F
中肯。coding培養社會底層奴才
02/05 19:00, 20F

02/05 19:14, , 21F
其實蠻中肯的
02/05 19:14, 21F

02/05 19:20, , 22F
從易成品語言上手的模式可以用成就感培養興趣.但這類人相對
02/05 19:20, 22F

02/05 19:21, , 23F
的問題就是挫折太晚加入太大的話 會直接被打爆的(QUIT)...
02/05 19:21, 23F

02/05 19:27, , 24F
推三樓XDD
02/05 19:27, 24F

02/05 19:31, , 25F
哈哈哈哈哈哈哈
02/05 19:31, 25F

02/05 19:51, , 26F
太好了 以後直接貼這篇給別人 推
02/05 19:51, 26F

02/05 20:26, , 27F
不錯阿
02/05 20:26, 27F

02/05 20:27, , 28F
想聽一下噓的人的意見@@
02/05 20:27, 28F

02/05 20:28, , 29F
我覺得很中肯啊 小弟也覺得coursera MIT OCW
02/05 20:28, 29F

02/05 20:28, , 30F
和台大資工系統訓練班很棒
02/05 20:28, 30F

02/05 20:34, , 31F
甚至覺得網路上的課程資源已優於project少的大學資工課
02/05 20:34, 31F

02/05 20:57, , 32F
Havard cs50 也是入門資工的好課
02/05 20:57, 32F

02/05 21:35, , 33F
最近才在看coursera上密西根大學的python課程
02/05 21:35, 33F

02/05 21:35, , 34F
那老師講的還滿有趣的!!
02/05 21:35, 34F

02/05 21:38, , 35F
應該先去搞一套免費版本的VS比較實際
02/05 21:38, 35F

02/05 21:40, , 36F
eclipse真的是崩潰
02/05 21:40, 36F

02/05 22:11, , 37F
Eclipse已經不用了 不過我覺得最大的問題是英文XD
02/05 22:11, 37F

02/05 22:12, , 38F
**Android已經不用Eclipse了
02/05 22:12, 38F

02/05 22:45, , 39F
淚推三樓 eclipse真的是搞死新手
02/05 22:45, 39F
還有 70 則推文
02/06 17:20, , 110F
02/06 17:20, 110F

02/06 17:24, , 111F
02/06 17:24, 111F

02/06 17:27, , 112F
以下是小朱大文章的部分截取
02/06 17:27, 112F

02/06 17:27, , 113F
你自己的頭腦不夠好,難道要怪我們嗎?
02/06 17:27, 113F

02/06 17:27, , 114F
你理解速度不夠快,也要怪我們嗎?
02/06 17:27, 114F

02/06 17:28, , 115F
我們可不是你父母,也不是你老師,更不是你女(男)友,
02/06 17:28, 115F

02/06 17:28, , 116F
我們幹嘛要為你學習能力差負責?
02/06 17:28, 116F

02/06 17:28, , 117F
那只是你不想學習或懶得學習的藉口罷了!
02/06 17:28, 117F

02/06 17:29, , 118F
以上。
02/06 17:29, 118F

02/06 17:48, , 119F
StupidGaGa雖然你講得讓我覺得有點生氣,但說真的寫程式
02/06 17:48, 119F

02/06 17:48, , 120F
態度很重要
02/06 17:48, 120F

02/06 17:48, , 121F
努力也是
02/06 17:48, 121F

02/06 18:56, , 122F
我覺得態度勝過一切 循循善誘實在沒啥意義 想學的自己就
02/06 18:56, 122F

02/06 18:56, , 123F
會克服 沒克服代表你不夠想學
02/06 18:56, 123F

02/06 18:57, , 124F
在我的世界裡不夠聰明是不存在的 但是不夠想學倒是常出現
02/06 18:57, 124F

02/06 18:57, , 125F
不想學也沒那麼邪惡 憑什麼要別人努力去學你覺得有趣的東
02/06 18:57, 125F

02/06 18:58, , 126F
西
02/06 18:58, 126F

02/06 18:59, , 127F
他不想學為什麼你要逼他想學呢?
02/06 18:59, 127F

02/06 19:00, , 128F
假如他真的想學 那他通常自己會有個大方向了
02/06 19:00, 128F

02/06 19:01, , 129F
最多幫他找出他沒有自己發現的方向 幫忙他就是了
02/06 19:01, 129F

02/06 19:02, , 130F
應該不會有那種「我想學但我不知道要學什麼」
02/06 19:02, 130F

02/06 19:03, , 131F
這句話對我來說就是他其實知道只是他沒表達出來
02/06 19:03, 131F

02/06 19:10, , 132F
比較瞎的是這串討論最後變成再戰語言...
02/06 19:10, 132F

02/06 21:15, , 133F
深入淺出系列很好讀 連在軍中也讀得下 當閒書看就好
02/06 21:15, 133F

02/06 23:54, , 134F
推態度才是重點~
02/06 23:54, 134F

02/07 05:18, , 135F
想學自然會努力去解決問題,他們需要的只是簡單的提點
02/07 05:18, 135F

02/07 05:18, , 136F
而已,三分鐘熱度就放棄的,是他自己不適合
02/07 05:18, 136F

02/07 05:20, , 137F
當然旁人有給出好的方向是好事,師父帶入門,修行在
02/07 05:20, 137F

02/07 05:20, , 138F
個人
02/07 05:20, 138F

02/07 05:21, , 139F
真的有心的人自然會有所收穫,反正將自食惡果
02/07 05:21, 139F

02/07 22:52, , 140F
C++要買C++風格與藝術,誰推薦primer的阿?
02/07 22:52, 140F

02/07 22:52, , 141F
C++也不是不能學,明明指標觀念很重要
02/07 22:52, 141F

02/08 06:13, , 142F
C++ primer 這本書很棒啊。
02/08 06:13, 142F

02/09 00:26, , 143F
primer比較歸類在字典吧
02/09 00:26, 143F

02/09 20:26, , 144F
C++ Primer 怎會歸類在字典... 一個基本會寫 C++ 的至少
02/09 20:26, 144F

02/09 20:26, , 145F
這本書要啃過一遍吧。
02/09 20:26, 145F

02/15 16:06, , 146F
非常好的文章,個人是想寫程式,被人推坑去資工系學c+
02/15 16:06, 146F

02/15 16:06, , 147F
+。資工系好玩不後悔,但要寫程式根本不用懂這麼多。
02/15 16:06, 147F

02/15 16:06, , 148F
一開始就要懂這麼多只是鑽牛角尖。
02/15 16:06, 148F

09/11 19:07, , 149F
謝謝您
09/11 19:07, 149F
文章代碼(AID): #1Kqpqc66 (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1Kqpqc66 (Soft_Job)