学会java、学好java之一:先决条件
来源:互联网 发布:华为算法工程师待遇 编辑:程序博客网 时间:2024/05/26 16:00
其实这篇文章是谈学习方法,只是以java为例罢了,有心人可以将我谈到的观点应用得更为广泛。
首先,你适合学习这门技术吗?很多人不知道。那是因为你不了解目标对象,也不了解自己。所以首先我设计了几个问题,你需要问自己:
1、我是否有较强的逻辑思维能力?这种能力可以从数学、物理、化学、计算机等相关专业的高中、大学课程中获得。我之所以把这个问题摆在第一,因为逻辑思维对编程实在是太重要了。这个概念比较抽象,但绝不能说你看过福尔摩斯、狄仁杰,你就知道逻辑推理是怎么回事,更不能说你念过上述专业你就必然获得了逻辑思维能力。
我可以举个例子,看你能不能理解:为什么计算机要用二进制?因为电路可靠的稳定状态只有开和关,如果你能找到10种稳定状态,用10进制未尝不可。1和0能表达这个世界上所有事物吗?当然可以,只要有足够的空间就有无限的排列组合,无限等于无限。把你自己解构为1和0来表示,你会怎么解构?
2、我是否有较强的模仿能力?学习总是以模仿开始,说话、走路,无一不是。高级程序语言的背后有很多深刻的数理逻辑,等你全部搞清楚的时候可能头发都白了,但这并不阻碍我们学会一门技术,就像很多人会玩游戏却不知道这个游戏是怎么运行的,很多人会开车但不知道车的内部构造。
为什么你写的第一个程序总叫做HelloWorld!这意味着你就想一个像生儿一样,什么都不知道,但你知道哭会让妈妈给你喂奶。你只需记住这样做就能得到正确的结果,先学会,熟能生巧。就像车开多了,哪天车的声音不对了,你大致能判断出问题所在。
3、我是否有较强的英文能力,如果没有,我是不是愿意努力去提高。由于外国人在计算机行业的优势,很多第一手资料和文档总是先出现英文版本,然后才在随后的时间里被翻译成中文。又由于翻译水准参差不齐,所以你拿到的东西是落后的。要想领先同行、领先周围的程序员,与世界上最优秀的专家走在一起,英文能力必不可少,至少是英文阅读能力。
据我了解,理工科的学生,总体英文能力较差。但你是否沦为平庸,关键在于你的意识,和是否愿意付出正确的行为。学习英语绝对是正确的行为,但是很多人宁愿去玩网络游戏。这已经涉及到下一个问题。
4、我是否有足够的兴趣和动力,以及足够的执行力?兴趣真的不可靠,但是动力却是真实的,比如你真的需要一份程序员的工作,比如你需要在这个公司做下去,这些都是学习的动力。归根结底又在于人对成就感的需要,你需要成就感,如果你没有这种需要,现在去激活,还有的救。如果你斗志高昂,那接下来就是持续的执行力。懒惰、虚荣(不承认失败)、畏难等人性弱点会导致你三天打鱼两天晒网,甚至直接放弃。IT人士需要的是勤奋和务实。
5、我是否有较好的表达能力,如果没有,是否愿意做出努力来改变自己?这是java技术之外的东西了,但是在你的求职过程和职业生涯中,这是功夫之外的功夫。假设上面的问题你都是肯定回答,自己也做的很好,那么你还需让别人知道这些事实。因为人的内部细节别人不能全部了解,只能通过你提过的外部接口来了解,而语言(当然还有肢体等等)就是你暴露给外界的重要途径。
你技术能力很强,可是自我欣赏无法产生社会价值,你要让别人知道。这几个字请牢记:做得好,说得更好!
======================================================================
我们讲方法,需知方法论是建立在世界观上的,因为我们花了一点时间来探讨程序员应当拥有的气质和基本条件。至于具体的学习手段,请看续集……
- 学会java、学好java之一:先决条件
- 如何学好Java---之一
- 学会java、学好java之二:学习方法
- 学好JAVA?
- 学好java
- 学好java
- 想学好Java
- 如何学好java!
- 如何学好java
- 如何学好java
- 实践,学好JAVA
- 如何学好java
- 学好 java 不容易^
- 怎么学好Java
- 如何学好JAVA语言?
- 如何学好JAVA
- 如何学好java
- 如何能学好Java?
- apache - mod_rewrite配置指令RewriteBase
- vbs和IE(一)
- 三元运算表达式分析 转自黑弓老师
- NCURSES库简介
- draw1.obj : error LNK2001: unresolved external symbol ___MCC_draw_component_data这个是什么问题啊
- 学会java、学好java之一:先决条件
- 基础算法--计算几何
- Intel双通道模式解析
- 关于Java使用接口实现多重继承
- TELNET 登陆远程机后 如何上传下载文件
- MFC程序中消息以及函数的处理顺序简介
- 学会java、学好java之二:学习方法
- 关于Excel中,下拉菜单的制作。
- final、finally和finalize的区别是什么?