[問題] C、C++、Java

看板Programming作者 (Nestarneal)時間10年前 (2014/06/27 20:19), 編輯推噓7(70101)
留言108則, 12人參與, 最新討論串1/1
有個問題想來請教各位前輩,文有點長請注意。 -- 我先稍微自我介紹一下。 本身大學唸資工系,目前也正在就讀研究所,目前碩一要升碩二。 C、C++、Java 三種語言由於有修過課所以都略懂一些, 但由於專題以及個人喜好,所以基本上都是寫 C++ 除了專題以及修課的簡單作業外(如資料結構等課程) 也有用 C++ 寫過 OpenGL、Ogre 3D、視窗程式 Java 在我三年前修完課後就沒有再碰過, 除了一年前修 Android 課程時還有碰一下下, 所以 Android 也會寫一點點,但都沒有很專精 目前待的 LAB 比較偏向純學術所以 Coding 量極低, 只有寫模擬驗證數學時會 Coding 我想說 MATLAB 以後去工作用到的機率應該不大, 所以為了訓練自己目前是用 MATLAB 提供的引擎以 C++ 在寫, 不過大部分還是都利用 MATLAB 的 function 所以訓練量其實也不高。 -- 我想在這一年加強自己 Coding 的能力, 雖然三種語言都有接觸過,但我想專精練一種就好,但一直打不定主意。 我目前對三種語言的想法分別是: C :學長說他去面試時比較多公司注重 C C++ :三種比較下來比較熟悉的一種。 Java:雖然幾乎都忘了,但由於有修過課、加上手邊有書可以重新開始學。 除此之外還有下列考量: C :手上有洪維恩的 C 語言教學手冊第四版, 但除了這本不曉得讀完以後還能讀什麼。 C++ :接下來如果要讀 C++ 不太清楚方向。 雖然有寫過 OpenGL 跟 Ogre 3D 但因為以後不打算找圖學 Coding 的工作。 視窗程式只有學過 Windows 的, 但以目前趨勢這好像也不太適合投資時間下去繼續鑽研。        目前唯一想到的是學 C#(似乎跟 C++ 很像,但這部分我不清楚)        之後學 iOS App 的開發。     Java:如果要練 Java 由於手邊有書,我會先把 Java SE 複習後        去複習 Android 然後試著開發比較小規模的 App 放到 Google Play 上 -- 我未來是打算找需要 Coding 但非圖學的工作, 但由於上面的考量我有點不曉得該從哪種語言下手。 當然如果有時間我想三種都學 XD 只是因為還有一年就要畢業,時間上不允許這麼做。 想請各位前輩給點意見,謝謝 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.153.3 ※ 文章網址: http://www.ptt.cc/bbs/Programming/M.1403871599.A.D09.html

06/27 23:08, , 1F
學C#開發iOS app?你是認真的嗎?
06/27 23:08, 1F

06/27 23:09, , 2F
總覺得C++熟的話C應該不會太差=w=
06/27 23:09, 2F

06/27 23:09, , 3F
我個人的意見是認為可以補一點python之類
06/27 23:09, 3F

06/27 23:10, , 4F
可是其實要看你找哪類工作
06/27 23:10, 4F

06/28 00:47, , 5F
我覺得專注你有興趣的語言比較有幫助
06/28 00:47, 5F

06/28 00:49, , 6F
至少要有一種你專精的程式語言
06/28 00:49, 6F

06/28 10:35, , 7F
iOS app 我聽說是用 C# 為基礎寫的,就
06/28 10:35, 7F

06/28 10:35, , 8F
像是 Android 跟 Java 的關係,不過我
06/28 10:35, 8F

06/28 10:35, , 9F
也沒實際寫過,看起來我理解有誤...?
06/28 10:35, 9F

06/28 10:35, , 10F
Python 我對它的理解是屬於比較舊世代
06/28 10:35, 10F

06/28 10:35, , 11F
的語言,我周遭好像也沒人在寫 @@
06/28 10:35, 11F

06/28 10:35, , 12F
我目前目標是放在找需要 Coding 的工作
06/28 10:35, 12F

06/28 10:35, , 13F
,不過具體來說還沒有決定特定方向...
06/28 10:35, 13F

06/28 10:35, , 14F
目前最有興趣的是 Android app 的開發
06/28 10:35, 14F

06/28 10:36, , 15F
朝這方向走對以後找工作應該有幫助..?
06/28 10:36, 15F

06/28 10:36, , 16F
因為之前有看過幾家公司在徵人,不過不
06/28 10:36, 16F

06/28 10:36, , 17F
是在寫 app 而是在寫更底層的東西,
06/28 10:36, 17F

06/28 10:36, , 18F
不曉得練習寫 app 會不會可以找的工作
06/28 10:36, 18F

06/28 10:36, , 19F
範圍比較小?還是說先專注練習 C?
06/28 10:36, 19F

06/28 10:36, , 20F
因為感覺很多東西都還是用 C 在開發...
06/28 10:36, 20F

06/28 10:52, , 21F
Python不是舊世代的語言阿...你那些才是
06/28 10:52, 21F

06/28 10:53, , 22F
iOS的話要學Objective C或最新的Swift
06/28 10:53, 22F

06/28 10:54, , 23F
如果走Android就學Java吧,順便學OOP
06/28 10:54, 23F

06/28 10:54, , 24F
個人覺得C++的OOP跟目前流行的OOP差很多
06/28 10:54, 24F

06/28 10:55, , 25F
學Java可以熟悉如何用OOP設計
06/28 10:55, 25F

06/28 11:22, , 26F
iOS用C#寫,請你不要聽說了好嗎
06/28 11:22, 26F

