![bc64ec4ab26c67e43166a4c71afd2a34.png](https://i-blog.csdnimg.cn/blog_migrate/5ff0de0c51c2edf914c3ffd8fbc699fe.jpeg)
8点,在健身房跑步机跑步,路边摆小摊的长沙臭豆腐味道透过窗户刺激到了我的大脑,于是思维开始穿越回到了11年。
那个时候准备找份开发工作的我在练习编程,买了本1000多页的MFC编程实战加加光盘开始各种练手。在奔腾4,3.1赫兹单核cpu老爷机上装了一个最古老也是最经典的Visual Studio 6开发环境。还有一个Access用来做数据库。
一开始写的一个内网的类似QQ聊天工具,通过MFC的可视化编辑器拖拽生成一个简单客户端聊天界面后开始写事件循环系统,以及自定义Socket套接字写客户端,服务器端通信协议。在同一台机器上不同端口模拟的。对于一个开发小白的我实现了功能之后很有成就感。知道了QQ的实现原理后对其他的软件原理产生了浓厚的兴趣,然后开始练手用UDP写视频监控程序。精简版PhotoShop图片编辑器:放大,缩小,压缩。bmp,png,jpg图片格式之间互相转换,抠图,添加水印...
![90f33fde7ee0e94db913f8c29028c4ee.png](https://i-blog.csdnimg.cn/blog_migrate/f2acd2d1b5b7bde766f1a3660c28c847.jpeg)
接着写网络五子棋,最初版的输赢判定算法要全部遍历所有网格一遍然后记录是否有5个连续一起的棋子。性能很差。记得纠结了一下午后尝试使用贪心算法优化了一版。效果出奇的快。然后乐呵乐呵了一晚上。
快到年底的时候进阶了木马,钩子监听的编写,感觉自己已经可以玩转MFC了。
最后出于兴趣的开发了一个PC版俄罗斯方块和用贴图实现的超级玛丽。这时对游戏产生了兴趣。开始进阶COM编程以及ATL,Direct X高阶游戏引擎领域。
充满自信的我开始了寻找工作,结果发现使用该语言的企业稀少,基本都在使用.net,java。无奈的又转型java。花了一个月时间学习语法,以及j2me,j2ee的函数。之后就一直成为了一名java程序员。
回到现在,如果再问一遍让我选择c++还是java的,仍然会义无反顾的说:"c plus plus of course!"。
为什么?有的朋友会问c++这样的底层语言,指针那么难理解,连垃圾回收器都得自己写,比起java高级语言写一行代码可以代替c++的几十行。它有什么值得吸引人的地方?
我所能说的只有两个字:“兴趣”。
![56a2090c0e8df503d1408570412dac36.png](https://i-blog.csdnimg.cn/blog_migrate/5b948f68a876da1fb76a540e1be40b85.jpeg)
能做聊天工具,算法,游戏的c++是只用来写增删改查的java无法比拟的。5年前的你用java配个javascript写个列表,表单页面,然后开始CRUD。5年后的你仍然在做j2ee的CRUD。你已经把编程只是拿来做一个求职的饭碗。日积月累,千篇一律的重复web系统开发对于“兴趣“这一次早已烟消云散。
这样的你是无法继续成长的!
而c++,当你写完了MFC还有COM,写完了COM还有算法,写完了算法还有游戏引擎...
![68f524720e66ac10f88285b63ace4936.png](https://i-blog.csdnimg.cn/blog_migrate/e4edebc4647058e2cb3ff0b7e6180629.jpeg)
只有兴趣,能让你继续走这条道路,只有兴趣才能让你继续钻研,继续成长
我并不推荐去转行做c++开发,我只是建议你怎么去更好的培养自己真正的兴趣,爱上这个行业!
所以,朋友有时间的话可以尝试一些不一样的东西,可以让你重新找回不忘初心的自我。