顯示廣告
隱藏 ✕
※ 本文為 XBUCKXMR 轉寄自 ptt.cc 更新時間: 2015-02-20 18:40:35
看板 Gossiping
作者 poopoo888888 (阿川)
標題 Re: [問卦] 程式語言門檻高不高?
時間 Fri Feb 20 18:09:47 2015


※ 引述《NightMoon33 (夜月)》之銘言:
: 先說一下,小魯雖然是理工科的,但不會寫程式語言
: 不過發現台灣寫程式語言的人蠻多的
: 國立大學有教,科大也有教,私立大學也有教,外面補習班也有教
: 市面上程式語言的書超多
: 寫程式語言門檻到底高不高?
: 大家都會寫程式語言,怎麼知道誰比較強?
: 寫程式這塊好像薪水高低也蠻懸殊的
: 剛出社會第一份工作,有聽過年薪百萬的,也有聽過領22k的

HI! 小弟前陣子常被朋友問到這個問題,因此寫了一篇網誌

供您參考!

網頁好讀版:

「工程師的缺德行為:叫朋友去學C/C++」

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), 來自: 27.244.34.151
※ 文章代碼(AID): #1KvmVkJP (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1424426990.A.4D9.html
tigernaxo: 之前就有讀過,今天竟然在ptt看到作者1F 02/20 18:11
thundelet: 用心推2F 02/20 18:12
agong: 推3F 02/20 18:13
EngivalLirva: 不會吧 學長 是你?!4F 02/20 18:14
pttresident: 感謝推;阿就真的只想寫個小自動程式而已 XD5F 02/20 18:14
jayfeng: 原來是作者!?6F 02/20 18:14
sen1008: 大推,我買了一本C++看沒多久就當骨董了7F 02/20 18:15
kingman5566: 推8F 02/20 18:15
ANava: 讚 真不懂那些叫初學者直接學C的腦袋在想什麼9F 02/20 18:17
nk965821: 推作者10F 02/20 18:17
winiS: 那年代的教學就是這樣搞的啊… 丟塊磚頭看有沒有緣11F 02/20 18:18
chenxfu: 因為以前在大學第一次寫程式就是學C...12F 02/20 18:18
illreal: 下個autoit就很滿足了,了不起再學一下vba,excel跑好快13F 02/20 18:20
aris1008: 用心給推14F 02/20 18:20
HermesKing: 用心給推15F 02/20 18:22
jengjye: 以前老師大一計概課直接教C...當時連電腦運作概念都無16F 02/20 18:24
jengjye: 想想他真的滿無良的....
jengjye: 如果真的有人想學 我建議先計組,再來學個java
jengjye: Design patterns學一學  基本就差不多了
lturtsamuel: php才是害人不淺 荼毒程序員的靈魂20F 02/20 18:26
jengjye: 後續要發展哪方面都有底子21F 02/20 18:26
L0v35: 每個大學一開始都是教C吧22F 02/20 18:26
lturtsamuel: 覺得用python寫演算法是最好的入門23F 02/20 18:27
yiersan: 推 的確這樣24F 02/20 18:28
odbc: 良心25F 02/20 18:28
VIP: 我自己自學就是從C++開始  沒啥挫折感啊26F 02/20 18:29
jaid: 作者你好27F 02/20 18:35
sakyer: 不推歐巴馬寫的第一個程式語言JavaScript 嗎?28F 02/20 18:38
netsphere: C還好,C++真的有點複雜29F 02/20 18:38
tinlans: 只有選用對的工具這點可以贊同,但你太妖魔化 C/C++ 了。30F 02/20 18:39

--
※ 看板: traume 文章推薦值: 0 目前人氣: 0 累積人氣: 137 
作者 poopoo888888 的最新發文:
點此顯示更多發文記錄
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