所以我目前正在学习C ++作为我的第二语言。从C#转移,因为我觉得C ++是一个很好的工具集。
现在我知道基础知识和不是什么我决定创建我的第一个应用程序,它将是一个字符串&字节数组加密器。基本上是一个带有简单GUI的应用程序,有几个按钮,文本框等等。 所以我开始查看一些类似于此的开源项目,我发现的所有项目都是作为控制台应用程序制作的?我发现这非常奇怪,因为我查找的大多数C#项目都是90%使用GUI制作,而不是基于控制台。
为什么人们使用控制台应用程序来创建项目?在进一步学习这门新语言之前,我应该知道一些事情吗?
答案 0 :(得分:4)
人们做使用C ++编写GUI - 您目前正在查看的浏览器几乎肯定是用C ++编写的,许多其他复杂的高性能桌面应用程序也是如此。但是,这样做并不容易。如果您只想淘汰性能不重要的业务线应用程序,C#和Java等语言更易于使用 - 这正是它们的设计目标。
人们编写“控制台应用程序”(即没有复杂用户界面的程序),因为对于许多任务,您根本不需要GUI。例如,编译器或数据库引擎不需要这样的东西。
答案 1 :(得分:0)
为什么人们使用控制台应用程序来创建项目?
有时我们不需要图形用户界面,一个带参数的命令就足够了。 GUI需要更多的时间进行编程。
在进一步学习这门新语言之前,有什么我应该知道的吗?
在我看来,C ++不是GUI的最佳选择。您需要考虑您的平台,Windows,Mac,Linux或浏览器。还有其他更好的选择,比如Java提供了良好的UI库,并且感谢JVM进行平台调整。浏览器(Web应用程序)是另一个令人惊叹的领域,是Javascript是国王。
答案 2 :(得分:0)
标准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都无法满足用户的需求。这种类型的东西是为什么许多具有用户界面的系统 - 网络浏览器等 - 都是用C或C ++编写的。虽然使用其他语言编写漂亮的GUI更容易,但通常更难以使后端功能有效地工作,而C或C ++通常更适合。