很多人想成为编程高手,但是常常他们太急功近利了,经常误入歧途。其实编程的路是不平坦的,你会遇到很多的困难。而这些困难很多情况下是需要你一个人解决的。所有你需要一个准备。当然,我的话可能说得重了点,会吓退一些人。但是只要你有强烈的兴趣,一切都不是问题。下面我就想谈谈我的看法:

(1)关于语言,有人喜欢C,有人喜欢Java,还有人喜欢Delphi。这些都不是问题,问题是你是否真正明白它们的思想。比如,你了解递归在汇编情况下是怎么一步一步实现的吗?你知道,虚函数的原理是什么,它是怎么被编译的?VC 反汇编调试后,你能很熟练对汇编代码阅读和理解吗?为什么有人喜欢define,有人喜欢typedef,它们的区别是什么?你的程序够健壮吗?如果是非法输入,程序也能一样安全地处理吗?怎样用对你的程序进行优化?这些都是你在编程的时候需要考虑的问题。也许你已经做过几个项目,也许你编程已经超过了几万行?但是你真正理解了这些语言了吗?

(2)算法。算法这个东西,简直就是程序的灵魂。没有优秀的算法,代码就是一堆废品。我不知道,大家是否真正掌握了算法。其实要学的东西很多。如果你是一个新手,我建议你看清华大学出版社严蔚敏老师的《数据结构》;如果你觉得太简单了,那我建议你看MIT Press的《算法导论》,现在好像有第二版了; 如果你还是不觉得满足,那你就可以看一些理论的书了,这种书到处都是,《数值分析》,《泛函分析》,《矩阵论》,《小波分析》,《随机过程》,多学一点算法只会对你有好处,它让你对问题看得更透彻。就拿数据库来说,你说排序重不重要?当然重要。如果是你去解决?你会用什么算法呢?还是select-all吗?当然不是!如果需要排序的数据量是100万,1000万呢?如果你的排序需要几台机器一起运行呢?这些你都考虑过吗?如果你都想通了、弄清楚了,首先请接受我一拜。其次我推荐你赶快去百度?年薪20万的岗位在向你招手!!

国内的计算机市场是巨大的,但决不是世界上优秀的。真正优秀的也不是爱尔兰,更不是印度,当然谈不上中国了,优秀的程序员大多来自欧洲,北欧,俄罗斯,还有就是美国。李开复说的对,中国大学计算机前5强也未必赶得上美国前50强,但我们正在追赶。我想未来的计算机更多是属于一种服务型的技术,公司的营运收入将主要来自服务内容,在这方面韩国人是走在前列的,虽然我对韩国这个名族很感冒。

(3)English。有很多人抱怨自己的英文不好,其实就是自己懒。想成为优秀的程序员,英语就是你的母语。linux是英语,msdn是英语,codeguru也是英语,很多的handbook和user-guide,Technique book同样都是英语。最近我们同学在做嵌入式,用的是Samsung的ARM9,上面都是英文。所以说,没有英文真的难有长进,不要指望别人替你翻译。你应该想自己怎么样可以翻译给别人。

(4)重视基础。操作系统理论,体系结构,算法,编译方法等等,这些都是你需要考虑的。当你的基础很扎实了,你成功的几率也就更大了。当你看到word的时候,我希望你看到的版面排版的相关算法;当你用google的时候,我希望你想起的是PageRank的相关文献;当你使用导航的时候,你最初想到的应该是最短路径生成算法。

(5)最后就是脚踏实地,不要抱怨,更不要盲从。当大家都在说Ubuntu好的时候,你也说好;当别人骂百度,你有跟着骂百度,这些都是没有必要的。不要太在乎外在的舆论,做好自己事情。现在网上的资源很多,几乎包括了一切。你想学网络,asp,php,jsp;  你想学嵌入式 linux,winCE, C/os; 识别类,指纹,人脸,声音;论文方面,很多大牛都喜欢自己的博客上面,MIT还有很多OpenCourse;三维动画,OpenGL,Direct3D等;程序就更多了,codeguru,sourceforge等等。学学别人的长处,总是一件很开心的事情。

希望文章对你有用。

