学习知识|如何开始学习编程( 二 )


对于算法和设计模式 , 可以研读下 , 但是关键还是靠平时如何使用了 。 新手勉强不来的 。
项目管理方面的 , 就得靠工作经验了 , 多思考多提意见不要只走流程 。

如何学习编程? 孔子说:“知之者不如好之者 , 好之者不如乐之者” 。 在学习编程之前 , 首先想想自己是不是适合学编程 , 自己是不是爱编程 , 自己对软件开发这个行业有没有很高的热情 。 如果你只是听说做软件开发的人拿很多money , 就想学编程 , 那么我劝你不要学编程 。 软件开发是一种艰苦的工作 , 没有热情是学不好的,如果你想发财 , 最好去搞房地产 , 去开医院 , 因为只有这些行业是暴利行业 , 软件开发不是暴利行业 。 如果你不确定自己是否适合从事软件开发 , 你可以先试着学学编程 。 要学好编程 , 首先得有很好的英文基础 , 如果英文不好 , 请马上开始学 。 英文不好 , 绝对是你从事软件开发的一个障碍 。 每天花一些时间来学英语 , 是一个很不错的时间投资 。 其次是数学了 。 可能有很多人不以为然 , 但是我要说的是 , 一个合格的软件工程师必须有很好的数学功底 。 高等数学 , 线性代数 , 概率论 , 数理统计 , 离散数学和数值分析都要好好学 。 数学决定了你在软件这个行业里的深度 。 数学和英文是软件开发的内功 , 请一定要注意 。 再学一门编程语言 。 c或者c++都可以 , 在学c语言和c++的时候 , 一定要把它们当做两种语言来学 。 学习c语言 , 理解结构化程序设计思想 , 学习c++理解面向对象的思想 。 学编程语言的时候 , 多注意编程的细节 。 最好把书上的每一个习题都做一遍 , 然后上机调试一下 , 注意 , 在纸上写不出正确的程序 。 最好多看一些英文原版书 , 如《The c programming language》,《The c++ programming language》,《c++ primer》 , 《thinking in c++》等 。

学了一门编程语言后 , 就要学习《数据结构》了 。 《数据结构》也是编程的内功 , 一定要学好 。 要深刻理解图 , 线性表和树等等这些概念 , 还有一条 , 就是多编程 。 学数据结构就是学算法 。 如果写不出高效的算法 , 绝对不是合格的程序员 。 当然 , 好的算法可能让你的程序运行效率提高几十倍 , 上百倍 。 学了上面这些后 , 就可以学一些开发工具了 , 比如vc , vb等 。 千万不要赶时髦 , 没有学会c或者c++就急着学这些流行的东西 。 今天学.Net明天又看java , 这样是学不好编程的 。 如果做到了上面的几条 , 可以做一些项目练练手了 。 当然 , 做一些实际的项目开发就可以是自己掌握一些开发技巧和经验.在这个阶段还要好好学数据库 , 操作系统 , 编译原理 , 计算机体系结构等 。 这些东西都很重要 , 不懂这些 , 也不是一个合格的程序员 。 另外 , 在业余 , 还要学一些软件工程方面的知识 , 看一些uml方面的书等. 最后 , 一个合格的程序员应该戒焦戒噪 , 善于学习 , 注意细节 , 多动手多动脑 。

罗嗦了半天 , 送你一句话吧“编程的大道上荆棘丛生 , 这也是好事 , 常人望而却步 , 只有意志坚强的人例外” 。
希望可以帮到你 , 谢谢!
我想学习编程 , 但是不知道该怎么开始 。 我建议最好是从基础入手 , 而不是一开始就进行可视化编程 。 虽然如今国内绝大多数pc都是使用的windows , 但是毕竟这知识这个世界的冰山一角 。 扎实的基础自然会更有用处 。 编程其实重要的是程序思维 , 然后是算法和数据结构 。 这些都是超出语言的 , 就是说不管是学c学java学delphi还是别的什么 , 这一部分都是一致的 。 因此培养这部分的知识可以说是一本万利的事情 。 初学肯定是通过语言熟悉思想熟悉算法和数据结构 , 到一定的时候就是纯粹的思想和算法数据结构的学习 , 便已经脱离程序语言了 。 经历过这些阶段 , 换一种语言不过是重新了解一下描述的方式 , 就像你了解了中文思维 , 山东话和四川话的差别就不会太大;了解了拉丁语的思维 , 整个语系的语言都不过是简简单单的记忆工作 , 应用就好 。 入门的语言 , 理论上是怎么方便学哪个 , 看那个顺眼学哪个 。 当然这里面还是有不同的推荐的 。 一般来说我比较推荐pascal、c/c++、java 。 并不是因为这三个东西很通用很有前途 , 而是它们实在是严整而有规则(c/c++还显得稍微的宽松了一点) , 而严谨的语法要求和明确的概念区分是有利于编程思维的形成和算法数据结构的学习的 。 同样的因为这个理由我不推荐vb , 而并不是因为它功能不强大(事实上vb在windows环境中是相当牛的语言)另外一个建议是 , 如果学c , 不要一开始就用vc 。 ms提供的很多东西很方便 , 有很多很简单的实现方法 , 但是它们不标准 。 vc与ansi

推荐阅读