如果一定要用C编写程序,使用VC好还是CB好?报纸上见到C#,是什么?(100分)

  • 主题发起人 主题发起人 baoling
  • 开始时间 开始时间
B

baoling

Unregistered / Unconfirmed
GUEST, unregistred user!
如果一定要用C编写程序,使用VC好还是CB好?报纸上见到C#,是什么?
 
我喜欢cb,因为和Delphi很像
c#是微软搞的新的开发工具,好像可以方便的作b/s,胡折腾,我不用
 
VC++和C++Builder各有优缺点,我喜欢用后者
C# (C-Sharp)介绍

在过去的二十年中,C和C++已经是开发商用和企业软件时使用最广泛的编程语言之一。这两种语言为
开发者提供了大量细致灵活的的控制,这种灵活性是以生产的成本作为代价的。就拿ms vb来与之比
较,C和C++应用程序相对来说需要较长的开发时间。由于复杂性和长周期,许多C和C++程序员已经在
寻找一种能在功能和生产力之间提供更好均衡的编程语言。
有几种编程语言是通过牺牲C和C++程序员常常需要的灵活性来提高生产力的。这样的解决方案对开发
者的约束太多(例如:通过省略低级代码控制)并且通用性很差。它们与先前存在的系统很难相互操
作,并且它们与当前的Web设计方法不能很好的吻合。
对C和C++程序员来说,理想的解决方法应该是快速的开发与访问所有潜在平台的能力相结合。开发环
境应该完全与新的Web标准同步并容易与现存的应用系统集成,同时,C和C++程序员还希望能够在必要
的时候在底层编写代码。
 
微软提出C#
微软为了解决上述问题,提出了一种叫C# 的语言(英文中读作:C sharp)。C#是一种现代的,面向
对象的语言,它使开发人员能够在微软新的 .NET平台上快速建立广泛的应用,其提供的工具和服务能
充分发掘系统的计算和通讯能力。
因为其优良的面向对象设计,在构建从高级业务对象到系统级应用的各种不同组件时,C#是一个首要
的选择。使用简易的C# 语言构造,组件可以被转换为Web服务,从而允许从运行在任何操作系统上的
任何语言中跨越Internet 调用它们。
不仅仅如此,C# 的设计为 C++程序员带来了快速的开发能力,而不用牺牲C++已有的功能和控制能力。通过这种继承,C# 高度地保持了与C 和C++ 的一致。开发者只要熟悉C 和C++ 语言就可以快速地掌握 C# 并写出更多的C# 应用程序。
 
生产力和安全
新的Web经济要求所有商业比从前更快地响应竞争的威胁。要求开发者在更短的时间内生产发行更多的
程序版本,而不是单一纪念物似的版本。
C# 的设计考虑到了这些因素,它的设计帮助开发者用更少的代码行和更少的出错机会做更多的事情。
遵循新的 Web 设计标准
新的应用程序开发模型意味着越来越多的解决方案需要使用新的Web 标准,如:HTML,XML和 SOAP
(Simple Object Access Protocol)。现存的开发工具都是在Internet 之前或之初开发的。因此,它
们总是不能很好地适应新的Web技术。
C#程序员能用一个扩展的框架来构建微软.NET平台上的应用。C#包括内建的支持使任何组件转换为一
个能在Internet 上运行任何平台上的任何应用中被调用的服务。
对程序员来说,更出色的是这个Web服务框架能使现存的Web服务看起来象本地的C#对象,因此允许开
发者权衡利用它们已有的面向对象的编程技能与在现存的Web服务。
有更多的特点使得C#成为主要的Internet 开发工具。例如,XML是新出现的在Internet中传递结构化
数据的方法。这种数据集通常很小。为了提高性能,C#允许XML数据被直接映射到一个结构数据类型
而不是一个类。在数据量不大时,这是一种更有效的处理方式。
消除重要的编程错误
即便是专家级的C++程序员都避免不了最简单的错误-如忘记初始化一个变量,这些简单的错误常常导
致不可预见的问题,它们长时间隐蔽,不易发现。一旦程序投入生产运行后,要排除哪怕是最简单的
编程错误,都要付出昂贵的代价。
C#现代的设计排除了大多数普通的C++编程错误。例如:
垃圾清理减轻了程序员自己管理内存的负担。
在C#中的变量狮自动被环境初始化的。
变量类型是安全的。
最终使一种语言更加容易编写和维护解决复杂业务问题的程序。
依赖内建的转换支持降低开发成本
更新软件组件是一个容易出错的任务。修订代码版本无意中可能会改动程序的语义。为了帮助程序员
解决这个问题,C#语言中包含了转换支持。例如,与C++和Java不同,方法重载必须显式进行;这有助
于防止代码错误和保留转换的灵活性。有关的特点还有本地的接口和接口继承支持。这些特点进化并
发展了复杂的框架。
总之,这些特点使一个工程的后继版本的开发方法更加健壮,同时为成功的应用降低了整体的开发成
本。
 