想成为编程高手,从基础做起相关推荐

  1. 潜心十年,修炼成编程高手

    richardcao 于 2013-01-03 00:00 翻译 |来源:金译通网·译文 Eeach Yourself Programming in Ten Years 潜心十年,修炼成编程高手 Pe ...

  2. 零基础想学好编程!C语言最难啃的 3 块硬骨头,你全吃透了吗?

    提到C语言很多初学者都觉得,学到中间就进行不下去了,因为碰到了几个硬骨头死活翻不过去,于是很多人给C语言下结论太难了,太靠近底层了,特别是那几块难啃的骨头,直接理解不了,进行不下去. 今天就来说下,最 ...

  3. c语言高中毕业后可以自学吗,我是一枚高三毕业生即将进入大学校门 现在完全零基础想从编程入门开始...

    LinkLink 我也不是科班的,编程一直都是兴趣.对于适合哪种语言,要看自己想要完成什么任务才能决定.比如,我帮别人选电脑,总会先问:主要用来做什么.办公就用办公的配置,游戏就用游戏的配置.当你某天 ...

  4. 零基础想学编程,应该学习哪一门语言呢?看看各种语言的简介!

    在学习编程之前,我们还是要搞清楚一件事情,那就是你为什么要学习编程? 是想要获得高额的薪水呢?还是自己对编程感兴趣呢?或者两者都是. 目前在国内只要你是个程序员,那么你基本上都能够拿到一份不错的薪资. ...

  5. 零基础想学编程该如何入门?

    很多零基础的小白想入门编程,但是无奈于编程语言太多,不知道应该从哪里开始入门比较合适.介绍几个主流的编程语言,希望对你有所帮助. 1.Java(排名第⼀) Java功能强⼤,简单易⽤.具有简单性.⾯向 ...

  6. 想学编程要些啥基础?

    随着编程行业不断发展,人才需求量不断增多,想要转行学习编程的人也愈越来越多.但编程毕竟是一门技术,想学编程要些啥基础?许多转行人都在询问,易牛云朗沃总结了以下三点. 1.会基本英语 编程敲的代码就是英 ...

  7. 心目中的编程高手zz, 有点academic风格的说^_^

    2019独角兽企业重金招聘Python工程师标准>>> MIT BBS 上说微软电话面试的一道题就是"Who do you think is the best coder, ...

  8. 真正的编程高手-----激励计算机专业的大学生

    1. Bill Joy     前任Sun的首席科学家,当年在Berkeley时主持开发了最早版本的BSD.他还是vi和csh的作者.当然,Csh Programming Considered Har ...

  9. 【转】心目中的编程高手

    -- Bill Joy MIT BBS上说微软电话面试的一道题就是"Who do you think is the best coder, and why?".我觉得挺有意思的,也 ...

最新文章

  1. poj 3321 Apple Tree
  2. 关于XML在与FLASH交互应用中的理解
  3. 运行时间_如何测量嵌入式软件运行时间?
  4. 非监督HMP算法的物体识别
  5. hdu 1208(简单dp)
  6. 环境管理体系ISO14001认证常见的审核问题有哪些?
  7. 【English】语法之句子种类(陈述句、疑问句、祈使句、感叹句)
  8. Sentinel控制台搭建使用
  9. 小白必看——UG NX模具分模原理知识,如何确定分型面
  10. 简智音科技:抖音短视频时长几何为好呢?
  11. Craps 赌博游戏 含押注
  12. 三栏布局的七种实现方式
  13. spring源码解析--环境搭建
  14. 房地产数据-python爬虫+数据可视化
  15. hexo latex 换行 多行公式 终极解决方案
  16. wxpython应用程序_用wxPython创建GUI应用程序展示NASA图片(第一部分)
  17. 服务器插惠普的hdmi线不显示器,笔记本插上HDMI线外接显示器,检测不到屏幕
  18. C语言的基本结构(一)
  19. 【学术】CCF推荐的A类、B类、C类中文科技期刊
  20. C++ Primer- 变量声明和定义的关系

热门文章

  1. Javascript类的创建
  2. Android -- AudioPlayer
  3. Android中AppWidget的分析与应用:AppWidgetProvider .
  4. .net链接带密码的ACCESS数据库
  5. C++ 中数据类型互转
  6. 机器学习小字典(一)——SVM
  7. 定时器时间动态变化(变速)
  8. 对于response.setContentType(MIME)的解释
  9. HDU 2588 GCD amp;amp; GCD问题总结
  10. bugscan泄露代码解密