※ 引述《RAVANA (鐵拳無情)》之銘言:
: 1.重要基礎觀念沒建立好 似懂非懂 硬兜出來
: 2.拿一本書在那K得很開心(我不懂業界 我用舉例 實際不一定這樣)
: 3.重要技術卻沒下重點去學
: 4.會自學得通常一定是非本科 也沒環境 沒這種資訊朋友
: 以上就是我自學失敗的血淚史 門外漢想入行 請真的去找間補習班好好學
: 不然自己在家閉門造車 就會變成我的失敗血淚史
這 ID 有點眼熟,一看才發現我在這裡回的第一篇文章就是回你的文章
也是在講自學的事情,突然幾分惆悵上心頭又不知從何說起...
一個角度是,努力與天份的乘積必須足夠
先談努力的部份
自學寫程式絕對是需要投注大量努力的事情
例如我當初在寫 Java 的時候看到 thread,螞蟻書的範例看過之後正茫茫懂懂的時後
我會用 google 瘋狂的下關鍵字亂找相關的東西
- thread
- Java thread 用法
- Java thread api
- thread process (嗯,新的關鍵字跑出來了)
- 其他...
然後一直看吐出來什麼文章,如果文章整篇看不懂就換下一篇,如果都看不懂但是冒出
某些很常出現的關鍵字,就先去找這些關鍵字。然後要看的資訊量就會開始爆炸
例如看到 thread,然後是 process,然後是 contex switching,然後是 interrupt...
或許不是所有關鍵字我都能完全了解,但至少會有個模糊的概念
我直到現在都還在每天幹類似的事情,最近寫 PHP 所以下的關鍵字會不一樣
- PHP framework
- laravel vs sympony
- PHP 5.x change
- why PHP sucks
- PHP virtual machine
「可是我又不懂哪知道要看什麼」
「就把不懂的東西全部找來看」
現在一個禮拜花在這類事情的時間比較少,大概十幾二十小時
學生時代可以一天就爬個八小時..
一天兩個小時全年無修,長期累積起來的投入時間非常可怕
我不知道這種程度的投入對其他人來說這是不是一種難以長期忍受的苦行
畢竟我花這麼多時間的原因不是因為我比其他人願意拼,而是我以此為樂
如果現在要我一天花一個小時算微積分我大概會哭...
然後是天份的部份
[quote article='#1DMLv9wr']
對我來說,知道如何把想要做的事情一路拆解成看起來好像能做到的小部份
才是「會寫程式」跟「不會寫程式」的差別
[/quote]
我原本認為,要能操縱隨意組合的萬能機器(程式),理解事物的構造是基本能力
所以碰到問題的時候,一路把問題往下解構成基本組成,解構成能夠處理,或是能夠被
提問的最小單位,這是基本動作
但是我發現這件事情意外的困難,很多人真的是做不到...
或是有些時候,看到一堆完全看不懂的東西,可能會隱約的覺得
「重點似乎在哪邊」「看不懂,不過似乎是跟OOXX有關」
這種明明看不懂卻還是好像理解了什麼的...sense,會相當程度影響你看東西的效率
我相信這些能力能被訓練,我就看過我認為沒什麼 sense 的人突然開竅
但是我完全不知道怎麼讓別人訓練出這種東西
而且這件事情跟程式語法看的熟不熟一點關係都沒有
有 sense 的人,自學的效果可能就比補習班還好,因為有能力抓出重點
而補習班通常只會教你「寫程式」,事物的構造你還是得自己摸索
哀傷的是,初學者大概也不會知道自己到底是不是有 sense 的人...
另外一個方向是,必須大量閱讀,大量閱讀,要命的大量閱讀
前面講到的 google 蟻地獄只是一部分,另一個部份是,要跟蹤資訊圈子的各種新訊息
身邊的人不能塑造出這樣的環境,那就靠網路
一個好的(而且不太技術性的)入門渠道是
- http://www.slashdot.org
- http://www.solidot.org
兩個網站類似,一個英文一個簡中
除此之外我還會用 RSS 訂閱一大堆文章...
例如說,訂閱一堆台灣軟體相關名人的 blog,然後大概就能看到「業界最新動態」
不過這裡的業界其實跟你在的業界可能又不一樣...