多语言展示
当前在线:1262今日阅读:179今日分享:36

如何成为编程高手的八大奥秘

如何成为编程高手对理论的掌握并不代表对知识的真正理解。对于一些所谓高深的理论都可以自己编写程序来检验对其理解的程度。我的经验是:只有你把程序流畅地写出来,才是真正意义上对知识理解通透了。比如,我在大三学电力系统分析的时候,就自己用Matlab语言编写了牛—拉法求潮流的程序,计算暂态稳定的简单程序,计算发电机短路电流的程序等。自然地这些专业课程都学得不错。 Matlab是一门优秀的编程语言,在欧美非常普及。选择一门顺手的编程语言可以让你在学习和工作中事倍功半。Matlab是一种语言因为它可以用作编程,也是一种软件因为它自带的工具箱具有类似软件前台的GUI界面以及能够轻松实现人机通信功能。如何成为编程高手的八大奥秘编程高手这也许是“高手”和一般程序员最大的区别。高手们并不是天才,他们是在无数个日日夜夜中磨炼出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。 世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。扎实的基础 数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。因此多读一些计算机基础理论方面的书籍是非常有必要的。丰富的想像力 不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想像力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。开阔的思维对程序员来说很重要。最简单的是最好的 这也许是所有科学都遵循的一条准则,复杂的质能转换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。不钻牛角尖 当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。对答案的渴求 人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。多与别人交流 三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。良好的编程风格 注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。韧性和毅力 这也许是“高手”和一般程序员最大的区别。高手们并不是天才,他们是在无数个日日夜夜中磨炼出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。一个编程员应该具备的基础知识和概念1. 计算机是有什么组成的,CPU是什么东西,其工作原理是什么。(对于这些以及下面将要提到的概念我不会告诉你什么答案,你可以看相应的教材,关于教材我会在下一部分详述,记住理解最重要!) 2. 机器语言和微指令集的概念。 3. 程序的概念。 4. 汇编语言是低级语言但不是机器语言。 5. 高级语言主要有那些?(C,C++,Basic,Pascal,Fortran,C#,Java等等;如果你是中国软件业的英雄,你也写一门语言,最好不用英语) 6、编译程序和解释程序的概念和其原理。(编译器是高手和专家编写的) 6. HTML、XML等是标识性语言。 7. Prolog是人工智能语言。 8. 操作系统OS的概念和原理。(Windows98,Windows2000,Windows NT,WindowsXP,UNIX,Linux,等等都是OS,还有一些实时OS,嵌入OS,编这些的绝对是高手) 9. Windows编程说白了就是Windows API的调用。(中国的程序员很多只是会编windows程序,用的是VB,我的建议是这些程序员顶多只是低级编码员,我称其是coder) 10.VC++、VB、BC、BCB、Delphi、VF等都只是编程的工具和环境,不是编程语言。 11.面向结构的设计概念。 12.面向对象的概念。(好好理解,兄弟,这个东西还是很重要的) 13.软件工程的概念和原理。(如果你想当老总就需要好好研究了,系统分析员比编码员要高一个等级,薪水也高哟) 14.数据库的概念。(要熟悉一些著名的数据库系统和语言的名字,如Orcle,SQL,DB2,DyBase等) 15.了解网络概念。各类语言分类编程到底怎么分类的?答:这个要看大家怎么看待了,大类有网页语言和软件语言,(实际上都是共通的),细分:网页语言又分为:美工方面和开发方面,美工方面有html标签语言、js语言、actionscript(flash动作语言),xml,然后开发方面有最为流行的php,移动电信用的jsp,大企业用的C#,08年以前用asp 等;软件语言分类为汇编(编程始祖)、C语言(大学必学课程)、然后VB(可视化编程的第一个),然后C++(C语言升级)、java、然后是Android(java升级版)、接着就是中国人自己开发的易语言(基于C语言,但是总是报毒)网页语言和软件语言有什么共同?答:实际一通则百通,别看多,实际上,归根起来就一个东西,就是编程的思路我们看下联系,网页C# 和软件的C++实际是一回事,VB和ASP实际是一回事,VB和易语言,js,sp、php、javahttp://www.esunfu.com/实际都是C语言的升华凝结版。为啥那么多语言?答:当然是越升级越方便,我们稍微有个编程概念的都知道,编程都要涉及到函数,那为啥要有函数,特别是外部函数,因为多个程序集调用起来比较方便,也可以省内存,所以就出现了函数封包(实际一部分就是dll ,专业称为动态链接库),方便大家调用,可以减去不少程序编写的麻烦,再到后来,干脆把这种DLL封装到编程环境里面,然后就出现了升级版的语言,然后一步步封装,最后就出现非常简单的易语言,随便打个中文,就能调用系统内或者程序自身的封包
推荐信息