想学做简单的电脑软件
“不走弯路,便是捷径”,佛经中不无道理。
今天就来说说如何学习编程吧。
JAVA是一个平台,也是一种编程语言。如何学好编程不仅适用于JAVA,也适用于C++等其他编程语言。有些程序员觉得JAVA或者C没什么区别,就用吧。为什么他们能达到这样的境界?我觉得是因为编程语言之间有相似之处,我明白编程的本质,所以自然什么都能做。当然,如何学习编程也有很大关系。
1培养兴趣
兴趣是能让你坚持下去的动力。如果只是把写程序当做谋生的手段,会活得很累,会自怜自艾。多关注一些业内趣事,多想想盖茨。我不是提倡天天做白日梦,但是你觉得人没有梦想有意思吗?也许像许多当地农民一样,他们打麻将,喝功夫茶,崇拜财神。每个月都有几万甚至更多的账户,凭空产生了一个“逐利阶层”。你觉得是这个味道吗?有空去逛逛一些程序员的论坛,你会发现他们其实很乐观很幽默,时不时会有智慧的火花。
2仔细选择编程语言
男人怕入错行,女人怕嫁错人。初学者在选择编程语言时需要谨慎。软件开发不仅仅是掌握一门编程语言,还需要很多其他的背景知识。软件开发已经不局限于少数领域,几乎渗透到了各行各业的每个角落。
如果对硬件感兴趣,可以学习C语言/汇编语言,进入硬件开发领域。如果熟悉电信行业知识和网络,可以多花点时间在C/C++上,进入电信软件开发领域。如果熟悉操作系统,可以学习C/Linux等,为Linux内核开发/驱动开发/嵌入式开发打下基础。如果想涉足应用最广泛的应用软件开发(包括电子商务电子政务系统),可以选择J2EE或。网,甚至灯的组合。每个领域需要不同的背景知识。做应用软件需要熟悉数据库等等。简而言之,你需要根据自己的特点选择合适的编程语言。
脚踏实地,快餐式学习不可取。
先分享一个故事。
有个小孩很喜欢学生物,想知道那些蝴蝶是怎么从蛹壳里出来,变成蝴蝶飞起来的。有一次,他去草原,看到一只蛹,就把它带回家。然后他看着。过了几天,蛹出现了一条裂缝,他看到里面的蝴蝶开始挣扎,想抓破蛹壳飞出去。这个过程持续了几个小时,蝴蝶在蛹里非常努力地挣扎,却怎么也出不来。孩子看着不忍心,觉得还是我帮他比较好,就拿起剪刀在蛹上剪开,让蝴蝶破茧而出。但是蝴蝶出来后,因为翅膀不够有力,变得臃肿,飞不起来。
这个故事的教训是:欲速则不达。
浮躁是现代人最常见的心态。能怪谁呢?也许是因为贫穷落后了这么多年,就像大跃进一样,大家都想大步走进* * *资本主义社会。现在的软件公司,客户,政府,学校,培训机构等等都充斥着浮躁。以我熟悉的深圳IT培训行业为例。其实有人标榜“100%的工作会通过培训获得”,但实际上很多同学都报名了,这简直是对全世界程序员的蔑视。如果社会环境就是这样,我们改变不了,只能改变自己。市中心的宁静是珍贵的。很多C++/JAVA的初学者没有开始学习,就马上用VC/JBuilder,用VC/JBuilder开发了一个Hello World程序。他们争先恐后地向世界宣布“我可以开发软件”,并在简历上写下“精通VC/JAVA”。结果去软件公司面试,不是被打发走三两次,就是被驳得体无完肤。直到到处碰壁我才知道,我拿起《C++编程思想》和《JAVA编程思想》认真研究起来。如果我知道这些,我为什么要知道?
“现在讲究简单方便,以后的路会很长”,这似乎是佛经中的一句劝诫。
4多练,练的更快。
彭端淑的《示子侄学》讲述了一个穷和尚和一个富和尚的故事。
从前,在四川的边境上有两个和尚。一个是穷人,另一个是富人。一天,穷和尚对富和尚说:“我要去南海朝圣。你怎么看?”富和尚说:“这里离南海有几千英里远。你怎么去那里?”贫僧说:“我只要一个水碗和一个饭碗。”富和尚尴尬地说:“几年前我就打算买艘船去南海,但现在还没做成。你最好不要去!”一年后,富和尚仍在筹钱租一艘船,但穷和尚已经从南海朝圣回来了。
这个故事可以解释为:任何事情,一旦考虑好了,就应该马上上路,不要等到准备好了再去做任何事情。如果在上路之前就准备好要考虑的事情,别人可能会捷足先登。软件开发是一门工程学科,重在实践。软件开发者说“君子动口不动手”是根本错误的。他们主张“先下手为强”,但不要怕。他们大多性格温和,没有暴力倾向,虽然有时候看起来像“比尔·盖茨”。有资深专家认为,学习编程的秘诀是:编程、编程、再编程,我深表赞同。不仅要多练,还要练得快。当我们在阅读一本书的时候,不要等到你完全理解了之后才敲代码。相反,我们应该一边看书一边打代码。程序运行的各种情况可以让你更快更牢固的掌握知识点。
5多参考程序代码
程序代码是软件开发最重要的成果之一,它渗透着程序员的思想和灵魂。很多人被《仙剑奇侠传》中悲情的爱情故事感动,悲剧的结局更是美不胜收。为什么会以悲剧收场?据说写仙剑奇侠传的程序员失恋了,安排了这样的结局。他把自己的感情融入到了游戏中,却让很多剑迷感叹。
参考许多代码示例。对于JAVA,有参考文献[4.3],API类的源代码(JDK安装目录下的src.zip文件),也可以研究一些开源软件或框架。
6加强英语阅读能力
对于学习编程来说,英语不是必须的,但也不能一点都不懂。至少像JAVA API文档(参考文献[4.4])这样的东西应该是可以理解的,甚至是猜测和混淆的;打开旁边一个“金山词霸”。你看得越多,你就会变得越熟练。边学JAVA边学英语,一举两得。另外,很多软件需要从英文网站下载。你应该能找到他们。这些都是最基本的要求。好的英语对你的学习有很大的帮助。如果你英语说得好,你就有更好的机会进入管理层,然后你就可以成为剥削程序员的“周扒手”。
七万人还得问别人。
在ChinaITLab网校在线辅导系统解决学生问题时,笔者发现大部分问题只要稍加思考就能解决。在咨询他人之前,你应该回答以下问题。
你在谷歌上搜索解决问题的方法了吗?
你查过JAVA API文档吗?
你查过相关书籍吗?
你写过代码测试吗?
如果答案是“是”,而且还没有找到解决办法,再去问别人也不迟。要知道,独立思考的能力对你来说很重要。要知道,程序员的时间是宝贵的。
多读好书
颜如玉在书中。比尔·盖茨是一个博览群书的人。虽然没有读完大学,但比尔·盖茨九岁的时候就已经读完了所有的百科全书,所以他精通天文、历史、地理等等。可以说,比尔·盖茨不仅是当今世界上金钱上的首富,也是知识上的首富。
我经常在给学生上课的时候给他们推荐书籍。后来有学生不忍心抱怨“天啊,我什么时候才能看完这么多书?”以及“学软件开发让我觉得自己像个小偷。”这时候我的回答一般是“别急,我什么时候给你看我的书房?到现在,每个月花在技术书上的钱在400元里,在软件开发者中也只是中等水平。”学生当场晕倒。(注:这部分学生是刚学软件开发的)
JAVA开发领域的好书会在作者的另一篇文章中专门评论。这篇文章可以作为本文的伴侣。
9使用正确的工具
工欲善其事,必先利其器。软件开发包括需求收集和分析、建立用例模型、建立分析和设计模型、编程实现、调试程序、自动测试、持续集成等各种活动。没有工具的帮助,可以说是无法前进的。工具可以提高开发效率,让软件质量更高,bug更少。结合双手的武器。飞花摘叶能伤人的境界很高。不出招几乎不可能赢,手里有剑,心里有剑。