功能、表现和灵活性
商业过程和实现之间,最佳的映射。
随着公司制作商业计划的水平越来越高,抽象的商业过程与实际软件实现之间的紧密连接已成一种必
然趋势。但大多数语言工具没有一种简单易行的方式来链接业务逻辑和代码。例如,今天开发者可能
使用代码注释来说明哪个类构成主要的抽象业务对象。
C#语言允许分类,扩展能应用于任何对象的元数据。一个工程的构建者能够定义特定领域的属性并将
它们应用到任何语言的类元素,接口等等。然后开发者编程测试每个元素的属性。这就简化了自动化
工具的编写,而自动化工具将保证每个类或者接口被正确表示为特定抽象商业对象,或简化了创建基
于对象特定属性的过程。紧密联结定制元数据和程序代码有助于加强意料的程序行为与实际的实现之
间的联系。
广泛的协同工作能力
可管理、类型安全环境对大多数企业应用是适合的。但是现实世界中的经验告诉我们,有些应用延续
需要“本地”代码,其原因要么是因为性能问题,要么是因为与现存的应用程序接口问题。这样的情
况强迫开发者使用C++来开发,即便他们喜欢使用生产性更好的开发环境。
C#通过下面的方式解决了这个问题:
包含组件对象模型(COM)的本地支持和基于Windows APIs的支持。
允许有限制的使用本地指针
在C# 中,每一个对象自动地成为一个COM对象。开发者不再需要显式地实现IUnknown和其它COM借口。
而是将它们内置了。同样,C#编程能在本地使用现存的COM对象,与它们用什么语言创建的无关。
对于需要这种特性的开发者来说,C# 包含了一个特别的特性:那就是一个程序可以调用任何本地
API。在一个特别标记的代码块中,允许开发者使用指针和传统的C/C++特点,如自己管理内存和指针
算法。
相对于其它开发环境,这是一个巨大的优点。它意味着C# 程序员能建立他们自己现存的大量C和C++
代码,而不用丢弃它们。
COM支持和本地API访问支持,目的是向开发者提供了重要的能力和控制,不用离开C#环境。
 
结论
C# 是现代的、面向对象的语言,它使开发者快速、简单地为微软.NET平台建立解决方案。它所提供的
框架允许C# 组件变成Internet 上运行在任何平台上的任何应用可获得的Web服务。
C# 语言提高了开发者的生产力,同时,消除了可能导致开发成本增加的编程错误。
C# 语言为C/C++开发者提供了快速的Web开发环境,同时也保留了C/C++程序员想要的功能和灵活性。
 
无论是vc还是cb只要能精通他们的类库就能将他们的功能发挥出来。
vc掌握 mfc类库 cb掌握 vcl类库
 
又长见识了,谢谢楼上老兄,有机会的话请你喝一壶!呵呵~~~~~~!
 
不管是VC还是CB,最重要的是先掌握C++本身
 
当然是vc了, 有说cppbuilder是因为corba才存在的:)
 
关于编程工具有太多的讨论。
如果你要编写算法和嵌入式系统,侧重速度和效率,可以用C
如果不是这样请把C++作为一个新的编程语言来学,vc和bcb本身关系不大。
如果编写数据库和界面较多的程序,可以考虑bcb。如果编写与操作系统
有关的程序,最好用VC.当然还要和客户的要求以及公司人员的水平来联系。
关于C++最好看看网站 http://www.jjhou.com
 
推荐使用C++Builder,开发界面非常快速。而且,它也可以编译MFC。VC能做的,BCB都能做到,有时候还会更快。
你看着选吧。
 
VC更好,但比C++ Builder难学。
 
国外用VC,VB最多,当然来还是推荐从SDK开始。
 
编程最主要的是编程思想,无论用何语言,它只不过是一种工具。目的只有一个,达到目的的路径很多,
不要限制于用某种语言工具,走捷径!vc功能强大,但有时使用它不是最好的!
 
学delphi这么长时间,开发过程中总能感觉到微软的霸道!
所以建议你用vc学会后会很方便。
 
真是太涨见识了,^_^
 
说白了还是要学C++。。
 
[green][/green]我决定从C开始!
再C++,最后VC++
我想这是一种好办法吧!
 
多人接受答案了。
 
后退
顶部