为什么现在小弟我要学习
windows和UNIX到底要学习哪个,在网络上的讨论早已经尘埃落定,UNIX以无可争议的优势击败windows.是的,如果你真的想成为优秀的程序员,学习UNIX是你的不二选择.windows确实无法学习到任何的编程技能(可能太绝对了).
这也是为什么刚开始的时候我从来不碰C#和Java的原因.但是似乎我因为UNIX而曾经走上了一条貌似危险的路.
我毕业于一所三流大学,自己又不是计算机专业,主要是大三遇到C++而深深的喜欢上了编程.那时候我上网搜索了很多的资料,是学习windows还是UNIX,结果网上给的答案确实是一边倒:UNIX.然后我就接触UNIX去了.
参加工作了以后,是在windows下编程的.但是那时候学习UNIX已经给了我一颗孤傲的心,或者特别鄙视windows下编程的人员.每天我都会抱着<UNIX环境高级编程>看着,在自己的虚拟机上学习着UNIX下的方方面面.但我发现了一个问题:
我现在这个阶段根本不适合学习UNIX.
在windows下编程,但是我却学习UNIX的东西,导致上级对我强烈的不满(这是我做错的第一件事).而且学习UNIX实际上却是需要一定的基础(C,数据结构,操作系统知识),但是我的基础却很不好(这是我犯的一大错误),而且工作上根本就没有用到UNIX的方方面面,说白了我白学了.
但也感谢UNIX,为了学好UNIX,我重新学习了C(C语言的学习推荐三本书:<C和指针>,<数据结构:C语言版>和K&R),学习了数据结构,学习了少许的操作系统知识.我开始补好自己的基础.但是我因此离开了第一家公司,其中绝大部分的责任出在我的身上:毕竟,公司是在windows下编程的,你捣鼓什么UNIX啊.
我也认识到:实际上网络上说UNIX好的人,往往是那些高校的高材生,或者是那些大牛们.他们确实厉害,大学就看完<算法导论>,学完<编译原理>,有的还看了<计算机程序设计艺术>,他们确实因为能力太强所以确实可以研究UNIX,但是对于某些热爱编程,但是又没有好的基础的人来说(我大三接触编程,然后花了大学最后的两年时间只做了两件事情:学习C++和花了半年的时间开发一个MFC程序,即使这个MFC程序在我今天看来也许只要用一天的时间完成,而当时我确实花了半年...),也许学习更简单的windows程序对他们的职业生涯更有帮助.
现在,我回到武汉工作了,依旧从事windows下MFC的开发.我庆幸自己没碰C#,但是学习了Java,感觉确实比C++差了很多.如今把自己当做了一名应届毕业生来看待,开始看<windows程序设计>这本书,学习windows编程的来龙去脉.我也很高兴自己依旧对UNIX感兴趣,打算在windows编程的功力达到一定的阶段后,去深入研究UNIX.
我看过最好的一段关于C++和Java的论断,来自刘未鹏的<暗时间>:
不要再去争论学习C++还是学习Java了,因为优秀的程序员,无论是C++还是Java,是都要学习的.