本文轉貼自PTT
台灣最大的本土社群網站
分享這篇文章到Facebook、Google+或噗浪!


 作者  brianhsu (墳墓)                                         看板  Soft_Job 
 標題  Re: [請益] 覺得自己能力不足,我真的適合寫程式嗎?                      
 時間  Thu May 23 07:51:01 2013                                               
───────────────────────────────────────

※ 引述《neotek (尼澳鐵特)》之銘言:
: Soft_Job版的各位前輩好∼
: 小弟我今年剛滿18歲,剛考完統測,分數大概402分,應該只有私立龍華的程度,很爛
: 我從小就喜歡玩電腦,最早接觸程式設計大概在小五小六,

忍不住要跳出來說……你 18 歲這樣已經很厲害了好嗎?

多的是一堆資管/資工畢業出來結果不會寫程式的。XDDD

: 我到現在對Objective-C也沒有很熟悉,Memory managment,物件導向的概念,等..
: 我幾乎都是一知半解,這邊懂一點那邊懂一點,我連最基礎的概念甚至都還摸不太透

這很正常,畢竟現在的程式語言和框架愈包愈上層,把比較底部的東西
都幫你解決了,所以寫程式的特點就是常常你不懂底層硬體/演算法/
資料結構的東西,一樣可以兜出一個看起來能夠跑的東西,只是可能會
有隱藏的問題,例如效能低落,程式架構紋亂難以維護,選錯了該用的
資料結構等等。

如果你真的有興趣的話,大學去唸個相關科系,自然就會學到這些東西,
就算老師教的不夠好,至少也可以知道要往哪些方向可以補足你想要學的
東西。

我自己覺得大學最珍貴的地方是都有人幫你把專業相關的科目的體系整理
的好好的,真的不學白不學。

像我也是一直到大學學了作業系統後,才真的比較摸得清程式語言這層的
Memory management 到底是啥東西,在做什麼事情。

: 而在寫app的期間,當然不會就google是很正常的事,但是後來我發現越來越依賴google
: 很多比較難的功能也都是google來的,copy&paste就完成了,g來的code當然還是會看!
: 大部份都還看得懂,但是覺得自己除了google,看官方文件寫code,好像就沒了!?

出來工作的話,你會發現有大多數的時間一樣是在 Google 啦。XD

看官方文件是必需的,Google 不是錯,Copy Paste 雖然我自己不鼓勵,但有
的時候 Copy & Paste sample code 後再來修修改改是很正常的事,重點是自
己到底知不知道那段 code 到底是在幹嘛的。

: 當然遇到困難的地方還是會思考並想辦法解決! 也有不少問題是靠自己想辦法出來的..
: 看到板上各位的經歷、會的東西真的覺得自己渺小的像一顆沙...
: 真正會讓我覺得自己沒那麼爛應該是寫出遊戲、在github上發表過公開的api那種...

看到這邊,我覺得你的問題比較像不知道怎麼樣「從無到有
不靠 Google 做專案」耶?

那這邊推薦 SO 的姐妹站:http://programmers.stackexchange.com/

裡面討論過很多如何從無到有做專案的問題,不過最後的結論大概都是告
訴你別想太多,用 Google 做專案是正常的 XD

至於如果你想寫遊戲卻不知如何開始的話,請參加下面的免費網路課程:
https://class.coursera.org/interactivepython-002/class/index

教你怎麼樣從頭開始寫 Pong / 翻牌記憶力 / Asteroid,基本上從 Pong
這個作業開始他就沒給你什麼有用的 sample code,所以除非你去 Google
別人的解答,不然就是從無到有寫遊戲了。

至於在 GitHub 上發表公開 API 那種,我覺得你多慮了,反正就把你寫的
東西丟上去就好了啊,不然就是找個你有興趣的東西,開一個 repo 開始寫
然後把東西丟上去就對了。

又沒人規定不能把爛東西丟上 GitHub 對吧?我自己的 GitHub 上就一堆爛
東西和練習用的 repo。:p

你真的很獻慕人家有可以給別人用的函式庫的話,我教你一個簡單的偷步
做法:

  1. 找一個你有在用的,而且有 API 的網路服務(Plurk / Flicker / Facebook...)
  2. 找一個你自己喜歡或想新學的程式語言(Obj-c / Java / Python / Scala...)
  3. 開始做一個把網路服務的 API 包給你選的程式語言的 library

這樣很快你就有可以給別人用的函式庫了,而且還可以學怎麼樣設計函式庫
架構,才可以讓你的函式庫的使用者會比較容易使用,一舉兩得。

別人已經有寫了?管他的,以超越對方為目標寫一個新的,更容易使用的函
式庫出來,反正重新造一個輪子又沒犯法!

: 才比較夠看...
: 我這樣真的適合當個programmer嗎?
: 還是我只是一個比較會Google找資料,看官方文件寫code,不會就問人的猴子而已?
: 感謝各位耐心看完..

我要再次強調,Google 是正常的,看官方文件寫 code 是必需的。

你不給我查 JavaDoc,難到叫我要把那些偶爾才會用到的 Java 的類別都背下來嗎?
如果是這樣,我會先跟你翻臉。寫程式是為了解決問題,不是為了背書啊。XDDD

另外,自己適不適合當 Programmer 我覺得你只要問自己:

  我寫程式的時候快樂嗎?會像中毒一樣不可自拔嗎?

  我寫程式的時候是不是覺得時間一下就過去了,
  而且完全沒注意到天已經黑了或亮了?

如果以上都為真,那就沒什麼好說了,如果一件事能讓你這麼投入,讓你覺得這麼有
趣,你還管他自己到底適不適合幹嘛?繼續玩下去就對了啊。:p

--
   ~                 白馬帶著她一步步地回到中原。白馬已經老了,只能慢慢地走,
  'v'    Brian Hsu   但終是能回到中原的。江南有楊柳、桃花,有燕子、金魚……
 // \\   ( 墳 墓 )
/(   )\              但這個美麗的姑娘就像古高昌國人那樣固執。 【白馬嘯西風】
 ^`~'^
   http://bone.twbbs.org.tw/blog        『那都是很好很好的,可我偏不喜歡。』

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.160.217.194
推 coke750101:想講的都被你講完了 只好推一個~                       05/23 08:04
※ 編輯: brianhsu        來自: 1.160.217.194        (05/23 08:57)
→ realmeat:幾萬個method真的要用腦子記起來, 我想根本不可能         05/23 09:00
→ realmeat:而且method跟活的差不多, 偶爾還會變形一下               05/23 09:01
→ realmeat:不過最常用的那幾個可能要稍微記一下就是                 05/23 09:02
推 chicaca731:句句箴言阿XD                                         05/23 09:55
推 pkmilk:推~                                                      05/23 10:17
推 kofi0916:推                                                     05/23 11:36
推 jengjian:這一篇真的對原PO有幫助,只好推了。                     05/23 14:17
→ trumpete:推!!!                                                  05/23 15:05
推 ldkrsi:我們有教叫我們把java gui的一些method記下來               05/23 15:07
→ ldkrsi:考試會考.......然後我就放推了XD                          05/23 15:07


----本文使用PCMAN+BBI轉貼----


※ 新版PCMAN開放測試中,新增功能:    



用PCMAN+BBI連回PTT原文