为什么人们不使用C++;对于GUI和控制台应用程序? 我目前正在学习C++作为我的第二语言。从C++中移过来,因为我觉得C++是一个很好的工具集。

为什么人们不使用C++;对于GUI和控制台应用程序? 我目前正在学习C++作为我的第二语言。从C++中移过来,因为我觉得C++是一个很好的工具集。,c++,.net,user-interface,console-application,C++,.net,User Interface,Console Application,现在我知道了基础知识,但什么都不知道,所以我决定创建我的第一个应用程序,它将是一个字符串和字节数组加密机。。基本上是一个带有简单GUI、几个按钮、文本框等的应用程序。。 所以我开始研究一些类似这样的开源项目,我发现所有这些项目都是作为控制台应用程序开发的?我觉得这很奇怪,因为我查找的大多数C#项目90%都是用GUI制作的,而不是基于控制台的 为什么人们使用控制台应用程序来创建项目?在我深入了解这一新语言之前,有什么是我应该知道的吗? < P>人们确实用C++编写GUI——你现在正在浏览的浏览器几

现在我知道了基础知识,但什么都不知道,所以我决定创建我的第一个应用程序,它将是一个字符串和字节数组加密机。。基本上是一个带有简单GUI、几个按钮、文本框等的应用程序。。 所以我开始研究一些类似这样的开源项目,我发现所有这些项目都是作为控制台应用程序开发的?我觉得这很奇怪,因为我查找的大多数C#项目90%都是用GUI制作的,而不是基于控制台的

为什么人们使用控制台应用程序来创建项目?在我深入了解这一新语言之前,有什么是我应该知道的吗?

< P>人们确实用C++编写GUI——你现在正在浏览的浏览器几乎肯定是用C++编写的,就像许多其他复杂的、高性能的桌面应用程序一样。然而,这样做并不容易。如果您只是想淘汰性能并不重要的业务线应用程序,那么像C#和Java这样的语言更容易使用——这正是它们的设计初衷

人们编写“控制台应用程序”(即没有复杂用户界面的程序),因为许多任务根本不需要GUI。例如,编译器或数据库引擎不需要这样的东西

  • 为什么人们使用控制台应用程序来创建项目

    有时我们不需要图形用户界面,一个带参数的命令就足够了。GUI需要更多的编程时间

  • 在深入研究这门新语言之前,我应该知道些什么吗

    在我看来,C++不是GUI的最佳选择。您需要考虑您的平台、Windows、Mac、Linux或浏览器。还有其他更好的选择,比如Java,它提供了良好的UI库,这要归功于JVM的平台适应性。浏览器(Web应用)也是另一个令人惊奇的领域,是的,Javascript是王者

  • 标准C++包括“控制台”输出。它不包括任何GUI工具。这有很多原因-最明显的是,很多C++开发人员针对的设备没有屏幕,更不用说GUI了。

    这意味着C++中与GUI相关的任何东西都使用第三方库或框架,它们面向特定平台(操作系统等)或感兴趣的平台。存在许多高质量的库/框架,但它们彼此不同。其中一些是多平台的

    当学习C++时,尝试编写一个GUI程序是没有什么意义的。学生将花更多的时间学习特定的GUI库的细节而不是C++本身。了解GUI库是很好的,但是对学习C++没有多大帮助。当学习另一个GUI库或框架时,学习通常仅部分相关

    学习C++的学生(是的,即写控制台应用程序而不是GUI程序)将掌握代码构造(函数、类型定义等)如何组合的工作知识。从那里,更容易理解为C++开发使用的GUI框架的文档——因为这样的框架的文档通常假定C++知识,并且从那里延伸。 当然,这意味着C++的学生如果需要开发一个GUI——必须决定使用什么GUI框架。然后是学习它的努力。但是,无论何时选择学习/使用新的GUI框架,都不需要重新学习C++。


    有很多任务是不需要用户界面的,并且C++不强制(或拖动)开发人员编写用户界面,除非它们需要。这使得人们的注意力集中在程序的“后端”——它所做的计算,而不是结果的显示方式。当一个象形的GUI放在前面时,结果是一个更好的系统——无论GUI是用C++编写的(使用相关的框架)还是其他语言(使用技术来在不同语言编写的代码之间通信)。用户体验既基于GUI的视觉方面,也基于后端支持该GUI的效率(响应时间、健壮性、处理或报告后端错误等)。无论使用哪种语言,一个设计良好的GUI和一个设计糟糕的后端对用户来说都不能很好地工作。这类事情就是为什么有许多用户界面的系统——Web浏览器等等——用C或C++编写。虽然使用其他语言编写一个漂亮的GUI比较容易,但后端功能也常常更难有效地工作,C或C++往往更好。

    注释:这是一个“意见”风格问题。它可能很快就会关闭,因为它不是这个网站真正关注的内容,这种问题引发了愚蠢的争论。我个人的观点是:一种语言越抽象和图形化(例如,C#优于C++),它的开发速度就越快。在接口方面,C语言比C++更快,所以更多的人使用C语言来实现接口。然而,这种抽象会降低编程效率。因此,当你有时间和金钱和专长来关注细节级别时,使用C++(甚至C或汇编在真正的性能关键应用程序)有很大的意义。但有时,“使用性能昂贵的内存管理加快开发”是一个更好的解决方案。C#使用GUI,所以我假设您使用的是Windows。看一看快速介绍。在纯C++中编写Windows GUI并不难,但是这样做确实非常乏味。建议:学习它。一旦你认识何