RE [TL] {讨论}零起点,一年成为高级Windows 程序员的最佳学习路线

回复一下这篇文字http://groups.google.com/group/pongba/browse_thread/thread/2c4aef6e89cfd362/adda28b8d29a93b7?show_docid=adda28b8d29a93b7

多少也算是个windows下的MFC常用的程序员,谈谈个人看法。

1,Essential C++这本书不是高阶的,如Milo所言,另外也不算是初学的,我翻看过钱能那本书,如果是follow了国内的教育体系,这书可以看。

2,这个学习路线基本上用处不大,每天8小时,那么这个人既不学习也不工作,只是为了学而学,傻啦。学东西要有个目的,为了赚钱或者为了乐趣或者为了泡妞,没有目的的长时间学习是无法坚持的。

3,”吃透“这个词很有意思,楼主写了比党更长久,不知能否做到,但我相信,一定会比里面提到的一些技术活的更长久,所以只要吃透本质性的东西就好了。比如算法、操作系统、内存管理、socket编程、消息循环机制、多线程编程基础等等,其它的,真的没有必要吃透,会用就好了。样样想精通,只能痒痒稀松。哪些东西算是本质性的,我有一个办法,可以去图书馆看看10年前的计算机书,如果那些书还有用,还有人推荐推广,那个技术应该算是本质性的了,时间是最好的标杆。

4,MFC不必深学,照猫画虎即可,MFC的好处是他所有的源代码都给你,可以读,可以改,可以模仿克隆。而且MFC没有死,VC2010依然对它继续加强,Windows系统下搞界面设计还是用它比较容易。

5,SDK是否需要深学,也未必,我的感觉是知道大体有什么,到时候能查到就OK,SDK的开发例程是基于C的,所以跟你前面推荐的不太配合。另外有没有必要非得学SDK呢?还是有些怀疑的,MFC也好,ATL也好或者WTL也好,都对SDK做了包装,就是让程序员更简单的使用,非得赤裸裸用SDK的时候很少,这个投入产出比例就不合算了。当然,我说的是操作系统的SDK,其它的不论。

总而言之,一年这个期限是远远不够的,而且一年的程序员,眼界或者能达到的水平是有限的,开发这件事其实就是个熟练工种,除了少数计算机科学家,大多数人都是在重复做工。只要有心,从小工达到工匠的水平并不难,但是需要时间,看看过去的学徒如何出师就知道了。小工算是一般程序员的话,工匠也就是高级程序员了,大师嘛,可望不可及,就不说了。

img.ly yfrog图片上传程序 – 玩玩google appengine

这两天晚上没事,做了个appengine上的玩具(toy software),可以把我指定的图片url存放到http://imgur.comhttp://img.ly  http://yfrog.com,由于imgur以及img.ly在大陆可以访问,可以作为一种博客图片的保存方案。

代码很简单,放在gist.github.com上面了。由于img.ly和yfrog需要twitter验证,所以你需要有一定的翻爬这个wall墙的手段。把下面代码中developer key以及twitter的用户名密码部分替换成你自己的就可以用了。

如果要用的话,只要包含这个py文件,然后在appengine上建立一个新的url route就可以了。这些就不详述了,大家可以参考appengine的文档。

需要注意的是imgur有时效性,3个月不浏览一次文件会被删掉,所以img.ly算是现阶段最好的方案,缺点是需要把图片读取成二进制才能上传,做不到url方式上传(imgur和yfrog可以的)。

Lua游戏开发的最基本常识game development common sense

国内搞游戏开发的常用脚本语言大致两种(Python与Lua),其中刚入行的游戏开发者都会有类似的问题:Lua该怎么用?谁为主谁为辅?C++与Lua该如何交互?

最近浏览stackoverflow发现这几个不错的帖子,分享给大家:

http://stackoverflow.com/questions/2674462/lua-and-c-separation-of-duties

Lua与C的责任分配问题。

http://stackoverflow.com/questions/2685636/lua-game-state-and-game-loop

游戏大循环(game loop)该如何维护?

——————————————

另外国内网易云风的博客上也零零散散有些内容,可以参考。

我不是游戏开发业者,所以也不好发表什么建议。但是我想比较重要的一点,也是在程序设计理念上一直强调的一点是:你要知道你要做什么,你想完成什么功能需求。

有些人话都说不清楚,就想搞游戏设计开发。脑子里都是浆糊,怎么可能设计出清晰的程序逻辑。找一支笔一个本子,先把你的需求想法列出来,画个交互关系图,把时序逻辑理清了,该如何设计如何开发也就容易多了。其实这也就是常识性的东西,只是现在不少人浮躁的连常识都没有了。