看板 Soft_Job 關於我們 聯絡資訊
交大大二哪有教Java = =? 我大學讀113CS,大一上教C,大一下幾乎教C++。 說「幾乎」的原因是,我那屆時還有一個老師教Java, 但他退休了,之後就全都是C++。(據我所知) (有個小八卦就是...有一些老師在反彈為啥大家都教C++就那個老師要教Java...www) 113CS幾乎大部分人都是寫C/C++,會寫Java的人很少。 當初上Compiler的時候,老師很驚訝的是全班90人幾乎沒有人會Java XD 我研究所116,讀的是軟工,就有涉及比較多OOAD的部分, 也是到研究所後才開始學Java, 學了之後才發現以前的OO觀念根本一蹋糊塗... 像是以前根本不知道OO的Polymorphism的強大之處, Static Polymorphism和Dynamic Polymorphism的差別也似懂非懂, 以及很多OO的觀念都重新建立起來。 我身邊有些同學C++超強,不過OO觀念很弱, 像是以前就有聽到「我不喜歡寫太多個class」之類的話。 C++雖然也有OO,但通常C++教科書上比較不會著重這塊, 或是簡單介紹繼承、多型...之類的OO語法。 不過我學Java的時候,教科書就有介紹比較多OO設計守則的觀念部分, 像是為什麼要寫 Set set = new Hashset(); 而不是寫 HashSet set = new HashSet(); 畢竟Java是99%的OO語言,當然會有比較多的著墨在OO設計這塊。 我覺得,若你想好好學OO,那Java真的是個不錯的選擇。 雖然我也是先學C++再學Java, 不過我不覺得這些語言的學習先後順序會有什麼差異, 因為他們都是程式語言,觀念大同小異,只差在語法不同。 接著關於你的疑點二, 我覺得做高階軟體設計的Java Programmer的確不用深入了解 數位邏輯(電路設計)、計組的硬體架構設計,或是OS的排程演算法等等, 但這些課程你還是要有基本的觀念,你可以不用精通但是要有一些概念, 像是基本的邏輯概念、bit運算,process/thread之類的基本概念。 我一直覺得對於讀CS的人,程式語言只不過是個工具, 最珍貴的點在於我們懂得作業系統、演算法、資料結構、OOAD等等的觀念, 不然說真的買本書來讀或是去巨O學一下出來大家都馬會寫程式, 但寫的好不好其實就很容易看得出差別。 如果你真的不想碰太底層的知識, 那我覺得至少演算法和資料結構一定要學的夠扎實。 最後是個題外話,在台灣寫C/C++比較好找工作薪水也比較高... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.104.14.103 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1445011976.A.D85.html
chuegou: 最後一點講的很好,我是硬體背景,現在寫韌體 10/17 00:28
chuegou: 我就知道我的優勢不會是演算法和資料結構 10/17 00:28
chuegou: 所以我就是努力加強底層相關的知識 10/17 00:31
viper9709: 推最後一句XD 10/17 00:39
snaketsai: 交大無軟工(苦笑) 只剩一堂軟工課。OO的老師們對OO也沒 10/17 01:39
snaketsai: 什麼心得的感覺。還真的沒聽任何一個老師講過設計模式 10/17 01:39
coronach: 113電機以前大二有開很淺的Java課... 現在不知道 10/17 06:49
cobrasgo: 113就園區導向啊,園區要什麼人才就培養什麼人才 10/17 08:18
NCUking: 我記得交大研究所有開設計模式呀 現在沒了? 10/17 09:41
longmahero: 拍謝 是我誤解了!非常精闢的經驗分享~超棒! 感恩! 10/17 11:12
snaketsai: 是清大的唐大哥開過吧...剛剛回去查交大歷年表沒看過 10/17 15:22
snaketsai: 交大是園區導向@@? 就我自己感覺是不像啊XDD 10/17 15:23
snaketsai: 修正:原來95-98年間資科工開過Design Pattern的課(嘆) 10/17 15:36
realmeat: 最後一段其實不是C/C++ 是純寫C 10/19 09:33