看板 Soft_Job 關於我們 聯絡資訊
到底要會幾種程式語言,這實在是個大哉問,我身為一隻打滾十幾年 的程式猿,馬齒徒長、才疏學淺不敢妄言,以下僅為個人看法,歡迎 各位先進指點不足。 有人說程式語言只是一種工具,我也支持這種隱喻,你不可能拿榔頭 去鎖螺絲,自然也不太可能拿螺絲起子去敲釘子。 因此,你的工具箱準備了多少工具,代表你能做多少事,當然有些語 言是能速成的,有些程式語言也有基本的相似度,學會一種語言再學 其他語言多半能觸類旁通,但會不代表精通,有時候純脆是應付工作 上的需要而已。 我個人認為: 1. 一定要會一種編譯式語言,如 C/C++、Java 等等... 2. 一定要會一種直譯式語言,如 BASIC、LUA、Python... 3. 一定要會一種網頁應用語言,如 HTML、Javascript... 4. 一定要會一種 Shell Script,如 DOS Batch、Bash Shell... 5. 一定要會一種資料庫語言,如 MySQL、MS SQL... 我有提到過會不代表精通,但是對其他東西有基本的認識,可以讓 你的眼界更寬廣,而且你很難保證哪一天你不會用到,像在 QT 裡 就有很多用到 HTML Tag 的例子,如果你本來就有接觸過,是不是 就不用再浪費時間去學?當然 HTML 簡單的可以在十分鐘內速成, 不過多會一種並不難的東西,想必也不是太大的負擔。 不過就算你會數種程式語言,你一定要很清楚你自己的主力是什麼, 也就是說,你一定要專注其中一種,而且最好是門檻最高的那一種, 通常我是建議精通編譯式語言的其中一種,隨便一個語言都要花好幾 年的心力才勉強能算精通,就像我到現在也只敢說我對 C/C++ 比其他 語言熟一些,但從來不敢說我精通。 工具箱裡,多放幾樣不同的工具,需要用到時才不會手忙腳亂,不是嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.63.214 ※ 編輯: iman00b 來自: 114.42.63.214 (07/25 14:57)
Lordaeron:Java 算編譯式? 要跟C++ 這程native language 同台? 07/25 18:00
有一些 ARM 系列的 SOC 本身也可以直接跑 Java bytecode... 那你能說他不是 native 嗎?我不是這樣分類的...
YunJonWei:把編譯式改成 Procedure/OO 才是原文的意思吧。 07/25 18:46
Ting1024:Java本來就是編譯式的。不然要歸類到哪? 07/25 19:07
Lordaeron:php 也可以是編譯式啊, 要算嗎? 07/25 19:46
Lordaeron:basic 好像也有編譯式的 07/25 19:49
BASIC == BASICA == ETBASIC != Quick Basic != Visual Basic 我同意 QB 跟 VB 都算編譯式語言, 但這兩種語言與原來的 BASIC 已經是大異其趣。 而 php、perl 這類語言即使有可以編譯的版本, 但被我歸類為直譯式(interpreter)語言, 最主要的原因是在於其鬆散的資料型態。 ※ 編輯: iman00b 來自: 114.42.63.214 (07/25 20:53)
mapleone:我認為Java應該歸在直譯。當初byte code可是java一大特色 07/25 22:47
flylover:剛好我各會有一種..只能說,有需要時不會煩惱 07/25 22:55
flylover:但求職很少遇到全工具都要用上的,要用的話還要看薪水= = 07/25 22:56
ianlin45:Java跟C++能做到的事情都差不多,做不到的也差不多 07/26 00:07
ianlin45:Java很多直譯式語言能用的寫法都做不到啊 (動態XXXX) 07/26 00:07
ianlin45:歸類成編譯式也沒什麼不對 07/26 00:08
Lordaeron:哪些SOC 本身帶著VM 當然能跑, 哪要算native 嗎? 07/26 00:32
Lordaeron:咦, 連資料型態,都跑出來了呢, 哪就要拼 07/26 00:33
Lordaeron:programming language 囉, 咦, 好像是我常吵的呢. 07/26 00:33
Lordaeron:Java跟C++能做到的事情都差不多? 你用java 來寫driver? 07/26 00:33
Lordaeron:做不到的也差不多? 有什麼C++ 做不到的? 我看是你做不到 07/26 00:34
Lordaeron:吧. 07/26 00:34
Lordaeron:不要賴給C++ 07/26 00:35
andymai:到底是直譯式還是編譯式~吵這有意義嗎?選對適當的語言做起 07/26 00:42
andymai:事來事半功倍才是重點吧... 07/26 00:42
Lordaeron:你沒意義而已, 東西總要定義清楚, 不然就不清不楚的 07/26 10:11
Lordaeron:嘴巴跟鼻子在講了. 07/26 10:11
你如果堅持 Java 是屬於哪類語言何不直接發一篇文? 我的分類就是這樣,不能接受,不開心那是你自己的事,夠清楚了嗎? ※ 編輯: iman00b 來自: 111.250.147.118 (07/26 12:40)
Lordaeron:哦...原來是這樣, 你爽就好囉. 07/26 12:59
viable:哇 好小氣的作者 07/26 13:34
viable:又不是你的個人版,小氣什麼?真難看,成熟點好不好 07/26 13:37
因為這種討論到後來都是各持己見不會有交集。 我有提出為什麼我是這樣分類的,當然有更深入的原因。 但因為不是本篇主題,所以我不想深究。 如果另外發文,我會很樂意的參與這類討論,一切對事不對人。 不過怎麼會是不相關的你先人身攻擊我呢? 我都沒上勾了... XD 麻煩版主能依照板規第二條處理一下這種人身攻擊嗎? ※ 編輯: iman00b 來自: 114.24.52.243 (07/26 14:15)
viable:不干我事,但這是我的良知。還有你又能証明別人會跟你爭吵? 07/26 14:20
viable:你這樣含血噴人不好吧?做人講話要憑良心啊!別亂毀謗別人 07/26 14:22
原來所謂良心就是可以指著別人罵!(筆記)
Lordaeron:你當然可以照你的意思去定義囉, 高興就好, 就正如你說 07/26 14:22
Lordaeron:java 跟c++ 可做的差不多, 是一樣的, 高興就好. 07/26 14:22
我從來沒說過兩者能做的事差不多,我只說這兩者對我來說算編譯式語言。 ※ 編輯: iman00b 來自: 114.24.52.243 (07/26 14:25) ※ 編輯: iman00b 來自: 114.24.52.243 (07/26 14:26)
viable:死愛面子 錯還硬幺 我說的是事實,跟據釋憲509條,事實即不 07/26 14:30
viable:構成毀謗,更無關人身攻擊,這兒版規不可和憲法抵觸 07/26 14:32
viable:更正 不可和刑法抵觸,這是憲法規定,請多學常識好嗎 07/26 14:34
Lordaeron:http://tinyurl.com/bupow7x Interpreted vs compiled 07/26 14:35
Lordaeron:http://tinyurl.com/dyvtkt6 另一篇.. 07/26 14:36
Mostly, we have been using compiled languages like C, C++, Java and Visual Basic. Java has an interpreter but it need to compile first. 你確定你有看過才轉貼?
Lordaeron:簡單的講, compiled language 是直接產生machine depend 07/26 15:16
Lordaeron:的executable, 而interpreted language 則產生middle 07/26 15:16
Lordaeron:code, 再經由OOXX 轉譯成machine depend 的code 07/26 15:17
※ 編輯: iman00b 來自: 114.24.52.243 (07/26 15:27)
Lordaeron:更口語一點, 一個是直接懂, 一個要翻譯 07/26 15:45
Lordaeron:你不用想我是沒看過的.. 07/26 15:45
LaPass:這串推文是怎麼了..... = = 07/26 20:35
KeySabre:歪了 07/27 03:03
discoby:兩個來亂的可以滾出去了 這篇不需你們來歪樓...=_= 07/28 14:17