Re: [問卦] 程式語言門檻高不高?

作者: HZYSoft (PCMan)   2015-02-20 23:51:10
※ 引述《NightMoon33 (夜月)》之銘言:
: 先說一下,小魯雖然是理工科的,但不會寫程式語言
: 不過發現台灣寫程式語言的人蠻多的
: 國立大學有教,科大也有教,私立大學也有教,外面補習班也有教
: 市面上程式語言的書超多
: 寫程式語言門檻到底高不高?
簡單回答的話,就只有四個字:「易學難精」
入門門檻在今天算很低,但要寫到精通,並不容易
程式本身只是工具,工具都是肯花時間學就會用了,
重點是你拿他來做什麼,這個工具對你要完成的事有沒有幫助
程式語言入門只需要基礎的英文和邏輯,所以沒有什麼門檻
不是科班出身買本書看看,也都可以來個兩下
但是要深入研究到各個領域的話,就會牽扯演算法、
作業系統、計算機結構,還有大量數學
只會語言本身,或是只會使用一堆很炫的 library 就不夠了
如果你要解決的是特定領域的問題,那需要的是 domain knowledge
只會程式語言是寫不出來的
這問題就好像:學習英文門檻高嗎?學會基本單字和對話不高
要可以流利的跟外國人對話,聽說讀寫,就更高
要寫一篇可以登上 Time 雜誌的文章,難度就高非常多
而要寫一篇登上國際期刊的英文論文,難是難在科學研究本身,
英文反而是最簡單,最無關緊要的部份。
所以這問題其實要看你打算拿程式做什麼
: 大家都會寫程式語言,怎麼知道誰比較強?
看你怎麼定義強。能寫出很艱澀、很神妙的演算法是一種強
能設計出很容易看懂,很好維護和擴充的程式,是另一種強
能夠做出很好的 user experience,也許背後只用了很簡單的技術
但是這並沒有比較簡單,也沒有比較不強
好的功夫不分男女老幼,看誰在打
程式語言本身沒有哪個比較強,要看你的用途,做在哪個領域
每種語言有他適用的範圍,用對了就會特別有效率
你覺得會做法國菜的廚師,跟會做川菜的,還有做義大利麵的
哪個比較強啊?不一樣的東西,本來就不能一起比較啊
能夠用適合的工具,有效率的解決問題,就是好,
會捉老鼠就是好貓,不用浪費口水去戰誰比較強。
重要的從來都不是誰程式比較強,或是哪個語言比較強
而是哪個工作適合給哪個人做,哪個工具適合解決哪個問題
: 寫程式這塊好像薪水高低也蠻懸殊的
: 剛出社會第一份工作,有聽過年薪百萬的,也有聽過領22k的
畫畫不是也一樣嗎?有掛在羅浮宮的,也有丟在垃圾桶的
寫作不是也一樣嗎?當廚師不是也一樣嗎?
這現象在各行各業都存在啊
你想學的動機是什麼?是因為興趣的話,就不用管別人怎樣
扯遠了,回到正題。如果都沒有基礎,初學的話,可以考慮 Python
上手快,需要的工具少,軟體又是免費,資源也多
國外很多學校以往都是從 Java 先教,但是現在已經改用 Python 了
語法本身很簡單,只需要基本的邏輯概念,對系統不用有很深的了解就能上手
可以先忽略一些底層細節,對於快速學習程式的結構和邏輯很有幫忙
而且豐富的程式庫,幾乎可以完成日常需求大部分的工作,是很好的起點
可以很快速的抓到比較抽象,比較 high level 的 overview
之後熟了,可以換學 C,這是和系統底層比較有關的語言,
比較低階一些,又不會太過低階,可以幫助了解比較底層的細節,
和作業系統的相關知識互相配合學習,也可以作為學習其他語言的基礎。
這兩者一高一低,搭配起來應該是很好的。
扯半天,其實我自己學習的順序是非常亂的,很沒效率 XD
我是 Basic => C => C++ => pascal (只有略懂一點點)
=> x86 asm (只有略懂) => 學習各種圖形界面 toolkit 使用
=> php & SQL (略懂) => Javascript (略懂) => python (略懂)
=> Java 和 C++ 11 (都剛開始學...)
結果最後真正有在用的只剩下 C++ & python :P
總之,選一樣先開始吧! 到後面就會發現不同語言很多地方都相通的
祝學習愉快!

Links booklink

Contact Us: admin [ a t ] ucptt.com