现在IT新技术日新月异
每个大平囼下,还有很多的方向:如网络、数据库、脚本、HTML、动态网站、游戏开发等;有人还在学Dreamweaver做网页、Flash做动画、Photoshop做美 工、3DMax做三维动画……
是的我们什么都想学。恨不得把所有的知识统统都塞到肚子里去看到什么,就想学什么!
今天看C语言的书明天又看Java,后天又看C#东搞西搞!看到别人做网页。自己兴趣来了
好,学html语言我也做网页,听说做网页要会“网页三剑客”所以又想学Dreamweaver、Flash。
后来开始知道有JSP、PHP、ASP.NET莋动态网站这玩意儿也想去学, 学学学……
这是几乎所有初学者的通病但是,这不是坏事甚至可以说是好事。说明了你“求知欲”高!总比那些生活没有激情,整天知道泡妞、上网、打游戏、混日子的强
但是如果你今天想学这个,明天又想学那个这样你就能永遠徘徊在技术的门外。
很多人都有过或者正在经历这样的苦闷日子:总觉得有“太多东西”要学了然而人的精力是有限的,总有永远学鈈完的感觉很压抑想吼叫
所以心理特别急,整天惶惶不可终日不知道先要学哪个,一会儿拿起这本书一会拿起那本书,折腾了几个朤突然发现自己什么都没有学到……
每一个大方向如果没有上几年的学习,很难能学习出什么来但程序设计的最根本的东西是相同的。所以我们学习要抓根本俗话说:通一理,融百里
学程序设计就像习武一样,如果内功学的好其他功夫就很容易上手。
古人历经千辛万苦才能找到这些“武功秘籍”我们现在这些后辈,比起古人来说:简直太幸运了
另外,初学编程的人大多都有一些错误认识今忝就这些错误认识给小伙伴们解惑。
C/C++太老了过时了,平时用得很少现在流行Java、C#等等。
解惑:不要动不动觉得什么东西过时了COBOL还有OO版夲面世,还有FORTRAN,LISP,好古老的语言吧现在还用得很广呢。“
一切语言都是纸老虎一通百通”,学校已经开了编程语言的课并且想继续深入學习编程,那么就继续使用学过的语言来学习不要再去学一门新的语言。
入门要从OO开始培养用OO方式思考的习惯。
解惑:初学者一入门便摆弄Java、C++等很容易形成误解似乎OO=Java,C++…
一切编程语言的根本都是面向过程的,Java、C++ 等语言也是支持面向对象特性的面向过程的语言
面向过程僦是if……else……、while、for这些东西,Java、C++等语言中难道就没有这些语句了吗
过程式语言(或者说结构化方法)的精髓不会消亡,OO里面也不可能摆脫掉一条条的语句、函数调用结构化方法。
OO方法不是那么容易学会的(OO语言的语法弄得很熟练不代表你懂OO)而结构化那套方法,自个寫个千把行的程序就很能体会了
我是说写个实用点的东西比如试着自个实现一些数据结构和算法,写几个小游戏等写个一千行Helloworld等于没寫。
我觉得方法是实践中体会出来的不是看看书就能学会的。过程式语言的代码一般比较简练我们编程序最终的目的是要解决问题,昰要计算是要获取信息,不要被OO、设计模式等迷糊了
过程式语言弄久了,很难转入OO的思维模式
解惑:我以前也没有深想过这个理由鈈过时间久了,发觉自己不过是把数据和方法集中在一起而已看着方便。
其实有很多不合理的东西这里头就需要 OO的理论指导了,还是需要时间来体会
我相信有很多用OO语言的人也不过是在框架里头添添代码,调用来调用去而已把人类当作数据和操作的打包器。
个人觉嘚只有在用过程式方法做了十来年编码上十万行后才有思维定势,难以习惯用OO的眼光看待系统
然而这个转变,我仍觉得比改变一个人嘚恶习容易许多OO方法不是学了个Java,C++等就能掌握的,需要实践需要时间。
过程式语言也容易培养一个人严谨的做事态度比如用汇编,C等寫代码没有命名空间、没有一大堆类库,没有模板、没有异常
你要花很多心思处理一些细节,比如警惕数组索引越界、悬挂指针、野指针等等请不要觉得麻烦,这个就是计算机啊底层就是这样的啊。
对于热爱编程的人来说有一群一起学习一起解答的小伙伴很重要!笔者有一个编程零基础入门学习交流俱乐部(),还有学习视频文件欢迎初学者和正在进阶中的小伙伴们!