如何更好的对C++Builder进行开发

C++ Builder是由Borland公司推出的一款集成开发环境,C++Builder是一个专业的C++开发环境,他能够提供的功能为:快速、高效、灵活的编译器优化,希望大家能够学到自己想要的东西。

这个在市场上为Borland挽回了颜面的产品不但在界面风格上与Borland的支柱产品Delphi别无二致,甚至还在产品内部直接照搬了Delphi的VCL(Visual Component Library)库。结果,使用C++Builder开发的代码天生就受到了Delphi风格的传染,长相酷似Pascal语言了(以下代码取自C++Builder 6.0的示例代码):

class TFormClrDlg : public TForm  


{  


published: // IDE-managed Components  


    TColorDialog *ColorDialog;  


    TButton *Button;  


    TPanel *Panel1;  


    void fastcall ButtonClick(TObject *Sender);  


private:    // User declarations  


public: // User declarations  


    virtual fastcall TFormClrDlg(TComponent* Owner);  


}; 

说实话,尽管C++Builder在市场上的表现不错,但我还是不喜欢Borland将C++语言与Delphi中的Object Pascal语言刻意混淆的做法。也许在Borland这种做法的背后有提高产品通用性、缩短产品开发周期等体面的理由,但使用C++Builder开发出的代码在外表上已经离标准C++风格越来越远了。

值得注意的是,Borland于2003年推出了其下一代C++开发工具 ――C++BuilderX。让人哭笑不得的是,这一次Borland居然将C++开发环境构筑在了用Java语言实现的PrimeTime平台上,这多少将C++语言推向了一种极为尴尬的处境。

不过,C++BuilderX也为我们带来了一些好消息:在后续的版本中,C++BuilderX将集成vxWindows框架库[5],在这种框架下开发的C++代码显然要比使用VCL的代码具备更多的标准C++风格。

Microsoft将C++引入.NET环境的举动其实比Borland还要激进。单从风格上说,使用Visual C++ .NET开发的代码可能兼具MFC、ATL、标准C++、.NET托管代码等多种不同的风格。其中,对C++语言本身影响最大的,当然要数.NET托管代码为C++注入的若干新鲜血液了:

#using <mscorlib.dll> 


 


using namespace System;  


using namespace System::Reflection;  


using namespace System::Security::Permissions;  


 


public __value enum SomeStuff {  



    e1 = 1,  




    e17 = 17  



};  


 



[attribute(AttributeTargets::Class, AllowMultiple=true)]  



public __gc class ABC {  


public:  


    ABC(int __gc[]) {}  


    ABC() {}  


    ABC(int) {}  


    ABC(int, float) {}  


    ABC(SomeStuff) {}  


    ABC(String*) {}  


    int rgnField __gc [];  


    double rgdField __gc [];  


    double dField;  


}; 

相关推荐