对于 "路" 的选择
在这个月之前,我还在拼命的学习 C# 语言和 .NET 平台中的技术。
可是,我突然发现这并不是我要走的路,为什么呢?
我本人喜爱 C/S 架构程序的开发,入门之后就一直学习和使用 C# 语言 和 Windows Forms 技术。
近两年来,一直周旋于 .NET 平台中,先后学习了 WPF、Silverlight 以及 WCF 等相关技术,不过这些技术对于我来说,都只能算是入门,因为学习的时间很短。
从这个月月初,我就一直在做 Windows Forms 的自定义控件和窗体,例如有:ColorPicker、ScreenKeyboard 等控件,还有自定义的类似于 QQ 一样的窗体,也比较好看。
做这个窗体我重构了不下 10 遍,最终的效果还算挺不错的,当时自己也很满意。
单独运行窗体时性能还算不错,当我将窗体应用到程序中时,在 VS 中窗体加载时背景图片很闪烁。
由于我做了渐变的效果,所以窗体运行、最大化、最小化时都是渐变效果,也挺好看的。可是性能上面却大大降低,这让我很苦恼。
我本人是那种 "要么不做事、要做就一定要做好" 这样的人,所以程序的外观我十分的重视,功能方面我也有自己的要求。
为了在这两者之间寻求平衡,我想到了使用第三方控件,先后用了 DevExperss、Telerik 这两家公司的控件,但都不是我想要的。
于是,我便一直在想这个问题的解决办法。
针对我自身的这种性格,我想 Windows Forms 肯定是满足不了我的,那我到底要不要继续做 Windows Forms 呢?这是我想的第一个问题。
对于界面的要求,让我萌生了自己做一个 UI 引擎的想法,但 C# 语言根本无法实现我这个想法,我到底是放弃 C# 还是放弃我构建 UI 引擎的想法呢?这是第二个问题。
如果我要构建自己的 UI 引擎,势必是要去学习 C 和 C++,都说这两种语言比较难,我该如何去学习这两种语言和其相关的技术呢?这是第三个问题。
这三个问题我想了好几天,反反复复。
其实问题并不在于 UI 引擎的实现,或者说 Windows Forms 不能满足我的要求;而是说我今后该走哪条路?就等于在 C# 和 C/C++ 之间进行选择。
就难易程度而言那肯定是 C# 简单、容易,但如果站在今后发展的道路上来看那 C/C++ 肯定是不二的选择。
我想了又想,终于在 11月11日 那天决定了下来,我选择了 C/C++ 这条路,原因大家应该都很清楚。
当初我是 C# 入的门,可是我现在发现:学程序还是要从 C 开始学起,趁我现在还很年轻,那就从头来过。
就好比我 重构 Windows Forms 窗体一样,我也重构一下自己的未来。我想在 C/C++ 这条路上,我一定会努力、努力再努力,坚持、坚持再坚持的。
加油!