顯示廣告
隱藏 ✕
※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2016-12-25 20:33:05
看板 Gossiping
作者 daviddwlee84 (海灘的太陽)
標題 Re: [問卦] 大家都怎麼學程式語言的阿(認真)
時間 Sun Dec 18 22:18:33 2016


※ 引述《swilly0906 (史威利哥哥)》之銘言:
: 各位肥宅安安
: 小弟我最近在學程式
: 可是我本身非CS出生的(我統計系der)
: 我看了簡單的範例/語法
: 可是實作演練的HW 的超難
: 到底一開始沒有程式背景的朋友是怎麼學的阿!!????
: 要怎麼從無到有?

稍微認真回一下

基本上看你的學習方式要走什麼路線了

1. 扎實路線
2. 成就感路線
3. 小品寫爽路線

再來就是挑選自己想走的技能,
雖然說coding感覺就都是打打code
不過中間細分也是非常多的
最大的差別就是需要哪些knowledge base

好比寫網頁的 基本網路的概念就要有
寫嵌入式物聯網 就要對硬體有一定的熟悉
要鑽研人工智慧和演算法 數學的底子就很重要
玩Unity 寫遊戲引擎 那線性代數矩陣轉換的空間概念會吃得很重

等等等族繁不及備載
找到對自己有興趣的領域
搭配自己的學習路線
就可以來選語言啦
(當然上面提到的學習路線也會決定自己學習方向)

以下就依照一開始提的學習路線,稍微隨便舉幾個

1. 扎實路線:

從基礎科目開始摸起,好比資料結構與演算法
搭配C語言(C++也可以,不要選太高階的語言會被寵壞)
一邊讀,一邊實作

如果對剛剛有提到的嵌入式系統有興趣的話
(不知道嵌入式是指什麼,就是類似智慧冰箱、或是控制機械手臂,這類的應用)
那硬體的概念就很重要,學科大概可以去看計算機組織


優點:想要轉學任何之後想學的東西都會學很快
缺點:對於初學者來說會很枯燥,大概會跟阿嬤學三角函數一樣,覺得買菜又用不到


2. 成就感路線:

這種最好就是學一些可以「看得到」成果的東西

例如網前端頁、手機APP 等等
又或者是玩玩資安,去駭一些防禦力弱弱的學校網站

網頁起手大概就是 HTML5 + CSS3 剩下再挑一個喜歡的framework搭配
後端server就稍微Google一下,看教學架架就好,有興趣再深入研究

APP的部分

想寫iOS就先存錢買台Mac
Android的話就隨意
至於能學的語言很多,也有一些是能通吃的(跨平台),端看怎麼選擇
初學大概先寫一個量測BMI的程式,就會對整體有一點概念了

iOS初學:Swift
Android:Java

優點:大概就如題,可以很快獲得成就感,只要不斷Google,跟組積木一樣慢慢拼起來,
也可以不用會很多東西,卻做出看起來很屌的東西
缺點:也沒太多缺點,反正碰到太艱深的東西,就去找別人的Library來用就對了,
不過如果缺乏美工基礎,可能功能很帥卻長得很醜,不過也不用太擔心,
網路上的Template也是多到滿出來


3. 小品寫爽路線:

可以先找一台電腦灌一下Linux
(當然也可以直接用Windows的Bash on Ubuntu來玩,或是OS X的Terminal)
練習在文字介面的操作
裝一些好玩的東西(比方說載OpenCV的Example下來跑一跑)
這些只要照著指示做就OK了,碰不到任何需要計算的東西
頂多再多一點作業系統 Compiler的概念,或是怎麼用Git clone別人的code下來

玩玩Python,跟著教學或Youtube的Tutorial寫些小品
當然也可以直接用C寫一些很簡單的亂數程式當骰子用之類的


優點:開心愉快
缺點:好像沒有


以上
基本上,程式語言就把它當成一種語言就好
好比C就是法文 而C++就是德文 (我亂舉例
反正所用到的語法在相近的語系都很通用
而整體程式的概念則是都相通的,也就是程式的邏輯
當然還是有些許差異,例如有些比較高階的程式語言會有物件導向的概念
只要有了那些概念,基本上就是在相近語言走透透了

但是要了解,學會語言,那也只是語言本身
就像學會英文,不代表就會用英文跟外國人做貿易一樣
重點還是你要怎麼用那個語言
也就是把語言當作一種工具去實現某種東西
筆下的文字要能夠表達的動人,還是基於人生的歷練與內涵
而寫程式也是這樣,倚靠著累積而來的經驗
當然如果作文寫不出來,就抄幾句古人的詩句,寫程式也差不多就是了
畢竟Google太神LAAAAAAAA!!

大GUY就是JOHN子

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.118.143.169
※ 文章代碼(AID): #1OLfg-PP (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1482070718.A.659.html
lolic: 為什麼寫IOS要用MAC1F 12/18 22:20
因為Apple把iOS的SDK綁在Mac裡面,簡單說沒有那個SDK就沒辦法編譯出能跑在手機上的程式
zzzz8931: C++讚讚讚2F 12/18 22:22
OrzOGC: 我走路線3的...3F 12/18 22:22
eva19452002: 還滿中肯的4F 12/18 22:23
hydepark: 謝謝 受益良多5F 12/18 22:24
yongb: 3的成就感其實不輸2 ,還有我覺得html+css直接上框架太快了6F 12/18 22:24
gn00029914: 沒有那麼簡單7F 12/18 22:24
初學能維持著熱忱還是最重要的
sowulo: 1路線的不是本科系的很難走吧 演算法就夠搞死人了8F 12/18 22:24
lingling0000: 謝謝分享9F 12/18 22:27
curlymonkey: 6666666666666610F 12/18 22:42
Gold740716: 我認為不用過 3 根本不算會寫程式。11F 12/18 22:54
的確XD 我覺得也是很基本的必經之路 雖然不難 但是很繁雜 又很多要學
(麻煩的是,初學常常會不知道應該要學什麼)
不過英文不好的話會有點痛苦就是了
※ 編輯: daviddwlee84 (140.118.143.169), 12/18/2016 23:16:26
name2name2: 推12F 12/18 23:13
YahooTaiwan: 我不覺得學寫 app 可以增加成就感......13F 12/18 23:19
swilly0906: 我是原原PO 謝謝您的回應 我會再參考參考:)14F 12/18 23:19
YahooTaiwan: 尤其是當你發現你想寫的題材 人家幾百年前就寫好了15F 12/18 23:20
YahooTaiwan:  而且還是免費的
bj45566: 認真推!17F 12/18 23:26
bj45566: 不過個人頗不建議新手從 C++ 起跑 -- C++11 比起 90's
bj45566:  的 C++ 就已像是兩種語言了且複雜度不斷創新高,高到甚
bj45566: 至不少人懷疑是否值得
bj45566: 記得有統計 1996~2000 時期軟體工程師學習 C++ 的比例超
bj45566: 過七成,而近五年則滑落到四成多... @@
drajan: Data science的MOOC跟幾堂就會愛上程式了 QQ23F 12/19 02:00

--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 150 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