Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


21天速成 C++?编程生涯的一点思考

2016-6-3 14:42    评论: 5 收藏: 3    

之所以决定学习C++,是因为我对游戏引擎开发和机器人微控制器编码等很感兴趣,这些工作无一例外地要求掌握C和C++等相对低级别的计算机语言。之前我做过的图形和音频编码工作也有很多都是C++资源的,所以我想,不系统地学一下恐怕不行。

多年来,身边有不少人要我对C++敬而远之,说它跟Swift相比,多么不严密,不好用等等。我对C++不甚了解,实在不好评判。

我注意到市面上有很多C++入门教程,现在我读的是Beginning C++ Through Game Programming,虽然里面“for”循环语句等概念我已熟知,但这本书对于使用C++还是很有用的。我信奉实践出真知,当初是跟着Big Nerd Ranch指南一步一步实践着,学会iOS编程的,所以看书之余,上手练一练C++找找感觉很好。

话虽如此,这本跟培训班所教内容大同小异的C++入门书籍最大的价值在哪里呢?吃透这本书就能进入C++高级技能的大门吗?

Bjarne Stroustap写了很多C++的书,不论是没耐心的,没胆量的,还有盲目自信的,都能在其中找到自己适合的。

提到了入门教程,那么高级教程又长什么样呢?我最初学的是iOS框架的Objective-C,而当时市面上iOS有关的书都是入门级别的,可以找到Swift的书籍,但没有入门或者高级教程。大部分iOS及其相关技术的“高级教程”也都是讲框架和API的。还能找到OpenGL(iOS)、AVFoundation和Core Data的书。但是并没有iOS高级教程。如果有本高级教程,那内容上也应着重帮助程序员熟悉iOS语言UIKit,以及教授如何看懂其他框架文件。

到底哪里去找C++高级教程呢?如何成为C++大牛?可持续软件执行的经验对C++能力培养有用吗?什么样的项目能帮助提高C++能力?C++跟iOS或Java一样,库是重中之重吗?既然市面上有iOS库的书,是不是也有C++库的书呢?

程序员能力上的参差不齐很明显。很多人觉得干得久了,能力就高了,未来五年有没有进步一点都不重要,也不在乎认真提升自己能力。都想证明自己优秀,都恨不得昭告天下自己多么在行,但很多人根本不理解什么是“优秀”,更不知道“优秀”跟“菜鸟”之间差别有多大。

好长一段时间,我都觉得理解设计精髓能够造就“优秀”,但其实编程的“终极大法”不在于此。现在我的想法变了:理解要解决的问题,写出“菜鸟”都能看懂的代码才是“优秀”。未来随着年龄增长,也许对“优秀”的理解还会改变吧。

一本指南能够帮你学会“for”循环,却不能囊括所有编程经验。不过至少指明一条路,让学习着磨练自己的技能。“优秀”到底体现在哪里?一个项目有能耐写十组代码吗?一个框架用5年?

以前很多人觉得开发一个应用放在商店里就是“优秀”——真的是这样吗?很多应用没过多久就被用户抛弃了;如果开发出应用就沾沾自喜,而不是老老实实回去改进自己的代码的话,你还嫩了点。

抛给我一个项目,我会整整两周都小心翼翼,不敢破坏任何代码,然后再被拽去做别的项目;有时候没有需要解决的问题,或者项目不太可能成功等等。这些情况下要提高技能很难。最初从事编程时,我遇到过这种事,好在现在已经熬出了头。如果再回到过去,我仍然不晓得怎么做才好。单打独斗成功的可能性微乎其微,从他人那里学习才能有大的进步。

我喜欢那种需要投入好几年时间跟团队合作完成的复杂项目或框架。现在我正在寻找一个开源项目,这样能激励我朝更高水平迈进。而且我也想要了解,为什么人人都讨厌C++,说不定某一点突然恍然大悟了呢?但仅仅依赖抽象的书籍恐怕达不到恍然大悟的水平。

面试C++工作时,如果无法证明自己能够躲过C++的雷区,估计也得不到offer;但要积累经验,就得实践才行。有时候觉得,我们都只是在机械重复自己的工作,并没有真正提高自己,关于这个问题,每个程序员都应该有深入的思考。

 

发表评论


最新评论

我也要发表评论

shjhcx [Firefox 47.0|Windows 7] 2016-6-17 09:11
有点意思
1 回复
来自广东深圳南方科技大学的 Chrome 50.0|Chrome OS 7978.74 用户 2016-6-6 16:35
这个时候是不是应该说一声,PHP是世界上最好的语言?2333
2 回复
hello_linux [Firefox 45.0|Windows 7] 2016-6-5 10:43
哈哈哈哈。长路漫漫!
2 回复
来自江苏苏州的 Microsoft Edge 13.10586|Windows 10 用户 2016-6-4 04:16
1
来自广东深圳深圳大学的 Chrome 51.0|Windows 10 用户 发表于 2016-6-3 15:20 的评论:
没看懂作者到底想表达什么
入门是简单的而更上一层楼是艰辛的
3 回复
来自广东深圳深圳大学的 Chrome 51.0|Windows 10 用户 2016-6-3 15:20
没看懂作者到底想表达什么
回复

热点评论

来自江苏苏州的 Microsoft Edge 13.10586|Windows 10 用户 2016-6-4 04:16
入门是简单的而更上一层楼是艰辛的
3
来自广东深圳南方科技大学的 Chrome 50.0|Chrome OS 7978.74 用户 2016-6-6 16:35
这个时候是不是应该说一声,PHP是世界上最好的语言?2333
2
hello_linux [Firefox 45.0|Windows 7] 2016-6-5 10:43
哈哈哈哈。长路漫漫!
2
shjhcx [Firefox 47.0|Windows 7] 2016-6-17 09:11
有点意思
1
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。