Re: [討論] 大家對於物件導向程式語言的選擇...
為何有人認為選擇其中一個就可以吃的開?
A. 若想處理簡單的問題, 卻用C++/MFC 就是找自己麻煩.
B. C# or Java函式庫支援豐富這是對的,但是重點是"標準函式庫支援".
C++也有一堆 Open Source的API,但是它不是"標準函式庫".
採用 C# or Java 開發會使得程式碼精簡? 大概是寫Hello World吧?
C. 不管是啥語言,只要是開發複雜的系統,開發起來也不會太快.
大型複雜的系統,即使有良好的設計藍圖,按圖施工也不見得能夠成功.
此外,用C/C++開發本來就有記憶體管理的問題,程式設計師沒處理好是C/C++的錯嗎?
D. 執行Java 的JRE是需要安裝,
至於C# 在Vista上已經內建.NET Framework 3.0 ,還要安裝什麼?
另外,你所謂函數是虛擬函數(virtual function)還是靜態函數(static function)?
函數呼叫由VM執行會比較慢? 先去研究過JIT技術再來談吧.
E.~ J. 不知所云.
另外,標題跟文章內容一整個離題, 語意也模糊不清.
"大家對於物件導向程式語言的選擇"
你是要探討 Java/C#/C++的語言在物件導向上的優劣?
或是探討哪一個比較適合未來電腦界的系統開發?
你所強調的多核心CPU電腦架構,跟你用啥語言無關.
不管怎樣用啥語言都是跟作業系統有關係.
系統開發不只是有Win32作業系統,還有Linux/Unix/OS-X等不同的作業系統.
搞清楚你要作的系統是什麼? 要用在哪裡? 選對的工具才是重點!
你提到一堆IDE or RAD Tool? 這根本不是重點.
你用IDE寫出Win32視窗程式就會比較好嗎?
難道用UltraEdit開發Java視窗程式就比較差嗎?
※ 引述《easterday (數牙)》之銘言:
: ※ 引述《easterday (數牙)》之銘言:
: : (待續)..
: I show my ideas, and then yours...
: Cost1: learn MFC and x86 Assembly
: Cost2: study a popular VM
: A: Coding(處理小問題) in C++/MFC ,while learning x86 Assembly
: 先談談A方案的好處和壞處
: 壞處:
: 當然C++/MFC有它先天的複雜度,程式庫要自己一個一個找(孤狗撈針)
: 所以撰寫速度慢
: 了解x86 Assembly是可以了解debugging的細節
: 雖然聽說Win32 Api是一群效率很好的,由x86組合語言建起的東西
: 但是這樣會不會犧牲未來四核心CPU的好處呢?
: 好處:
: Compiler有Optimization的功能
: B: Coding in C#/Java ,and study it
: 壞處:
: 沒有壞處,真的,我的經驗裡,這種做法沒有壞處...
: 偶爾VM當機,但是這真的很少見...
: 好處:
: 程式庫的支援多,程式碼精簡,撰寫速度快,可能有四核心的好處
: C: Big Project(處理大問題) in C++/MFC
: 壞處:
: MFC複雜,程式庫要自己找,撰寫速度慢,又怕喪失四核心CPU的好處...
: Memory Leak is possibly horrible.
: 好處:
: 目標明確,只要施工藍圖正確,相信應該可以成功
: D: Big Project in C#/Java, and study it
: 壞處:
: 沒有裝Runtime Environment的人就不能用....
: heap space/gc的動作不一定如預期
: 函式呼叫隔了一層VM,可能會慢
: 好處:
: 撰寫速度快,程式庫不必自己找,可能有四核心的好處
: E: Bad case, Big Project in C#/Java ==> Big Project in C++/MFC
: 壞處:
: 以上所提全部的壞處都包盡了(又喪失四核心的好處)
: 還要把dependent part自己重新改寫...
: 人力資源的問題...(程式設計師要有兩批,要不然你兩種都要學...)
: 好處:
: 不必裝Runtime Environment
: 執行環境會比較單純,(所以穩定?)
: F: Bad case, Big Project in C++/MFC ==> Big Project in C#/Java
: 壞處:
: 以上所提全部的壞處都包盡了(但是卻得到四核心的好處)
: heap space/gc的動作不一定如預期
: 重新改寫dependent part
: 人力資源的問題...(程式設計師要有兩批,要不然你兩種都要學...)
: 好處:
: 四核心的好處
: 程式碼比較好維護
: G: Acceptable case, Coding in C++/MFC ==> Big Project in C++/MFC
: 壞處:
: Memory leak is possibly horrible.
: 喪失四核心的好處
: 複雜度增加...但是這是應該承擔的
: 步驟:由原來的Code-->畫圖-->按圖施工
: 好處:
: 不必裝Runtime Environment
: 執行環境單純,(所以穩定?)
: H: Acceptable case, Coding in C#/Java ==> Big Project in C#/JAVA
: 壞處:
: 複雜度增加..但是這是應該承擔的
: 步驟:由原碼-->由原來的圖-->畫圖-->按圖施工
: 好處:
: 程式碼比較好維護,四核心的好處
: I: Worst case, Coding in C++/MFC ==> Big Project in C#/Java
: 壞處:
: 要裝Runtime Environment
: gc/heap space行為不如預期
: 人力資源的問題...(程式設計師要有兩批,要不然你兩種都要學...)
: 複雜度增加..而且dependent part很多..
: 步驟:由原碼-->由原來的圖-->畫圖-->改圖-->正確圖--->按圖施工
: 好處:
: 程式碼比較好維護
: 有四核心的好處?
: J: Assumed Case? Coding in C#/Java ==> Big Project in C++/MFC
: 壞處:
: 喪失四核心的好處
: 人力資源的問題...(程式設計師要有兩批,要不然你兩種都要學...)
: 複雜度增加...而且dependent part很多..
: 步驟:由原碼-->由原來的圖-->畫圖-->改圖-->正確圖--->按圖施工
: Memory leak is possibly horrible..
: 好處:
: 不必裝Runtime Environment
: 執行環境單純,所以穩定
: 以上是我對於未來電腦架構的猜想
: 有什麼應該指正的嗎?
: 感謝賜教
: 再來我自己應該在ABCDEFGHIJ裡面找出我的cost1和cost2哪一個適合我了...
: 感謝賜教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.13.201.26
※ 編輯: millerlai 來自: 163.13.201.26 (04/19 07:36)
※ 編輯: millerlai 來自: 163.13.201.26 (04/19 07:37)
※ 編輯: millerlai 來自: 163.13.201.26 (04/19 07:40)
推
04/19 07:50, , 1F
04/19 07:50, 1F
→
04/19 07:51, , 2F
04/19 07:51, 2F
推
04/19 13:06, , 3F
04/19 13:06, 3F
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章