學校 OOP 課程應該教 Java 還是 C++?

冰果室與讀者的交流園地,只要是不屬於其他類別的話題,都可以在此處留言

版主: Alex Tsaicjtaithe real unknown

回覆文章
內容
發表人
頭像
bryanchang
討論區管理員
文章: 7057
註冊時間: 04/19/2001 1:01 am
來自: The '60s
聯繫:

學校 OOP 課程應該教 Java 還是 C++?

#1 文章 bryanchang »

今天在 Slashdot 上讀到這則消息,覺得頗有趣味,特別借來在冰果室跟同好們討論一下。

我個人的感覺是,設計 Java 語言的人應該是工程師出身,以致語言邏輯的結構有欠嚴謹。常常在使用的時候都可以找到語言設計上的漏洞,並且 API 的推出都被 Sun 的行銷市場部門所決定,有時候真的覺得很想打人。

C++ 雖然常被人批評不夠 OO,但是至少從沒發生像 Java 那樣從 1.0 跳到 2.0 時多出了一堆莫名其妙的語言架構。此外 C++ 的執行效率好上許多,這也是一個重點。

我覺得要是真的想學 OOP,乾脆咬咬牙去學 LISP,這樣回頭學 Java 或是 Objective-C 都很快就可以上手。
頭像
digdog
討論區管理員
文章: 1297
註冊時間: 05/02/2001 1:01 am
聯繫:

學校 OOP 課程應該教 Java 還是 C++?

#2 文章 digdog »

看在 OS X 的份上,起碼維吉尼亞的學生們都該用 iBook 學 Objective-C。 [img]images/smiles/icon_razz.gif[/img]

--
不過保守一點,我覺得基礎入門還是學 C,然後進階再去修個 Programming Language 的課,認識認識其他各種語言,然後 OOP 看是要跳槽 C++, Objective-C, JAVA 都好,起碼學習曲線不會那麼陡峭。

結論是:都好,每個都學好了。 [img]images/smiles/icon_razz.gif[/img]

[ 06-14-2001: 留言編輯者: digdog ]
頭像
bryanchang
討論區管理員
文章: 7057
註冊時間: 04/19/2001 1:01 am
來自: The '60s
聯繫:

學校 OOP 課程應該教 Java 還是 C++?

#3 文章 bryanchang »

剛剛又想到一個問題:像是 Objectiv-C 跟 Java 都不支援 Multiple Inheritance,想請問大家覺得到底 Multiple Inheritance 有沒有其必要?
頭像
the real unknown
冰果室打手
文章: 2610
註冊時間: 04/26/2001 1:01 am
來自: GMT-5
聯繫:

學校 OOP 課程應該教 Java 還是 C++?

#4 文章 the real unknown »

<BLOCKQUOTE><font size="1" face="XYZ">quote:</font><HR>原始發信人 白萊恩:
<STRONG>剛剛又想到一個問題:像是 Objectiv-C 跟 Java 都不支援 Multiple Inheritance,想請問大家覺得到底 Multiple Inheritance 有沒有其必要?</STRONG><HR></BLOCKQUOTE>

這要看情況了。Multiple Inheritance對code reuse的幫助很大:現有class如果缺你要的功能,另外做一個mix-in class就好了。不必從根改起,順便把別的child class搞死。

可是對新手來說,Multiple Inheritance很容易生不必要的蟲。例如兩個mix-in classes都有一樣名字的data member或method。

不過如果沒有Multiple Inheritance,我大概不會寫程式了。

C++還有一個非常有用的功能:template class。整個STL都是用它寫出來的。reusable code發揮到最高境界。

我不喜歡Java和Obj-C的最大原因是這兩種語言都和它們的runtime library綁得太緊。不過這只是我從小寫firmware/bios帶來的壞習慣而已。

[ 06-14-2001: 留言編輯者: The Real Unknown ]
頭像
janusng
嗜冰客
文章: 1048
註冊時間: 04/30/2001 1:01 am
來自: Metropolis Asylum
聯繫:

學校 OOP 課程應該教 Java 還是 C++?

#5 文章 janusng »

不少Compilers如Visual C++在支援Multiple Inheritance也有意想不到的bugs(可能我是"新手"吧),導至我也不敢用。
同樣地,STL和Template還有不少Compilers未支援呢!那對Code Portability有障礙呢。
當然我也認為Multiple Inheritance和STL也很有用,可惜現實無咁ideal。 [img]images/smiles/icon_sad.gif[/img]
其實我覺得學C++時,未學過C反而更有利呢,壞習慣也會少些。
又C++還有很多地方可以改進,如標準的multi thread、MAP、Hash table等支援。這些已經是今天的language基本要求。 [img]images/smiles/icon_biggrin.gif[/img]
頭像
bryanchang
討論區管理員
文章: 7057
註冊時間: 04/19/2001 1:01 am
來自: The '60s
聯繫:

學校 OOP 課程應該教 Java 還是 C++?

#6 文章 bryanchang »

<BLOCKQUOTE><font size="1" face="XYZ">quote:</font><HR>原始發信人 真理士‧吳:
<STRONG>又C++還有很多地方可以改進,如標準的multi thread、MAP、Hash table等支援。這些已經是今天的language基本要求。 [img]images/smiles/icon_biggrin.gif[/img]</STRONG><HR></BLOCKQUOTE>

這些應該跟語言本身無關,而是應該要擴展 ANSI C 的標準 Library。只要有一套公定的 API,同一套原始碼到處都可以 compile。這一點 Java (或是 Obj-C) 的確是佔了上風。
Arthur
常吃冰
文章: 379
註冊時間: 05/01/2001 1:01 am
來自: .tw

學校 OOP 課程應該教 Java 還是 C++?

#7 文章 Arthur »

那我不是給學校強姦意識學了二回的java。 [img]images/smiles/icon_mad.gif[/img] [img]images/smiles/icon_mad.gif[/img] [img]images/smiles/icon_mad.gif[/img]
回覆文章