2010-03-25 138 views
1

我買了德爾福1,當它出來 - 被迷住了。當BCB出現時(圍繞D3,iirc),我轉換了它,主要是因爲我幾十年來專業地使用了C/C++。VCL/Delphi/BCB - 我應該使用哪種IDE /語言?

我已「離開」了7年或8年,現在正在返回。我仍然有BCB 6 & Delphi 7(更不用說Kylix了)。

我總是覺得C++比Pascal更舒服 - 純粹是因爲工作日的熟悉程度。但是,實際上,iirc,大多數第三方VCL組件都使用Delphi/Pascal編碼。我想我以前在BCB調試Delphi組件時遇到問題,但我可能記錯了。

Anyhoo,現在我回來了,打算用VCL組件/ hack代碼相同/調試它們的代碼&代碼我自己的。

鑑於我對C++的使用稍微舒適一些,是否有任何有力的理由來選擇Delphi而不是BCB,或者這僅僅是我特定的字符串有多長時間的情況?

+0

任何理由不得到的RAD Studio既Delphi和C++? – 2010-03-25 16:19:27

+1

@David Dean:大約800歐元......雖然我同意RAD Studio可能是更好的方法,如果你有多餘的錢。 – 2010-03-25 19:19:42

+0

@TommyA:我知道金錢是一個重要因素,我只是想確保沒有其他原因。 B-) – 2010-03-26 16:12:25

回答

2

我原本是一個C++ Builder用戶,但我來學習並喜歡Delphi語言。我經常使用它們,每個都在它自己的領域:我更喜歡Delphi以UI爲中心的代碼(組件),或者當我想要使用現代語言特性(泛型,匿名方法,RTTI,類多態)時,但我更喜歡C++ Builder需要與第三方C或C++代碼接口(經常發生)。即使使用C++ Builder,我也可以在Delphi中編寫我的應用程序的一部分。

我的建議是普遍偏愛Delphi進行組件開發。您可以在Delphi和C++ Builder中使用Delphi組件;用C++編寫的組件將您限制在C++ Builder中。

較新的IDE(BDS 2006及以上版本)集成了Delphi和C++ Builder。在C++應用程序中調試Delphi代碼現在變得輕而易舉。但是,如果您已經有用C++編寫的現有組件,我只需在C++ Builder中維護這些組件。沒有理由將它們遷移到Delphi,除非你想從Delphi中使用它們。

5

我認爲這取決於你的目標是什麼,而不是別的。

您是否想營銷您的技能?去C++或者更好的辦法是拖拽Delphi/BCB並轉到C#(即使可以證明效率不高,它更便宜,更容易上市)。

您是否在編寫自己想要銷售和維護的產品?我想說的是與你更舒服的做法,但重要的是,VCL市場幾乎將BCB視爲二等公民。從長遠來看,這將很難維持,因此它將取決於您的產品的預期生命週期。

