我们所要关注的是什么?

简介:

这是我给公司的同事培训C#时同事的提问的问题,我把问题归纳后写了出来。 

问题

C#和VB.NET 都是.NET 中的一种编程语言,而对于.NET 本身来说,无论用那种语言编写的程序,在编译器中都会转化成中间语言,而他们所使用的底层类库和支持服务都为一样的,都是建立和运行在Microsoft .NET Framework SDK 之上的程序,所以我觉得对于C#VB.NET只是语言不用,实现和具体编码的不同,相对于VB.NET来数,C#只是完全面向对象,别的几乎没有大的区别。

     那为什么有人认为VB.NET是垃圾,是一个中间的东西,高不高,低不低,这个我们应该怎样解释和认识Microsoft.NET体系,并用什么样的态度来学习Microsoft .NET,还有我们要作那些必要的准备,而对于编码技术方面,我们要怎样从代码和思想上来全面的认识学习完全面向对象的C#编程,同时如果我是一个VB 6.0的程序员,我应该怎样从VB 6.0的编程思想中解放出来,是学习VB.NET 还是 学习 C#的好,又如果我是一个VB.NET 的程序员,我又没有必要再去学习C#

    自从微软推出Microsoft .NET Framework SDK开发平台的之后,所有基于Microsoft .NET Framework SDK发开平台的开发语言已经与Microsoft .NET Framework SDK之前的语言有了本质性的变化,在Microsoft .NET Framework SDK之前VB语言是通过解释运行的模式进行程序处理,但是在Microsoft .NET Framework SDK之上,所有的语言都编成一种工具,这些工具为程序员提供了不同的选择,让不同开发风格的程序员可以利用不同的编成语言来做同样一种事情。在Microsoft .NET Framework SDK之下,所有的编成语言都被处理成中间语言,Microsoft .NET Framework SDK运行的是中间语言。在Microsoft .NET Framework SDK上,开发语言就像我们所说的话,不同国家的人可以有不同的语言,有日语,中文等等。但是我们之间的交流都不会有问题,那是因为我们在交流时交流的是思想,不是语言本身。Microsoft .NET Framework SDK所处理的就是从不同的编程语言中以一顶的规范来提取程序思想,然后进行处理。

    该以何种态度去认识Microsoft .NET Framework SDK以及Microsoft .NET Framework SDK所提供的语言,从程序员的角度来开,开发语言就是我们我们与计算机交流的一种工具,但是我们因该认识到一点,开发的主体不在于开发语言,而是开发本身所要处理的业务等中心思想。开发语言的不同或许可以让我们通往成功的目的有一个捷径,但不是开发语言决定了开发的成功与否。所以不论是VB 6.0还是C#的程序员都应该明确一点,我们要更多的关注于业务和程序逻辑本省,开发语言不是决定性因素。

    以前我很少接触VB,我自身的开发大部分都借助于C#。两者从语言角度上说的确不同。但是从VB被推出的第一天,VB就不应该被认为是垃圾,而且VB应该是一门十分成功的开发语言,或许VB可能的功能可能比C/C++要少,有时候要借助于C/C++才可以实现,但是从微软公司推出了VB开发平台之后,就向所有的程序员展示了快速开发平台的模型,这不能说不是一种成功的模型,而且快速开发平台一直被沿用到了Microsoft Visual Studio .NET 2003上。在开发的时候,往往会根据业务的需要和开发的周期来决定选择某一种开发语言和开发平台。如果所要进行Web方面的开发,asp(vb)php等都是不错的选择,如果硬要选择C/C++进行开发,或许会得不偿失。

    前段时间关于.netjava的争论,如果说C#是抄袭了java,倒不如说C#是站在巨人的肩膀上。.netMicrosoft .NET Framework SDK上提供的一系列解决方案不能不说微软公司具有前瞻性,虽然有人评击说net过于依赖平台,但是这不能不承认微软的野心和在技术上的领导。.net可以说是微软吹响分布式应用程序的一个前奏曲。让更多的程序员在开发商用软件时更多的关注业务,而不是如何实现。