06/28 11:23, , 27F
python一點也不舊 你根本不是理解是成見
06/28 11:23, 27F

06/28 11:23, , 28F
我看你think too much了,趕快找一個開
06/28 11:23, 28F

06/28 11:23, , 29F
始寫就對了,java不錯
06/28 11:23, 29F

06/28 12:17, , 30F
你是活在哪個年代?
06/28 12:17, 30F

06/28 13:11, , 31F
嘛...以開發年代來說,python甚至比java還
06/28 13:11, 31F

06/28 13:11, , 32F
老是沒錯啦
06/28 13:11, 32F

06/28 16:14, , 33F
何謂流行的oop,c++哪裡做不到?
06/28 16:14, 33F

06/28 17:56, , 34F
其實C++學好就夠了。我進公司才開始學
06/28 17:56, 34F

06/28 17:57, , 35F
java開發android 一個月就上手 進這家
06/28 17:57, 35F

06/28 17:57, , 36F
公司才開始學python 一個月上手...
06/28 17:57, 36F

06/28 17:57, , 37F
C++基礎好比什麼都重要
06/28 17:57, 37F

06/28 17:58, , 38F
obj-c反而是比較麻煩的 要有點心裏準備
06/28 17:58, 38F

06/28 17:59, , 39F
他的概念比較類似smalltalk 而非C/C++
06/28 17:59, 39F
還有 29 則推文
06/28 23:16, , 69F
C++沒有真正的interface 所以不存在與
06/28 23:16, 69F

06/28 23:16, , 70F
java的extend, implement概念相同的問題
06/28 23:16, 70F

06/28 23:17, , 71F
virtual是個很twilight的東西 實際寫一
06/28 23:17, 71F

06/28 23:17, , 72F
次 編譯器靠背個幾次比方說缺virtual
06/28 23:17, 72F

06/28 23:17, , 73F
dtor啊 找不到vtble啊 會慢慢的比較理解
06/28 23:17, 73F

06/28 23:18, , 74F
C++的class只有pure virtual function
06/28 23:18, 74F

06/28 23:18, , 75F
跟interface仍然不等價,他仍然是一個
06/28 23:18, 75F

06/28 23:18, , 76F
「實體」而不是「契約」的概念
06/28 23:18, 76F

06/28 23:19, , 77F
obj-c的protocol又是另外一個極端就是..
06/28 23:19, 77F

06/28 23:31, , 78F
請問pure virtual function與interface不
06/28 23:31, 78F

06/28 23:31, , 79F
等價的點是在哪邊呢?剛剛我實做了一次並
06/28 23:31, 79F

06/28 23:32, , 80F
沒有碰到您提到的問題 不好意思 很好奇問
06/28 23:32, 80F

06/28 23:32, , 81F
題的點是在哪邊@@
06/28 23:32, 81F

06/28 23:53, , 82F
我直接說結論。理論上來講,interface
06/28 23:53, 82F

06/28 23:54, , 83F
僅僅只是一個contract,而pure virtual
06/28 23:54, 83F

06/28 23:54, , 84F
class(其實沒這種說法 你知道是啥就好)
06/28 23:54, 84F

06/28 23:54, , 85F
仍然是一個擁有實體 會有鑽石繼承問題
06/28 23:54, 85F

06/28 23:54, , 86F
擁有vtbl 需要virtual dtor的真正class
06/28 23:54, 86F

06/28 23:57, , 87F
06/28 23:57, 87F

06/28 23:57, , 88F
老兄也有解釋,簡單說C++沒這概念
06/28 23:57, 88F

06/29 00:08, , 89F
本質上是不一樣的東西,因為語言沒有
06/29 00:08, 89F

06/29 00:10, , 90F
但我們可以去實作這樣的概念
06/29 00:10, 90F

06/29 00:10, , 91F
鑽石繼承只能自己避開
06/29 00:10, 91F

06/29 00:22, , 92F
其實我覺得跟interface「概念」比較像的
06/29 00:22, 92F

06/29 00:22, , 93F
反而是template時做出來的policy
06/29 00:22, 93F

06/29 00:22, , 94F
不過這個比較麻煩一點倒是真的...
06/29 00:22, 94F

06/29 00:46, , 95F
能給個範例學習下嗎 謝謝
06/29 00:46, 95F

06/29 01:34, , 96F
Modern C++ Design 第一還是第二章
06/29 01:34, 96F

06/29 01:34, , 97F
你慢慢看下去會覺得這東西其實在語言層
06/29 01:34, 97F

06/29 01:34, , 98F
面上 比較接近真正的interface
06/29 01:34, 98F

06/29 01:35, , 99F
網路有1x年前侯捷翻譯的中文版。它裡面
06/29 01:35, 99F

06/29 01:35, , 100F
一些東西都過時了 但是Policy這個還是
06/29 01:35, 100F

06/29 01:35, , 101F
在現代C++領域非常讓人受用
06/29 01:35, 101F

06/30 20:52, , 102F
未來的concept啊XD
06/30 20:52, 102F

07/01 09:20, , 103F
concept爭議更大 C++11沒進去我很傷心(?
07/01 09:20, 103F

07/01 20:20, , 104F
單論程式語言跟演算法 原PO應該已爐
07/01 20:20, 104F

07/01 20:20, , 105F
火純青 學習用工具吧
07/01 20:20, 105F

07/08 22:33, , 106F
燃燒不完全也是青色的。
07/08 22:33, 106F

07/09 06:56, , 107F
...樓上講話真的很...有梗 XDD
07/09 06:56, 107F

07/17 14:04, , 108F
噗 純青...
07/17 14:04, 108F
文章代碼(AID): #1JhM5lq9 (Programming)
文章代碼(AID): #1JhM5lq9 (Programming)