如何更好的对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的示例代码):

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);  
}; 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 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++注入的若干新鲜血液了:

#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;  
}; 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 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技术栈公众号