2009-06-14 94 views
4

我正在學習MFC,發現它不那麼容易使用。C++ Builder vs Delphi vs MFC

我聽說過很多關於Delphi的內容。對Delphi的研究將我引向C++ Builder。

是否C++ Builder爲C++/MFC提供了一個很好的替代方案? 是C++ Builder比MFC好嗎? 是C++ Builder比Delphi好嗎? (我聽說過很多有關Delphi的好東西)

任何人都可以給我一個比較C++/MFC,Delphi和C++ Builder嗎?

感謝您的幫助。

+2

如果你來自.NET背景,你爲什麼要考慮類似MFC,這或多或少是編寫Windows GUI的傳統方式?另外,我假設你知道MFC是一個庫(用於C++),Delphi是一種語言? – 2009-06-14 16:46:22

回答

19

我建議你去德爾福。

我對IT專業人員將

  • 語法明智它是非常容易和可讀性。你知道C++讓你用奇怪的變量等寫出「神祕」和「神祕」的代碼。地獄!一半的C++前綴爲「__」

  • 性能與C++應用程序幾乎相同。如果你不使用VCL,那麼它應該是一樣的。但是什麼是沒有VCL的Delphi。

  • - 原創 - 應用程序。這意味着絕對沒有別的擔心,沒有框架,沒有運行時。 (您仍然可以建立一個應用程序與運行時包THO)

  • 數據庫連接是藏漢它的強項......很強的一個

  • 功能強大的可視化設計器,你可以建立一個幾乎應用程序的接口都在設計時。

這個名單可以繼續...

哦,得出結論,德爾福可以使一切C++/C#/ C等即可。除了設備驅動程序之外,所以如果你不打算爲打印機編寫驅動程序或者其他什麼東西,Delphi就是要走的路。

2

你的問題是困惑的。 C++ Builder只是一個用於C和C++的IDE。 MFC是用於C++編程的庫。 C++ Builder可以使用或不使用MFC,反之亦然。 Delphi也叫做Object Pascal,是另一種編程語言。

注意:有一個whole forum致力於使用C++ Builder與MFC。

+1

C++ Builder能否真正與MFC一起使用?它是否隨MFC資源一起提供,並且具有部署基於庫的應用程序的許可證?特徵矩陣http://www.embarcadero.com/products/cbuilder/C-Builder_Feature-Matrix.pdf甚至沒有提到MFC。 – mghie 2009-06-14 15:43:57

+0

當然可以使用。您可能必須先購買MFC,但一旦您擁有合法副本,就沒有什麼能阻止您將其與C++ Builder一起使用。 – 2009-06-14 15:58:18

+2

MFC曾經與C++ Builder一起提供(直到v6)。我不知道最近的MFC版本是否仍然可以與C++ Builder一起工作,但是C++ Builder編譯器仍然具有MSVC兼容性開關,這些開關可以啓用MFC所依賴的所有編譯器特性。 – 2009-06-14 16:03:27

4

如果你正在使用C++ Builder,你可能會想使用VCL而不是MFC。

至於VCL/MFC或Visual C++/C++ Builder比較,最近有一個thread

4

你必須權衡你的選擇,並看看你的水晶球一點。

C++ Builder使用VCL框架,無疑是一個極大的方便,更多的「視覺」(即設計支持),比VC++/MFC

但是,如果有,你必須使用.NET工作機會(=來自MS的所有漂亮的新API),那麼你可能會更喜歡使用VC++,我不希望Codegear能夠很快支持C++/CLI。

還有其他一些考慮因素,所以相反的問題是:你打算如何使用它?

6

您可能想檢查this link。由於沒有使用它,我不能評論MFC與Delphi的優點,所以我跳過了前兩個問題。

  • 如果你打算做GUI數據庫驅動的應用程序,無論如何去與德爾福。
  • 可以從Delphi調用C/C++/C#DLL。
  • 在開發Win32 Native應用程序時,Delphi非常快速且簡單。見RAD's definition
8

德爾福社區仍然活躍(爲什麼你認爲有德爾福2009?)。德爾福擁有豐富的組件,並且有着蓬勃發展的第三方組件。在專業環境中開發了MFC和Delphi之後,我可以很容易地說Delphi在開發簡便性和整體質量方面表現更好。

從C#開始,Delphi中有類似的概念,Anders Hejlsberg已經考慮過像TComponent,TDataSet,properties和events(它們成爲代表)。 Delphi也可以用來使用COM對象,編寫Web服務,爲自定義報告編寫報告引擎。

但是等等,還有更多。查看DevExpress'ExpressQuantumGrid

4

我建議你和MFC一起去,讓我們的Delphi程序員留下我們的競爭優勢。 ;-)

0

你學習C++在同一時間?你已經知道帕斯卡了嗎?如果對兩者都是,那麼Delphi聽起來像是一個很好的選擇。我想用MFC編寫的所有應用程序都可以使用Delphi編寫。

1

我的建議是忘記MFC。這個框架已經不再是這個時代了。它本質上是Windows API的一個簡單封裝,因此只比原始Windows C編程更容易掌握。到目前爲止,我的經驗是編寫和維護用MFC編寫的軟件需要的時間比C++ Builder或Delphi多2至3倍。 選擇MFC的原因可能是你想要靠近Windows API,也許是因爲你調用了一些奇特的功能。如果是這樣,C++ Builder是更好的選擇。易用性與Delphi相近,包括易於使用的RAD控件,但它允許您直接使用本機語言調用任何Windows API函數。儘管如果你使用Delphi調用它,底層代碼也是一樣的,你必須在Pascal和C++之間做一個心智轉換。

但最終我永遠不會開始一個新項目在MFC但使用C#/。NET,而不是...

0

我'上工作C++ Builder的3年了,這是用VB和VC後大++ 。 非常容易創建好看的現代界面,很容易維護程序,性能良好。 但它稍微不穩定,IDE非常慢並且不穩定。 VC++在IDE和編譯器穩定性方面更好,速度更快。但是真的很糟糕,在沒有界面的情況下在MFC上製作驅動程序或系統程序是可以的,但是在MFC上使用簡單的GUI程序來製作漂亮的外觀,真的無法想象地獄如何花費時間,以及如何保持!