`
android_mylove
  • 浏览: 399789 次
社区版块
存档分类
最新评论

.NET的未来和VB、C#的前路(上、下) 收藏

 
阅读更多

.NET的未来和VB、C#的前路(上、下) 收藏


.NET的未来和VB、C#的前路(上)

[CSDN 2月9日 编译]在去年微软的专业开发者大会上(Professional Developers Conference PDC 2008),微软就开发者在.NET平台上的未来做了详细的展望,本文我们将概括地来看一下即将到来的.NET 4.0 Framework的一些特性,以及全新的Microsoft 系编程语言,讨论下微软对于.NET Platform在接下来几年的长远展望。

VB.NET和C#的联合发展

当前来自软件的最首要的信息之一是针对Microsoft Visual Basic .NET开发者的。VB.NET和Microsoft Visual C#都是构建在通用语言运行时(Common Language Runtime—CLR)之上,这意味着它们都向下编译成通用中间语言(Common Intermediate Language—CIL)。由于二者均向下编译成相同的代码,因而两个语言内部也不存在很大的差别。但是,两种语言却由微软两个不同的团队来维护,而且几年来的这种分离由于开发团队在各自产品上有不同的视角和理念,导致C#和VB.NET这两种语言演变出许多语言方面的特性。许多令人兴奋的特性最初出现在C#中最后却成了VB.NET的特性,很多VB.NET开发者都感到了这一点。自然地,这引起了VB.NET阵营的不满。

联合发展是微软的一个承诺,借此承认C# 和VB.NET为相同重要的语言,而且微软承诺在语言特性的发展方面,这些特性会同时加入到两个语言中。开发者不再需要为了某个特性而选择某个语言,也不再需要讨论到底哪个语言更好,他们要做的只是从语法方面来选择自己的语言就可以了。也许C#开发者会有一点挥之不去的优越感,VB.NET开发者会为此不爽,但联合发展后VB.NET开发者可以提醒“骄傲”的C#开发者,因为两种语言只是不同外表下的同一个东西。

动态语言运行时(Dynamic Language Runtime)的介绍

微软很敏感地意识到.NET Framework并不是构建应用时的唯一选择。快速地看看现在的开发环境,你会发现有很多语言选择。人们花费时间和精力用这些语言来写出有用的组件,问题来了:怎么能够让这些用其他语言写出的组件不至于在.NET上重写?

也许即将发布的.NET 4.0最令人激动的新特性是动态语言运行时(Dynamic Language Runtime—DLR)。就像通用语言运行时(Common Language Runtime—CLR)为静态型语言如C# 和VB.NET提供了通用平台一样,动态语言运行时(Dynamic Language Runtime—DLR)为像JavaScript, Ruby, Python甚至COM组件等动态型语言提供了通用平台。这代表.NET Framework在互操作性方面向前迈进了一大步,提供了一种语言操作的抽象,共享存储空间避免数据在进程中反复的集结,像垃圾收集一样的一套通用语言特性,以及将一种数据表达转换成另一种。

在更高层,你可以认为动态语言运行时(Dynamic Language Runtime—DLR)有三个层:

*.NET语言集成(.NET Language Integration)

* DLR核心组件(DLR Core Components)

* 语言结合(Language Binders)

.NET的未来和VB、C#的前路(下) [CSDN 2月10日 编译]

第一层,.NET语言集成,代表.NET语言有了一个概念即DLR是什么以及它怎么用。大部分来说,你甚至不会注意到DLR的这个方面,因为大部分的.NET语言有一个自然的集成点。IronRuby和IronPython都是动态型语言,所以DLR相合VB.NET总是在对象类型支持后联编(late binding)的概念,所以DLR很好地与后联编(late binding)解决合成一体。然而C#没有后联编(late binding)的概念,所以需要一个附加的静态型来支持动态语言。

第二层,是动态语言运行时(Dynamic Language Runtime—DLR)自身,由三个核心组件组成:表达式树(Expression Trees), 动态分配(Dynamic Dispatch),和调用点缓存(Call Site Caching)。一个表达式树是以一棵树方式的代码表现方式,它将语言抽象成一个连续的能够被DLR操作的格式。一旦动态代码以树的方式表现,DLR就能够阅读这棵树并且为了实际的执行从这棵树生成CLR代码。将代码解释成一个表达式树,然后创建CLR是一个昂贵的操作,所以DLR采用了一种性能技术即我们所知道的调用点缓存(Call Site Caching)来避免每次动态代码被调用时的重新编译。动态分配(Dynamic Dispatch)确保适当的语言结合(Language Binders)能够用于动态调用。

语言结合(Language Binders)构成了第三层,它是动态语言运行时(Dynamic Language Runtime—DLR)所需要的某些操作的特定语言工具。当然DLR远比本文简单介绍地要详细、功能强大得多,更多的信息来自于你自己的切身应用。

转载声明:本文来自CSDN博客,转载请标明出处http://blog.csdn.net/gouyue/archive/2009/02/11/3876243.aspx

分享到:
评论

相关推荐

    .NET的未来和VB,C#的前路介绍,doc文档资料上下集

    随着技术的不断演进,.NET的未来和VB、C#这两种编程语言的发展趋势成为了开发者关注的焦点。这篇文档资料上下集将深入探讨.NET的未来方向以及VB和C#在这一生态系统中的角色。 首先,我们来看看.NET的未来发展。微软...

    VB.NET2008速成精简版

    Visual Studio Express支持VB.NET以及其他编程语言,如C#和C++,并且具有代码编辑、调试、项目管理等一系列功能,适合初学者进行学习和实践。 VB.NET语言本身具有直观的语法,它继承了Visual Basic的易读性和易用性...

    C# 编写DLL 让VB调用

    在.NET框架下,C#和VB.NET都是微软开发的编程语言,它们可以通过.NET互操作性进行通信。本主题聚焦于如何使用C#编写一个动态链接库(DLL),然后让Visual Basic(VB)程序来调用这些DLL中的函数。以下是详细步骤和...

    VB6.0调用C# Dll解决方法

    在IT行业中,跨语言通信是常见的需求,尤其是在老版本的Visual Basic 6.0(VB6)和现代的.NET框架(如C#)之间。本文将详细解释如何使用VB6.0调用由C#编写的DLL动态链接库,以及在这一过程中涉及到的关键步骤和知识...

    深入.NET平台和C#编程 第六章 上机答案

    通过深入学习这些知识点,并结合第六章的上机答案,读者可以增强对.NET平台和C#编程的实际应用能力,为未来的项目开发打下坚实的基础。在实践中不断磨练,理论与实践相结合,将有助于提升编程技能并解决实际问题。

    Asp.NET仓储管理系统(C#)经典项目

    1. **ASP.NET框架**:ASP.NET是微软提供的一个用于构建Web应用程序的开发框架,它简化了Web应用的开发过程,提供了丰富的控件和功能,支持多种编程语言,如C#、VB.NET等。 2. **C#语言**:作为.NET框架的主要编程...

    Convert VB to C#

    - .NET Core和.NET 5的出现使得VB.NET和C#的界限更加模糊,它们都可以在跨平台项目中使用。 - 随着语言的发展,如C#的async/await和VB.NET的Async/Await,转换工具也在不断改进,以处理更复杂的语言特性。 总的来...

    VB.net.zip_东北大学VB_东北大学VB.NET

    总的来说,东北大学的VB.NET课程是一次全面而深入的学习旅程,旨在为学生打下坚实的编程基础,培养他们的逻辑思维能力和解决问题的能力,为未来的软件开发生涯做好准备。通过学习,学生们不仅能够掌握一门强大的编程...

    基于.net的医院信息管理系统(C#)

    .NET框架的主要组件包括Common Language Runtime(CLR)和类库,为开发者提供了跨语言的开发环境,支持C#、VB.NET等多种编程语言。 二、C#语言特性 C#是一种面向对象的、类型安全的编程语言,特别适合用于开发...

    图书馆管理信息系统 基于.NET 环境语言是C#

    .NET框架包括公共语言运行时(CLR)和类库,能够支持多种编程语言,如C#、VB.NET、C++等。C#作为.NET框架的主要开发语言之一,以其简洁、类型安全和面向对象的特性受到开发者喜爱。 在图书管理信息系统中,登录界面...

    ASP.NET VB代码网上书店(教学资料).rar

    1. ASP.NET框架:ASP.NET是由微软开发的服务器端Web应用程序框架,它支持多种编程语言,如VB.NET、C#等。该框架提供了丰富的控件、事件驱动模型和自动页面生命周期管理,简化了Web应用程序的开发。 2. Visual Basic...

    .net读取dxf.zip

    .NET Framework则是一个由微软开发的全面的开发平台,包含了一套运行库和一组类库,支持多种编程语言,包括VB.NET,C#,C++等。 **读取DXF文件** DXF文件包含了CAD设计的几何和非几何数据,如线条、圆、多线段、...

    C#.NET操作摄像头

    通过上述介绍,我们可以了解到在C#.NET环境下进行摄像头操作的基本原理和技术要点。无论是简单的视频采集还是复杂的图像处理应用,都能够基于这些基础知识构建起来。随着技术的发展,未来还将有更多高级功能被开发...

    .net C#新闻发布系统

    首先,我们要理解.NET Framework,这是一个由微软开发的全面的开发平台,包含了运行库、类库和开发工具,支持多种编程语言,如C#、VB.NET等。C#作为.NET Framework的主要编程语言之一,以其强大的类型安全性和面向...

    图书馆管理系统(.net,C#)

    .NET是由微软公司推出的开发平台,它提供了一个统一的开发环境,支持多种语言,如C#、VB.NET等。.NET框架包含Common Language Runtime(CLR),它负责程序的运行时环境,提供了垃圾回收、类型安全和异常处理等功能。...

    ASP.NET入门详细介绍(VB篇)

    综上所述,这份"ASP.NET入门详细介绍(VB篇)"涵盖了VB.NET和ASP.NET Web Forms的基础知识,对于初学者来说是一份非常实用的教程。通过深入学习并实践这些内容,你可以逐步建立起自己的ASP.NET开发能力,为未来的...

    北大青鸟-ACCP5.0-S2(2期课程)深入.NET平台和C#编程(3-2)

    它是由微软公司开发的一个全面的开发和运行环境,支持多种语言,如C#、VB.NET、F#等。.NET平台提供了丰富的类库、开发工具和框架,如Common Language Runtime (CLR) 和 .NET Framework,使得开发者能够高效地构建跨...

Global site tag (gtag.js) - Google Analytics