我为何不是top coder

     在写下这个标题的时候,我经历了长久的痛苦思考,我并不是计算机专业,但是我期待能够在这个方面有一定的成就。两年前我给自己说,要成为一个号的coder,而两年后,我还在写这篇文章,说明,我并不是。所以,我在思考,为何没有太大的进步?我喜欢C++,在这个方面也付出了相当的努力,但是我并没有找到一份关于C++的工作,反而因为仅仅面试前只自学了三个晚上的VBA而找到一份不错的工作(其待遇比我当PHP程序员时要好很多)。这给了我很大的讽刺,当我醉心于学习《C++ Primier》,《MFC深入浅出》,《Effective C++ 》等等书籍的时候,我才发现语言并不是关键。

    编程序的目的是解决问题。我相信当大家看到int *p[5] 和 int (*p)[5] 的时候,并不一定能够立刻反应出它们的区别,但是,这又何妨呢也许对于一个程序员来说,也许一辈子都不会用上它们。问题的关键就是,你的问题能够解决?我以前经常在搜索“c++有没有前途?” "学c++还有用吗?"等等问题,现在我才发现,这个问题本身就没有意义,我们不能成为语言的奴隶,学习语言不是目的,而是手段,就像语言的本质是交流传递信息,而不在于形式。也许C++会被遗弃,但是我相信到那时已经出现了比它更好的东西,目前它所强调的性能,也许早已不是问题。在编程社区了,我们总是很崇拜那些掌握语言细节很扎实的人,因为我们问的问题往往也是一些小问题,所以导致我们更多地关注语言细节,而忽略了问题的本质(也许换个算法就解决了呢?)。除非你在研究语言本身,不然我觉得对于大部分的人来讲,这些细节用处很小。有些人,当然包括以前的我,总觉得要完整系统学习一遍才能够安心,要掌握语言的全部细节才能着手编程,才能够成为所谓的高手。到这个层面,我觉得这种想法已经沦为一个心理学问题,不过是心理安慰罢了。真正的高手我相信必是一个善于解决问题的大师。

    所以,我觉得学习编程的最佳切入点,并不是《**语言入门》而是以问题带动的例子教学。以解决问题切入编程,而不是学习了语言才能解决问题。我相信这不仅是一个简单的学习问题,而是一个人内心看待这件事情的哲学问题,你怎么看待这件事,兴许会影响你未来很长的一段路。而现在的我,需要重新看待它。

    语言是我的工具,而我不是工具的奴隶。

$x=\frac{{-b}\pm\sqrt{b^2-4ac}}{2a}$

posted @ 2013-09-05 14:32  理想空间  阅读(612)  评论(0)    收藏  举报