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

开发 后端
在介绍C++Builder前,先让大家了解下什么是C++ Builder,所谓的C++ Builder:C++ Builder具有快速的可视化开发环境。

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

这个在市场上为Borland挽回了颜面的产品不但在界面风格上与Borland的支柱产品Delphi别无二致,甚至还在产品内部直接照搬了Delphi的VCL(Visual 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++语言推向了一种极为尴尬的处境。#t#

不过,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的强大帝国相提并论呢?

责任编辑:chenqingxiang 来源: 计世网
相关推荐

2010-01-15 09:48:04

C++Builder

2010-01-26 14:04:14

C++Builder

2010-01-15 09:33:01

CC++Builder

2010-01-18 14:25:19

使用C++Builde

2010-01-26 14:10:22

Visual C++

2010-01-27 09:46:32

C++Builder开

2010-01-15 18:06:20

C++引用

2010-01-11 10:45:43

C++Builder

2010-01-11 10:53:14

C++Builder

2010-01-22 13:20:27

C++代码

2010-01-25 14:43:00

C++构造函数

2010-01-22 18:06:24

C++代码

2010-01-15 10:14:21

C++ Builder

2010-01-19 14:39:22

C++ Builder

2010-01-11 16:19:05

C++ Builder

2010-01-22 16:21:50

C++ Builder

2010-01-15 09:58:38

C++ Builder

2010-08-11 09:50:38

DB2 catalog

2010-09-08 12:30:05

DelphiC++BuilderRAD Studio

2010-01-22 16:10:12

C++ Builder
点赞
收藏

51CTO技术栈公众号