.net中微软已经扩展了VB,在保持有原先语言风格的基础上,让Vb的功能更强大。但是由于VB留有多年演化的痕迹和现在的改进,所以不能完全在Microsoft .NET Framework SDK上照搬以前VB的代码。'
















本文转自小余(Yice)博客园博客,原文链接:  http://www.cnblogs.com/yice/archive/2008/04/17/127145.html  ,如需转载请自行联系原作者


相关文章
|
7天前
|
NoSQL Cloud Native Redis
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
阿里云瑶池数据库团队后续将持续参与Valkey社区,如过往在Redis社区一样耕耘,为开源社区作出持续贡献。
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
|
7天前
|
关系型数据库 分布式数据库 数据库
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
PolarDB分布式版助力《香肠派对》实现百亿好友关系20万QPS的毫秒级查询。
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
|
8天前
|
消息中间件 Cloud Native Serverless
RocketMQ 事件驱动:云时代的事件驱动有啥不同?
本文深入探讨了云时代 EDA 的新内涵及它在云时代再次流行的主要驱动力,包括技术驱动力和商业驱动力,随后重点介绍了 RocketMQ 5.0 推出的子产品 EventBridge,并通过几个云时代事件驱动的典型案例,进一步叙述了云时代事件驱动的常见场景和最佳实践。
115077 1
|
9天前
|
弹性计算 安全 API
访问控制(RAM)|云上安全使用AccessKey的最佳实践
集中管控AK/SK的生命周期,可以极大降低AK/SK管理和使用成本,同时通过加密和轮转的方式,保证AK/SK的安全使用,本次分享为您介绍产品原理,以及具体的使用步骤。
101848 3
|
8天前
|
自然语言处理 Cloud Native Serverless
通义灵码牵手阿里云函数计算 FC ,打造智能编码新体验
近日,通义灵码正式进驻函数计算 FC WebIDE,让使用函数计算产品的开发者在其熟悉的云端集成开发环境中,无需再次登录即可使用通义灵码的智能编程能力,实现开发效率与代码质量的双重提升。
95428 2
|
5天前
|
物联网 PyTorch 测试技术
手把手教你捏一个自己的Agent
Modelscope AgentFabric是一个基于ModelScope-Agent的交互式智能体应用,用于方便地创建针对各种现实应用量身定制智能体,目前已经在生产级别落地。
|
1天前
|
NoSQL Java Redis
使用Redis实例搭建网上商城的商品相关性分析程序
本教程将指导您如何快速创建实例并搭建网上商城的商品相关性分析程序。(ApsaraDB for Redis)是兼容开源Redis协议标准的数据库服务,基于双机热备架构及集群架构,可满足高吞吐、低延迟及弹性变配等业务需求。
17092 0
Doodle Jump — 使用Flutter&Flame开发游戏真不错!
用Flutter&Flame开发游戏是一种什么体验?最近网上冲浪的时候,我偶然发现了一个国外的游戏网站,类似于国内的4399。在浏览时,我遇到了一款经典的小游戏:Doodle Jump...
112759 12
|
13天前
|
SQL 存储 JSON
Flink+Paimon+Hologres 构建实时湖仓数据分析
本文整理自阿里云高级专家喻良,在 Flink Forward Asia 2023 主会场的分享。
71404 1
Flink+Paimon+Hologres 构建实时湖仓数据分析
|
17天前
|
弹性计算 运维 安全
访问控制(RAM)|云上程序使用临时凭证的最佳实践
STS临时访问凭证是阿里云提供的一种临时访问权限管理服务,通过STS获取可以自定义时效和访问权限的临时身份凭证,减少长期访问密钥(AccessKey)泄露的风险。本文将为您介绍产品原理,以及具体的使用步骤。
151068 4

热门文章

最新文章