学习C++会帮我快速构建本机应用程序吗?作为程序员,它会帮助我吗?还有什么其他好处?
我之所以想学习C++,是因为我对构建在JVM和.NET之上的应用程序的UI性能感到失望.他们感觉很慢,而且开始也很慢.当然,一个非常糟糕的程序员也可以使用C++创建一个更慢,更缓慢的应用程序,但我不考虑这种情况.
我最喜欢的Windows实用程序之一是Launchy.在Readme.pdf文件中,该程序的作者写道:
0.6这是第一个C++版本.由于我对C#的大型.NET框架要求感到沮丧,而且用户缺乏安装它的愿望,我决定切换回更快的语言.
我完全同意Launchy的作者关于.NET框架要求甚至桌面应用程序的JRE要求.更别说它们的具体版本了.一些最好的和我最喜欢的桌面应用程序不需要运行.NET或Java.它们只是在安装后运行.它们大多是使用C++构建的吗?C++是基于GUI的良好和快速应用程序的唯一选择吗?
而且,我也非常有兴趣听到学习C++的其他好处.
是的,C++绝对是伟大的.检查Qt.它也具有出色的Python绑定,因此您可以轻松地在Python中进行原型设计,并且当您需要额外的性能时,移植到C++主要是1:1的转换.
但实际上,编写C++并不是很难,当你拥有一个很棒的平台时,最糟糕的部分是编写所有的类声明:-)
如果你想构建将在没有.NET或虚拟机/解释器等框架的情况下运行的Windows应用程序,那么你唯一真正可行的选择将是Visual Basic或C/C++
我之前在C++代码中编写了一些小型Windows应用程序,在速度和部署简易性方面肯定有好处,但代价是开发难度不高.C++可以非常快速,本地编译,具有许多现代语言功能和广泛的支持.权衡的是,您可能需要在某些情况下编写更多代码,或者寻找像Boost这样提供您所需功能的库.
作为一名程序员,使用C++,特别是C语言工作是一种很好的经验,可以帮助你理解比机器更接近机器的东西,比如.NET,Java或者像VBScript,Python,Perl等脚本语言.它不一定让你成为一个更好的程序员,但如果你愿意从中学到新的教训,你会发现它可以帮助你获得对软件的新视角.毕竟,您所依赖的大多数框架和系统都是用纯C编写的,因此理解基础绝不会让您受到伤害.C++与C语言不同,但如果你使用C++ for Windows开发,你可能会发现自己在使用C和C++混合使用Windows API,因此它会产生涓滴效应.
我编写了10年的C++ windows应用程序,并在大约2年前切换到c#以处理最新产品.C#app的可悲性令我感到尴尬.启动需要20秒,你必须等待一秒左右才能在屏幕之间切换.我使用了一些第三方GUI控件库,这就像筛子一样泄漏内存!我的应用程序运行在150兆,并没有做任何事情.
我期待回到C++.
你可以使用MFC,它会比.Net快得多.或者,如果你真的想要刻录,请查看WTL - 虽然没有太多的文档.我建议你选择MFC或Qt,因为你会找到很多很好的信息和教程.
我可以看到C#可以更快地开发,并且可能在将来的版本中它会更快更小.