什么是真实世界应用方面C,C#和C ++之间的差异 [英] What are the differences between C, C# and C++ in terms of real-world application

查看:135
本文介绍了什么是真实世界应用方面C,C#和C ++之间的差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

正如我早些时候发布<一个href=\"http://stackoverflow.com/questions/388156/what-web-oriented-language-should-i-learn-after-php\">here我决定试试我的手在其中的一个,但给我的利益为Web开发人员,我想知道他们的实际应用中它们之间的区别。

As I posted earlier here I've decided to try my hand at one of these but given my interests as a web developer, I'd like to know the difference between them in their real-world applications.

编辑注:

虽然我是一个Web开发人员,请不要让这限制你的答案。我是30 ...我有多年的职业生涯中改变了我的未来。

While I'm a web developer, please don't let that limit your answer. I'm 30...I've got years of career changing ahead of me.

推荐答案

C和C ++给你的抽象水平较低,与增加的复杂性,提供了访问底层机器功能的广度不一定与其他外露语言。 C ++增加了一个完全面向对象的语言,它能够潜在地增加一个额外的性能开销的方便(缩短了开发时间)。在实际应用方面,我看到这些语言在以下应用领域:

Both C and C++ give you a lower level of abstraction that, with increased complexity, provides a breadth of access to underlying machine functionality that are not necessarily exposed with other languages. C++ adds the convenience (reduced development time) of a fully object oriented language which can, potentially, add an additional performance cost. In terms of real world applications, I see these languages applied in the following domains:

C


  • 内核级软件。

  • 硬件设备驱动程序

  • 在需要访问旧的,稳定的code应用程序。

C,C ++


  • 应用程序或者内存管理需要进行微调(也不能留给通用的垃圾收集解决方案)服务器的发展。

  • 需要访问库不以更现代的管理语言良好的接口
  • 开发环境。

  • 虽然托管C ++,可用于访问.NET框架,它不是一个无缝过渡。

C#提供了一个管理的内存模型,再加一个更高的抽象水平。这个抽象层次的便利增加了,提高了开发时间,但复杂获得较低级别的API,使专业的性能要求问题。

C# provides a managed memory model that adds a higher level of abstraction again. This level of abstraction adds convenience and improves development times, but complicates access to lower level APIs and makes specialized performance requirements problematic.

这当然是可能的托管内存环境中实现极高的性能的软件,但影响的认识是必不可少的。

It is certainly possible to implement extremely high performance software in a managed memory environment, but awareness of the implications is essential.

C#的语法肯定是要求不高(且容易出错)比C / C ++和有,对于发起程序员,较浅的学习曲线。

The syntax of C# is certainly less demanding (and error prone) than C/C++ and has, for the initiated programmer, a shallower learning curve.

C#


  • 快速开发客户端应用。

  • 高性能服务器的发展(计算器例如)从.NET框架的好处。

  • 需要在它是专为语言的.NET框架的好处应用。

约翰内斯罗塞尔使正确的观点,使用C#指针,不安全和未选中关键字通过的层断裂抽象赖以C#建。我想强调的是,类型的节目是例外,大多数C#开发方案,而不是语言的一个基本组成部分(如与C / C ++的情况下)。

Johannes Rössel makes the valid point that the use C# Pointers, Unsafe and Unchecked keywords break through the layer of abstraction upon which C# is built. I would emphasize that type of programming is the exception to most C# development scenarios and not a fundamental part of the language (as is the case with C/C++).

这篇关于什么是真实世界应用方面C,C#和C ++之间的差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