你只是想爲你的快樂寫作嗎?去任何你最喜歡的,真的。現在,學習框架通常比語言更難,因爲既然德爾福和BCB共享同一個框架,如果稍後改變,您也不會失去太多時間投入。最後,如果你開始一個企業,並希望其他人不得不在後來維護和擴展你的代碼,那就去別的地方找一個能找到合格程序員的產品吧(C#,java, PHP)

+0

+1非常平衡的答案恕我直言 – jpfollenius 2010-03-25 11:01:41

+0

1同意粉碎機 - 這是一個很好的答案,所有的事情考慮! – robsoft 2010-03-25 11:48:54

4

我會說使用你更熟悉的語言。德爾福確實傾向於從恩巴克德羅得到更多的關注,BCB(歐洲央行?)在幾年中被嚴重忽視了一些年,但似乎自幾年前的收購以來已經完全恢復。

+0

那麼,沒有技術上的差異?當我使用BCB時,不需要更多的調試來調試Pascal VCL控件?我懷疑它是否以另一種方式起作用。 BCB可以編譯Pascal,但Delphi可以編譯C++嗎? – Mawg 2010-03-27 02:02:08

+0

當然有技術上的差異,你提到過一對夫婦,但是如果我想用C++編程的話,我會用BCB,如果我想用Pascal,我會用Delphi。 – 2010-03-28 00:04:35

2

作爲一名C++開發人員,我已經在C++ Builder(BCB)上花費了大量時間,它是一款用於快速應用程序開發的優秀工具。 VCL框架有其明顯的優勢,併爲C++開發人員提供了一個用於快速構建應用程序的優秀工具。顯然在過去的幾年中發生了很多事情,競爭的框架已經發展得更成熟了,wxWidgets和Qt提到了兩個都提供了很多VCL提供的東西,但是這樣做同時保持了編譯器的獨立性。

這是我找到的幾個原因非常重要:

  1. 首先了Borland/CodeGear公司/ Embarcardero C++編譯器缺乏很多的許多相互競爭的編譯器的更現代的特點。它不像許多其他編譯器那樣符合標準,我不能計算我曾經在BCB中編譯boost庫的問題的數量,儘管它們似乎已經解決了許多這些問題。

  2. 其次,我必須承認,我對Embarcardero對BCB產品的承諾存在疑慮。我個人認爲,BCB產品只被一個非常邊緣的觀衆使用,並沒有帶來足夠的資金來維持產品的正常維護,至少與德爾福親戚相比。我擔心未來3 - 4年BCB產品將不復存在。但我必須強調,這是我個人的恐懼,只是基於猜測。

  3. 前兩個組合提供了一種最糟糕的情況,您遇到了一個切換編譯器變得不可能的框架。然而,我相信Delphi編譯器將會持續更長的時間,考慮到(猜測)更大的用戶羣,編譯代碼的性能將接近於BCB的性能,但用戶基數越大,獲得的支持數量越大,並且更容易找到。

說了這麼多,我仍然喜歡BCB,正如Stephane所說,它真的可以歸結爲您所需要的。既然您決定使用VCL,那麼找到更多基於交叉編譯器的框架可能並不重要,或者您可能已經完成了這些注意事項。

如果您喜歡C++語言,那麼我會使用BCB,如果您喜歡具有更大用戶羣的語言,並且在那種語言中支持更容易找到,我會選擇Delphi。但是,再一次,很可能你會購買RAD Studio並且都有編譯器,那麼爲什麼要限制你的自己使用一種語言呢?如果你已經知道一種語言切換到另一種語言應該很容易。特別是當你知道的語言是C++時,尤其是在你之前和Delphi一起工作的時候。

我喜歡說你必須爲正確的工作選擇正確的工具。因此,也許這個問題不應該成爲我應該使用的工具,而是什麼工具適合這個特定的工作,如果您打算利用大量針對多核架構優化的多線程編寫高性能代碼,那麼很可能它既不是BCB也不是德爾福,你會尋找。如果您正在尋找跨平臺開發,並且您不喜歡Java的想法,那麼可能是Freepascal/Lazarus組合形式的Pascal語言將是您最好的選擇。

如果你想快速開發應用程序,比如利用數據庫,想要一個花哨的GUI窗口,並且不介意一些代碼開銷,那麼我猜你對VCL框架的賭注可能是你的最佳選擇並且誠實地考慮所有事情,那麼在這種情況下是否使用BCB或Delphi並不重要。

所以,如果所有其他因素可以歸結爲,他們在技術上甚至候選人幾個選擇,選擇一個你最喜歡的,覺得你是最有生產力英寸

+1

Re。跨平臺:似乎下一個Delphi/BCB版本也將針對Mac/Linux(32位)。另外,我不認爲BCB會很快消失,尤其是,考慮到未來的64位Delphi/BCB編譯器可能具有共享編譯器後端;至少這是建議在這裏:http://edn.embarcadero.com/article/39174 – PhiS 2010-03-25 15:07:48

+3

@PhiS:永不採取什麼恩巴克德羅在面值說:我們正在等待Delphi64 stioll ... – Stephane 2010-03-25 16:20:08

+0

@Stephane:同意兩個點。 x64早該過期了。但似乎至少跨平臺的東西正在積極發展中,例如見http://blogs.embarcadero.com/eboling/ – PhiS 2010-03-25 19:20:38

相關問題