当前位置:  开发笔记 > 编程语言 > 正文

.NET会随时接管C/C++吗?

如何解决《.NET会随时接管C/C++吗?》经验,为你挑选了6个好方法。

这是一个主观问题.

在进入.NET空间之前,我在Visual Basic 6.0中工作过.

有一点我看到有很多东西,需要处理Win32 API.作为Visual Basic 6.0开发人员,存在很多限制..NET修复了一些旧问题,但是依赖Win32的需求还没有得到解决.

是否有任何时候不需要依赖Win32?(我想只有当.NET在操作系统级别提供支持时才会这样做.)

据我所知,.NET(写作领域LOB应用程序/网站)和C/C++不同的是,到目前为止.

.NET或任何其他基础架构真的可以使C/C++不那么重要吗?我期待太多了吗?

编辑:难道不是模样,建筑包装在另一包装(和带来新的一套复杂的沿与它)?



1> Brian Genisi..:

它不会很快消失,但在Windows中,至少,使用C/C++的新项目越来越少.你甚至可以看到微软开始吃自己的狗粮的例子.

一个很好的例子是C#编译器.目前,它是用C/C++编写的.C#团队目前正在使用托管代码重写它.其中一个重要原因与.NET中的CAS策略有关.调用非托管代码需要FullTrust,因此编译代码也需要FullTrust.当他们转移到托管代码时,这种限制就会消失.

随着越来越多的开发人员将.NET作为他们的开发平台,我们看到微软效仿.

另一个很好的例子是Visual Studio 2010.它们使用WPF和MEF重写IDE的大部分内容,以便它可以轻松扩展.

接下来,查看Silverlight运行时.它根本不依赖于(特别是)Win32.它在Mac上运行,就像在Windows上运行一样.随着Silverlight变得更强大,我们可能会发现许多目前依赖Win32的.NET调用不再这样做.

我想我的观点是,我们至少开始在Windows世界中看到一些变化.

当然,只要你需要更加跨平台,C/C++就会变得更有吸引力......



2> BobbyShaftoe..:

不是很快.如果有的话,他们不会在不久的将来重新编写.NET中的内核和核心API.人们一直期待C离开很长一段时间,我只是没有看到它发生.



3> recursive..:

.NET已经在其设计的域中接管了C/C++.在.NET中编写设备驱动程序或其他系统级别的东西的人并不多.但它擅长于业务应用程序,这可能构成了大部分编程工作.

即使是C/C++也没有消除人们在某些情况下编写程序集的需要,因此.NET不可能消除它.但它并不意味着.



4> Colin..:

在某些情况下,C#/ .NET永远无法取代C/C++:

    目标计算机没有.NET运行时环境,您不能/不想强制安装.(这也是Java或Parrot/Perl6的问题).如果目标具有比您的程序更旧的.NET环境版本,这也可能是一个问题.

    代码需要在Windows,Linux或OSX上运行.即使是Mono,C/C++也比C#更便携.



5> James Curran..:

好吧,首先,MS 正在开发基于托管代码(.NET)(Singularity)的操作系统.现在,这只是一个研究项目,所以不能保证会有任何结果,但它确实显示了MS的想法.

接下来,我们必须考虑,我们是关于Windows世界还是一般的计算机应用程序.C#并未在Linux/Unix世界中取得重大进展,因此C/C++将在那里保持强势.

如果我们仅限于Windows,那么我认为,对于新的桌面应用程序,.NET可能已经通过了C/C++(由于现有的代码库,C++仍然具有整体优势).但是,对于Web开发来说,C/C++从来都不是很大,所以.NET很久以前就通过了它们.



6> Dan Hewett..:

这类似于我的教授在20世纪80年代早期所说的 - 帕斯卡应该用于一切.我不这么认为.不同的语言有不同的目的.问题是人们往往只看到他们领域的事情.我从事建模和模拟工作,有时接近金属工作.C++是我的语言.我希望它不受管理,没有GC.我不在业务/数据库领域工作,因此所有C#/ Java/Beans/J2EE TLA都没有为我带来任何东西.


我可以说教授们,他们一个人,他们很少有责任把垃圾放到你的头上.
推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有