我之所以想学习C,是因为我对构建在JVM和.NET之上的应用程序的UI性能感到失望.他们感觉很慢,而且开始也很慢.当然,一个非常糟糕的程序员也可以使用C创建一个更慢,更缓慢的应用程序,但我不考虑这种情况.
我最喜欢的Windows实用程序应用程序之一是Launchy.在Readme.pdf文件中,程序的作者写了这样的:
0.6 This is the first C++ release. As I became frustrated with C#’s large
.NET framework requirements and users
lack of desire to install it,I
decided to switch back to the faster
language.
我完全同意Launchy的作者关于.NET框架要求甚至桌面应用程序的JRE要求.更别说它们的具体版本了.一些最好的和我最喜欢的桌面应用程序不需要运行.NET或Java.它们只是在安装后运行.它们大多是使用C构建的吗? C是基于GUI的良好和快速应用程序的唯一选择吗?
而且,我也非常有兴趣听听学习C的其他好处.
解决方法
我之前在C代码中编写过一些小型Windows应用程序,在速度和部署简易性方面肯定有好处,但代价是开发难度不高. C可以非常快速,原生编译,具有许多现代语言功能和广泛的支持.权衡的是,您可能需要在某些情况下编写更多代码,或者寻找像Boost这样提供您所需功能的库.
作为一名程序员,在C语言中工作,尤其是在C语言中工作是一种很好的经验,可帮助您理解与.NET,Java或脚本语言(如VBScript,Python,Perl等)相比更接近机器的东西.它不一定让你成为一个更好的程序员,但如果你愿意从中学到新的教训,你会发现它可以帮助你获得对软件的新视角.毕竟,您所依赖的大多数框架和系统都是用纯C编写的,因此理解基础绝不会让您受到伤害. C是与C不同的动物,但是如果你用C开发适用于Windows,你可能会发现自己使用C和C混合使用Windows API,因此它会产生涓滴效应.