Visual C ++ vs Visual C#,这是最好的学习方法吗?

我已经完成了我的C ++类和实践,之后我开始使用Ivor Horton的Visual C ++学习Visual C ++。 问题是我无法理解本书的语言,并且很难理解代码。 我想学习Visual C ++ for Windows应用程序开发并使我的未来(也因为我已经了解C ++)。

我的一些朋友告诉我切换到C#,因为它有很多库函数来创建GUI等,并告诉我在Visual C ++中编写Windows应用程序很困难。

现在在这些假期我将参加课程,你能帮助我,我应该坚持哪种语言,哪一种很容易?

从一开始我就想学习Visual C ++,有时我觉得在我不理解参考书等概念时很难。

非常感谢任何帮助,非常感谢您花费宝贵的时间。

Visual C ++和Visual C#不是语言,也不是GUI框架 ; 它们是集成开发环境 – IDE。 这意味着它们是针对开发任务量身定制的文本编辑器。

Visual C ++允许您使用C ++编写代码,Visual C#允许您使用C#编写代码。 此外,两者都允许您以点击方式创建GUI。

听起来你真正想做的是创建GUI。 在这种情况下,如果没有进一步的信息,我建议你去C#。 它是一种比C ++更清晰的语言,它有更少的方法可以自己动手,并且可以访问非常有用的.NET框架。

C ++没有的C#特性:

  • 全自动内存管理
  • Lambda函数 ¹
  • 类型推断 ¹
  • reflection
  • 远程处理
  • 自动序列化
  • 真正的实体类型
  • 属性
  • 通过LINQ进行数据库集成
  • 通过LINQ实现方便的function式编程
  • 没有头文件
  • 没有未定义的行为
  • 与多种语言直接互操作
  • 编译一次,到处运行

¹这些function已经添加到C ++的C ++ 11标准中。

C#没有的C ++特性

  • 模板元编程
  • 类型定义
  • 零开销原则
  • 强制执行const正确性的方法
  • 成熟的编译器现在可以生成极其优化的代码
  • 更广泛的平台支持

你能帮助我,我应该坚持哪种语言,哪种语言容易。

一般来说,如果您的目标是开发Windows应用程序,您可能会发现许多更简单的示例要在C#中学习而不是在C ++中学习。 围绕C#进行Windows GUI开发有一个庞大的社区。

话虽这么说,您所需要的许多概念在您学习的任何语言中都是相同的。 你不可能真的出错 – 在某些时候,如果你打算专业(以及其他人),你可能想要学习两种语言。

我认为当我不理解参考书等概念时,这很难。

你应该得到一本初级编程书,而不是参考书,并逐步完成。 如果您的目标只是GUI开发,我会推荐一本好的,简单的C#书,并从头到尾逐步完成,并完成所有示例。 从“参考”书中学习是行不通的 – 它是参考资料,而不是教授概念。

C#是用于在.net框架上开发应用程序的premeir .net语言。

Native C ++更具跨平台和低级别。 它用于编写windows,mac,linux,嵌入式系统等应用程序。

C ++ .net是适用于.net平台的C ++,主要用于编写应用程序的性能关键部分(其余部分是用C#,VB.net或其他东西编写的,因为它们几乎无缝集成)。

Visual C ++是microsoft用于C ++的Windows编译器,可用于编写本机和C ++ .net应用程序。

在C ++中编写.net应用程序要比在C#中编写它们要困难得多,因为你必须处理更多的低级问题。 如果你想编写.net应用程序,我建议你使用C#和C ++ .net。

使用C ++,您可以触摸编程中“汇编事物”部分附近的“低级别”

c#绝不是为了击败c ++而创建的,使用c#可以获得整个.net框架实用程序,更快更清洁的代码,缺少“低级”部分

C#主要用于业务应用程序,如Java。 Visual C#是Microsoft的C#编程语言规范的实现,包含在Microsoft Visual Studio产品套件中。

C#比C ++慢得多,因为代码通过了CLR。 VC ++ .net也有同样的缺点。

VC ++很难学习,所以作为MFC和Windows编程,即使你了解C ++。 但它是一种享有声望和高效的语言。

很容易从VC ++切换到VC#。 但反过来更难。

如果你去VC ++,MFC和Windows编程,试试这个 。

作为专业人士或业余爱好者,也许可以考虑将来可能要做的事情。 编程是一个广泛的领域,两种语言都有其自己的位置。 如果您做出决定的时间太早,那么C#最有可能在将来对您有益。

值得记住的是,它们都只是语言 – 正如编写一本好书不仅仅是正确的拼写和语法,编写好的代码不仅仅是特定语言语法的细节。

我会学到两者。

话虽如此,我将使用C#创建GUI / Application项目,并使用VC ++进行任何COM或设备通信。

我会查看我应该使用哪个平台:原生C ++或C#?