程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 如何更好的對C++Builder進行開發

如何更好的對C++Builder進行開發

編輯:C++入門知識

C++ Builder是由Borland公司推出的一款集成開發環境,C++Builder是一個專業的C++開發環境,他能夠提供的功能為:快速、高效、靈活的編譯器優化,希望大家能夠學到自己想要的東西。

這個在市場上為Borland挽回了顏面的產品不但在界面風格上與Borland的支柱產品Delphi別無二致,甚至還在產品內部直接照搬了Delphi的VCLVisual Component Library)庫。結果,使用C++Builder開發的代碼天生就受到了Delphi風格的傳染,長相酷似Pascal語言了以下代碼取自C++Builder 6.0的示例代碼):

  1. class TFormClrDlg : public TForm  
  2. {  
  3. published: // IDE-managed Components  
  4.     TColorDialog *ColorDialog;  
  5.     TButton *Button;  
  6.     TPanel *Panel1;  
  7.     void fastcall ButtonClick(TObject *Sender);  
  8. private:    // User declarations  
  9. public: // User declarations  
  10.     virtual fastcall TFormClrDlg(TComponent* Owner);  
  11. }; 

說實話,盡管C++Builder在市場上的表現不錯,但我還是不喜歡Borland將C++語言與Delphi中的Object Pascal語言刻意混淆的做法。也許在Borland這種做法的背後有提高產品通用性、縮短產品開發周期等體面的理由,但使用C++Builder開發出的代碼在外表上已經離標准C++風格越來越遠了。

值得注意的是,Borland於2003年推出了其下一代C++開發工具 ——C++BuilderX。讓人哭笑不得的是,這一次Borland居然將C++開發環境構築在了用Java語言實現的PrimeTime平台上,這多少將C++語言推向了一種極為尴尬的處境。

  • 使用VBA擴展VS.NET集成開發環境附Flash
  • 跨平台集成開發環境Eclipse SDK 3.5RC3
  • C#集成開發環境淺析
  • 你是否了解VB.NET集成開發環境
  • 大郅說明Visual Studio 集成開發環境

不過,C++BuilderX也為我們帶來了一些好消息:在後續的版本中,C++BuilderX將集成vxWindows框架庫[5],在這種框架下開發的C++代碼顯然要比使用VCL的代碼具備更多的標准C++風格。

Microsoft將C++引入.NET環境的舉動其實比Borland還要激進。單從風格上說,使用Visual C++ .NET開發的代碼可能兼具MFC、ATL、標准C++、.NET托管代碼等多種不同的風格。其中,對C++語言本身影響最大的,當然要數.NET托管代碼為C++注入的若干新鮮血液了:

  1. #using <mscorlib.dll> 
  2.  
  3. using namespace System;  
  4. using namespace System::Reflection;  
  5. using namespace System::Security::Permissions;  
  6.  
  7. public __value enum SomeStuff {  
  8.     e1 = 1,  
  9.     e17 = 17  
  10. };  
  11.  
  12. [attribute(AttributeTargets::Class, AllowMultiple=true)]  
  13. public __gc class ABC {  
  14. public:  
  15.     ABC(int __gc[]) {}  
  16.     ABC() {}  
  17.     ABC(int) {}  
  18.     ABC(int, float) {}  
  19.     ABC(SomeStuff) {}  
  20.     ABC(String*) {}  
  21.     int rgnField __gc [];  
  22.     double rgdField __gc [];  
  23.     double dField;  
  24. }; 

上述代碼來自MSDN中的示例程序。看到Microsoft大刀闊斧地為C++Builder引入的垃圾收集、Attribute屬性等新特性和新技術,看到.NET托管代碼新奇得近乎離經叛道的語言風格。

我不知道是應該為Microsoft在發展通用語言平台上的努力而歡呼雀躍,還是應該為C++在C#語言陰影下日漸屈居.NET大戲中的配角而灰心喪氣。也許,語言風格和程序員的感受在Microsoft眼中,都是些不值一提的小事,它們哪能和.NET的宏偉戰略及Microsoft的強大帝國相提並論呢?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved