C# Builder VS. VS.NET:如何选择?

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

动E论坛(http://www.dong-e.com/bbs)lg_netarea翻译

    Borland的C# Builder的出现,意味着VS.NET现在有了一个真正的竞争对手。但对于你来说选择那一个开发工具来说才是最好的呢?
    正如我们所了解到的一样,C#Builder是基于C#语言的、用来开发.NET应用程序的完整的开发环境。它发布的时间仅比微软发布VS.NET晚了几个月。虽然两种产品都是针对相同的客户(即C#一发人员)、都具有相同的开发能力;但是它们又有各自的特点。既然你必须要选择其中一个,那么你想知道:C# Builder能够提供什么功能?与VS.NET相比怎么样?当然还包括为什么选择这一个而不选择另一个?下面我们将要回答这些问题。
    从表面上来看,C# Builder和VS.NET很相似。它们展现给用户的都是一个源代码编辑窗口,可视化窗口,属性菜单,工具栏,项目管理器和docking/sliding windows。C# Bukder给许多开发人员的第一映象就是它跟VS.NET很相似。然而,第一映象常常是一个误导。实际上,在你仔细研究后你会发现C# Builder有很多令人高兴而且有实用价值的地方。
    VS.NET的界面打开时在编辑器和设计器表面有一个标签视图,它能让你把编辑窗口分开以及移向多文档编辑器。然而C# Builder却采用了另一种方法,即不同的界面布局类型。默认的方式很像VS.NET,但是你可民把它改变成一种浮动窗口类型,这有点像Jbuilder和Visual Basic。另外在调试的时候C# Builder也使用一种特殊的窗口。
    从C#开发者的角度出发,这两个IDE工具开发.NET应用程序的开发能力没有什么不同。因为Borland从微软获得了.NET Framework SDK许可。也就是说C# Builder和VS.NET使用了相同的C #编译器和类库。你可以用C# Builder开发任何.NET技术,包括:Windows Forms,ASP.NET和Web Services。
    VS.NET的优点在于它能在多种语言开发,而不像C# Builder仅局限于C#语言,这些语言包括:C#,Visual Basic.NET,Managed C++和J#。C# Builder确实能让你在项目中存在VB.NET源代码,但它仅仅是为那些已经把VB.NET编码到项目中的人提供一种方便的附加的功能。
获取代码

当然,那些具有想象力的设计者和天才使用两个IDE工具来帮助自己更加快速的开发,我就是这么做的。但是代码编辑器是我花时间最多的地方。两个IDE工具都有可配置的语言着色和代码缩进,但是在代码的格式化、注释、定位和代码生成/智能化方面的不同具有关键的作用。
我们在测试一个IDE时,要做的第一件事就是键入代码。VS.NET的代码编辑器有自动缩进的功能,在开始下一条语句时将缩进一个制表符。如果当前的状态是缩进的,在键入一个块结束标记时,VS.NET将按适当的方式重新排列代码。C# Builder却不会这样,你需要使用Tab键来缩进;另外,在键入块结束标记时也不会自动排列。在VS.NET中另一个格式化特点是它能突出一个代码块,而且在你按Ctrl+K+F时能自动格式化整个块。或许我会被这些格式搞糊涂,但是我很喜欢这项功能,它能提高我的工作效率。
C#的一个最大的特点在于它的XML文档注释,这两个IDE工具在提取文件的文档注释方面都有相应的先项。VS.NET提供了对XML文档注释的自动支持。你要做就是在需要的地方标上“///”,VS.NET能自为文档注释生成一个模块。对于一个有多参数,一个返回类型的方法来说这种方式会好很多。VS.NET也提供了一个用来生成XML文档以便制作成HTML页面的文档生成工具。VS.NET的另一个特点是在按Ctrl+K+C时能对选定的行添加注释。相反的按住Ctrl+K+U能取消注释。在C# Builder的代码编辑器中,你必须自己键入所有的注释,而没有自动注释/自动取消注释的功能。
我很高兴能看到C# Builder能让你跳到一个申明,就像VS.NET一样。然而,他们在定位到代码的特定位置的方式不同,VS.NET使用对象察看窗口(Class View window)来查找类型和他们的成员。而C# Builder采用了原型察看窗口(Model View window)实现了相似的功能。成员列表框(在代码编辑时自动出现)这项功能在C# Builder中没有,但在VS.NET中我却经常用到,它能让你直接指向你想要的成员。
C#Builder和VS.NET都在编辑器中包含了一个敏感的与上下文相关的(context-sensitive)帮助功能,但是它们也有细微的差别。在VS.NET中,context-sensitive 帮助被称作IntelliSense,而在C# Builder中叫做Code Completion。当我们从列表中选择一个方法的时候,IntelliSense包含了一个方法描述,而C# Builder仅仅列出了其成员。另外,IntelliSense设计得十分巧妙,以至于以记住你使用最频繁的选项,并在出现时突出显示。虽然Code Completion没有设计得如此巧妙,但也能过滤出相关的选项显示在列表框中。另外的一些功能包括:支持新关键字,界面的自动执行,自动的委托执行和自动的覆盖执行等等在Code Completion中也没有。

具体细节

    C# Builder和VS.NET中的项目管理都能完成相同的目标,但是它们的方式却不同。C# Builder的项目管理窗口让你直接控制编译命令,但是VS.NET的方案管理器有一个各自的对话框,在那儿你可以指定编译命令。在基本原理上的主要不同的在于:如果你在两个项目之间创建了一个项目,VS.NET将自动确定编译命令和从属关系。但是C# Builder会让你自己维持你自己的编译命令。事实上我知道在VS.NET中偶然地糊乱修改编译命令会阻止你的项目开发,那就是你为什么要用项目参考以及让VS.NET来为那些事情分类的原因。由于C# Builder刚出来,所以还需要花时间来看看人们是否有项目管理方面的问题。在这一部分我已经对C# Builder一些考虑,同时也做了一些实验,但是我仍然不得不出现这些问题。
    两个IDE都提供了完事的帮助;你仅仅按F1就可以获得。C# Builder的帮助是从一个单独的窗口弹出的,而VS.NET的帮助则出现在IDE窗口中(其中还包括动态帮助)。幸运的是,如果你不想看到动态帮助你可以关闭它,或者隐藏在其它窗口后。
    对于设计者来说,C# Builder使用了与VS.NET相似的设计界面,因此对于可视化的用户界面设计你有相似的感觉。同样的,C# Builder的对象检查器也是一个经过改进的基于.NET Framework的基类库的属性网格(Property Grid)。
    对于两者来说,设计界面的不同在于C#Builder的工具栏(Tool Palette),它类似于VS.NET的工具箱。工具栏中列出了可配置的分类列表,在这个列表中你可以改变颜色,命令和选项的外观。VS.NET的控件放在一个可能滑动的列表框中,在代码编辑的模式下,工具栏显示列表的一段,这一段通常是经常需要用到的。VS.NET有一个剪贴板环(clipboard ring),其中包含了最普通的复制代码。对于C# Builder来说却不是这样,它是持久不变的,而VS.NET中的内容随着它的关闭将不存在。另外,C# Builder的工具栏有了一个搜索栏,它能根据你键入的控件名过滤控件。
    当打开文件时,VS.NET为每个文件打开一个新的窗口,当你在多文件的情况下工作时你的工作区很快将被占完,这是一件很让人讨厌的事。它的表单和代码也是分开的, 这使你不得不看着界面来找相应的代码。在C# Builder中,表单和代码被组织在了一起,你在工作区的底部使用标签方便的来回切换。另一个好的功能是每一个工作区窗口的关闭按钮仅仅是单一,而VS.NET需要你找标签,选择它,然后点击工作区右上角的关闭按钮。
    除了在.NET Framework中支持的SQK Server,Oracle,OleDb和ODBC之外,C# Builder还支持Borland Data Provider(BDP)。DBP是一个可扩展的数据提供者,它能让你使用相同的代码连接到多种数据库。当前的数据库支持包括:Borland InterBase,IBM DB2,Microsoft SQL Server和Oracle 9i。在完成本文时,Borland正在增加对许多新数据库的支持,在我看来,在可预见的将来,它将继续这样做下去。
    VS.NET和C# Builder都有代码浏览器来用查看个体之间的关系。但是C# Builder的专业版和更高版本还包括了一个叫做Model View的应用程序图表。它是基本标准的UML图表,能够让你查看应用程序各个对象之间的关系,从而进一步查看他们的内容,还可以在模式和代码之间导航。虽然这些仅仅是查看功能,但是它却帮助你怎么样把一个应用程序放在一起才是最好的。而VS.NET却没有这个功能。
    最后,C# Builder中还IDE中引入UML的建模技术,这项技术提供了一个在设计时的功能,即:开发者和建模者可以创建UML模型,同时它的代码也是更新过的。同样的,代码的改变也将立即引起UML模型的改变。没有内部的模型转换和描述就意为着在代码和模型之间有直接的相互作用。
    另一个让人兴奋的是C# Builder建模是企业核心对象,或者是ECO(pronounced eek0)。ECO是一个能在运行时建模功能,它是OMG(Object Management Group)MDA(Model Driver Architecture)所追求的目标。有了ECO,你可以创建新的模型或者导入已经存在的从其它建模工具创建的XML模型。ECO的主要功能包括:数据的持久性,数据处理,安全性和数据绑定等的支持。ECO模型也能适应由数据库计划引起的变化。VS.NET没有提供这一功能。

生命周期的管理

    Borland首先命名了应用程序周期管理(ALM),把这个管理工具包含到我们的项目中,我们能够协调我们的工作。ALM被分成了六个明确的阶段,包括:定义(Define),设计(Design),开发(Develop),测试(Test),配置(Deploy)和管理(Manage)。ALM的重要性在于:在C# Builder的环境下工具集合的整合和相互操作。例如:CaliberRM(在定义阶段需求分析管理的工具)被直接整合到了C# Builder中,以便把用户的需求直接与开发者相联系。ALM没指定一种特定的方法论,但是它描述了一种支持灵活过程的方式。
    VS.NET与其它微软的技术能整合得很好,如果第三方卖主获得了VSIP(Visual Studio.NET Integration Program)那么他们也可以整合。微软规定了MSF(Microsoft Solutions Framework),但是它在VS.NET中没有完事的工具和向导程序来创建像ALM这样的过程。
    在这篇文章中我还涉及到了许多方面,但是我选择了我认为最重要的问题。C# Builder和VS.NET在开你想要开发的各种.NET应用程序方面都是十分出色的工具,不同点仅在于你创建的代码。对于编辑代码,我喜欢VS.NET的源代码编辑器。但是从一个开发团队来看,对于整个开发周期来说,C#Builder在工具的完整性和有效性方面要出色得多。我个人的观点就是欢欣Borland进入.NET舞台,并希望C# Builder在将来的版本中有更多的创新之处。在.NET舞台的竞争中,毫无疑问,C#Builder和VS.NET的后继版本都将有更多令人惊奇之处,而这些方面正是为了提高开发者的开发效率。(完)

C#/.NET 系统学习指南:从核心语法到项目实战的完整路径 C# 是一种面向对象的现代编程语言,运行于 .NET 平台之上,其核心原理在于通过公共语言运行时(CLR)提供内存管理、安全性跨语言互操作性。掌握 C# .NET 技术栈对于构建企业级应用具有重要价值,尤其在 Web 服务、桌面应用云原生开发等场景中应用广泛。本文聚焦于一套整合了 **高薪实战课程** 的系统性学习资料,该资料覆盖了从 C# 语言基础、ASP.NET Core WebAPI 开发到 Entity Framework Core 数据访问等关键技术模块,旨在通过结构化的学习路径配套的实 阅读详情

相关推荐

C++Builder调用C# DLL的实操工程:含COM注册、TLB头文件与BCB调用代码

一套开箱即用的跨语言集成方案,专为C++Builder开发者设计,解决在BCB项目中调用C#编写的DLL组件的实际问题。资源包含完整的C#类库源码(已配置COM可见性)、生成并注册的类型库(.tlb)、对应OCX资源文件,以及C++Builder端工程文件(.cbproj)、主窗体实现(MainForm.cpp/.h/.dfm)关键TLB头文件(如mscorlib_TLB.h、ClassLibrary1_TLB.h)。支持通过#import指令自动导入类型信息,也提供CoCreateInstance手动创

3a9bq4r8t2y的博客 204

C# Builder

BorlandC#开发工具的介绍

Borland C# Builder 1.0 Architect Edition Keygen (注册机)

将注册机copy到安装目录...in下geneneratesave后大功告成。

C#】—.netVSC#三者的关系

开篇 C#是接触的第二种编程语言,有些小激动。但是看视频的时候,有一些概念很混乱,下面就来理理头绪, .net framework  .net就是一个开发平台,可用于开发C#vb等多种语言。微软有两个非常成功的品牌,WindowsOffice,.NET可以看成是微软的另一个品牌。 .net也可以理解为一种框架,也就是一种开发运行的环境,而框架包含多个类库,提供各种功能。比如.n

Brooks Lv 2747

Delphi曾是一代王者,2020年Delphi强化WEB开发、拥抱开源、支持开发者社区,升级Delphi语言整合Python恢复昔日的跨平台开发工具王者地位

Delphi(C++ Builder)一直致力于快速的应用程序开发环境已有25年以上的历史,并且仍在继续增长。如果您知道如何使用Delphi,Delphi会帮助您迅速并且能够创建任何应用程序APP及WEB网站应用! 当前,使用Delphi,您可以为许多操作系统创建应用程序: 微软Windows 安卓系统 苹果系统 Linux iOS 而且,更棒的是Delphi能够创建后端服web应用程序。 windwos linux android IOS WEB 数据库 ...

Delphi开发局QQ群:32422310 2万+

VS2022&VS2019 + C++ Builder开发环境搭建

你如果只是单纯的想用VS2019写C++代码,选择C++的桌面开发即可,如果是需要Python / Android/等平台的开发,根据实际情况勾选即可。2、正常情况下,va-2022也是支持低版本的vs的,第一次安装可能会出现,匹配安装都成。下一步就是选择安装位置的选择,在上面的选项中可以选择;功,扩展中已安装也能找到,并且也是在重启的状态;路径默认一般是C盘,因为有下载缓存也会临时存放在C盘,如果安装在C盘,一定要。需要注意的是在选择开发配置的时候,可以安装自己的实际开发需要时设置。

Controller_wgy的博客 3733

c++builder 运行网站的api_.NET Core 微服务:Ocelot的API网关实现

(给DotNet加星标,提升.Net技能)转自:另一个老李cnblogs.com/SteveLee/p/Ocelot_Api_http_and_https.html微服务架构什么是网关?通过DotNetty构建的远程RPC框架《.NET跨平台RPC框架DotNettyRPC》,已经实现了远程客户端的调用,使用的体验是:跟在本地调用接口一样没有任何的区别。但是,这调用是没有任何限制的,任何...

weixin_39742065的博客 400

c++ 字符串拼接_源码上看 .NET 中 StringBuilder 拼接字符串的实现

专注分享C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等。对编程感兴趣的可以私信我获取资料,本可以提供链接直接下载,但无奈容易被谐,所以需要的朋友请私信我前几天写了一篇StringBuilder与TextWriter二者之间区别的文章(链接...

weixin_39844525的博客 381

MATLAB Builder for .NET

<br />MATLAB Builder for .NET<br />R2009b MATLAB 资源 论坛<br />目录<br />入门指南 1<br />MATLAB Builder for .NET是什么? 1<br />.NET Builder怎么工作? 1<br />创建COM组件 2<br />不支持的MATLAB数据类型 2<br />创建 .NET组件 2<br />步骤 2<br />Deployment Tool输出窗口的功能 2<br />使用命令行方式创建.NET组件 3<br /

zilin82的专栏 1417

如何在VS.NET/C# Builder开发的网页中也能实现DOS下录入数据回车换行的功能

如何在VS.NET/C# Builder开发的网页中也能实现DOS下录入数据回车换行的功能北京煤炭科学研究总院经济与信息研究所 丁报圣       在DOS年代,录入数据时我们习惯了在录入完一行数据后敲一个回车转入下一行的数据录入。昔日DOS的辉煌已经成为过去,如今更加友好易用的GUI图形操作界面Windows已经进入了我们的日常生活。      1996年Windows95的出现是软件史上的一次

能力改变命运,心态决定一切! 1529

C# Builder究竟有多出色

一直是用VS.studio开发C#程序,最近看了一些C# Builder的文章,并结合自己作的项目,我感觉C# Builder的过人之处确实要拿出来炫炫了~炫点一:增加了BDP连接组件,简化而且加快了数据库访问的速度。对于支持设计期数据察看的功能在vs中好像还没有看到过,同时由于绕过了ole db层的转换直接采用底层函数去存取数据库,速度当然快拉炫点二:整合了MDA概念到.Net平台。MDA(Mo

bookshop的专栏 1365

Electron.NET 打包与分发:使用electron-builder创建安装程序

Electron.NET 集成了 Visual Studio 的发布系统,通过 electron-builder 创建可分发的 Electron 软件包。该过程利用 .NET 的构建系统,同时自动生成必要的 Electron 配置文件。ASP.NET 应用控制台应用的发布过程略有不同:ASP.NET 应用使用 SelfContained=true 进行文件夹发布,控制台应用使用 SelfCont...

gitblog_00203的博客 1082

Borland C# Builder for MS .NET Personal Edition

有兴趣的可先看看 C# Builder 与 MS VS.NET 相比如何!附件是: LicenseImporterftp://ftpd.borland.com/download/csharpbuilder/csb1/csb1_per_noncommercial.exe

VS.NET的部署项目添加卸载快捷方式

VS.NET的部署项目添加卸载快捷方式王云  VS.NET中的部署项目为我们提供了一种非常简单的方式来安装部署我们的系统,只需轻轻的几步即可为现有的工程创建安装部署项目。甚至,它可以仅仅用作一个应用程序打包工具,对其它开发环境开发出来的应用程序打包。在我们的一个项目中就是这样做的。应用程序使用C++BUILDER开发,然后使用VS.NET2003来制作安装向导。为什么选择VS.NET?简单!重量

swnuwangyun的专栏 2788

CSharp: Builder Pattern using .net 10.0

本文展示了一个使用C#实现的建造者模式(Builder Pattern)在珠宝企业订单管理系统中的应用。系统通过JewelryProcessBuilder类实现异步、线程安全的流程编排,支持原料核验、设计、生产、质检等11个流程步骤。调度器JewelryProcessScheduler作为统一入口,配合依赖注入日志系统(Serilog),实现了订单全生命周期的自动化管理。代码结构包含实体类、枚举、接口层、服务实现层基础设施层,通过清晰的职责分离,完整演示了如何运用建造者模式处理复杂业务流程。输出日志详细

Geovin Du Dream Park 183

.NET开发入门:从C#基础到ASP.NET MVC实战

作为微软推出的全栈开发平台,.NET技术栈凭借其统一的开发体验强大的跨平台能力,已成为企业级应用开发的重要选择C#作为.NET生态的核心语言,结合LINQ查询、异步编程等现代特性,显著提升了开发效率。ASP.NET MVC框架则基于经典的三层架构模式,通过路由系统、模型绑定Razor视图引擎等组件,为构建可维护的Web应用提供标准化方案。在云原生微服务架构趋势下,.NET 6/7的跨平台支持与Docker等容器技术的结合,进一步扩展了其应用场景。对于Java/Python开发者转型或在校学生入门,掌

liudaoru - 悟 353

.NET Machine Learning Model Builder 常见问题解决方案

.NET Machine Learning Model Builder 常见问题解决方案 .NET Machine Learning Model Builder 是一个基于 Visual Studio 的简单易用的 UI 工具,允许开发者在应用程序中构建、训练消费自定义机器学习模型。该工具使用了最佳的自动化机器学习(AutoML)技术来训练评估不同的算法,无需用户进行任何调整即可生成最佳模型。...

gitblog_01125的博客 698

.NETC#开发实战:从入门到精通的完整指南

在软件开发领域,.NET框架作为微软推出的全栈开发平台,与C#语言的结合构成了强大的技术生态。其核心优势在于通过MVC架构实现关注点分离,配合Razor视图引擎实现动态页面渲染,大幅提升代码可维护性。从技术实现层面看,LINQ查询、异步编程(async/await)等特性显著提升了开发效率,而Dapper、AutoMapper等NuGet包则完善了技术栈。在实际工程应用中,合理的项目分层、规范的日志记录(NLog)缓存策略(Redis)是保证系统性能的关键。对于Web开发常见问题如CORS配置、XSS防护

weixin_30482383的博客 401
上一篇: Quake2 .net版发布
下一篇: C#Builder架构版中令人震惊MDA技术。
airhand
博客等级 码龄25年 9粉丝 73原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值