学会java、学好java之一:先决条件

来源:互联网 发布:华为算法工程师待遇 编辑:程序博客网 时间:2024/05/26 16:00

其实这篇文章是谈学习方法,只是以java为例罢了,有心人可以将我谈到的观点应用得更为广泛。

首先,你适合学习这门技术吗?很多人不知道。那是因为你不了解目标对象,也不了解自己。所以首先我设计了几个问题,你需要问自己:

1、我是否有较强的逻辑思维能力?这种能力可以从数学、物理、化学、计算机等相关专业的高中、大学课程中获得。我之所以把这个问题摆在第一,因为逻辑思维对编程实在是太重要了。这个概念比较抽象,但绝不能说你看过福尔摩斯、狄仁杰,你就知道逻辑推理是怎么回事,更不能说你念过上述专业你就必然获得了逻辑思维能力。

    我可以举个例子,看你能不能理解:为什么计算机要用二进制?因为电路可靠的稳定状态只有开和关,如果你能找到10种稳定状态,用10进制未尝不可。1和0能表达这个世界上所有事物吗?当然可以,只要有足够的空间就有无限的排列组合,无限等于无限。把你自己解构为1和0来表示,你会怎么解构?

2、我是否有较强的模仿能力?学习总是以模仿开始,说话、走路,无一不是。高级程序语言的背后有很多深刻的数理逻辑,等你全部搞清楚的时候可能头发都白了,但这并不阻碍我们学会一门技术,就像很多人会玩游戏却不知道这个游戏是怎么运行的,很多人会开车但不知道车的内部构造。

    为什么你写的第一个程序总叫做HelloWorld!这意味着你就想一个像生儿一样,什么都不知道,但你知道哭会让妈妈给你喂奶。你只需记住这样做就能得到正确的结果,先学会,熟能生巧。就像车开多了,哪天车的声音不对了,你大致能判断出问题所在。

3、我是否有较强的英文能力,如果没有,我是不是愿意努力去提高。由于外国人在计算机行业的优势,很多第一手资料和文档总是先出现英文版本,然后才在随后的时间里被翻译成中文。又由于翻译水准参差不齐,所以你拿到的东西是落后的。要想领先同行、领先周围的程序员,与世界上最优秀的专家走在一起,英文能力必不可少,至少是英文阅读能力。

    据我了解,理工科的学生,总体英文能力较差。但你是否沦为平庸,关键在于你的意识,和是否愿意付出正确的行为。学习英语绝对是正确的行为,但是很多人宁愿去玩网络游戏。这已经涉及到下一个问题。

4、我是否有足够的兴趣和动力,以及足够的执行力?兴趣真的不可靠,但是动力却是真实的,比如你真的需要一份程序员的工作,比如你需要在这个公司做下去,这些都是学习的动力。归根结底又在于人对成就感的需要,你需要成就感,如果你没有这种需要,现在去激活,还有的救。如果你斗志高昂,那接下来就是持续的执行力。懒惰、虚荣(不承认失败)、畏难等人性弱点会导致你三天打鱼两天晒网,甚至直接放弃。IT人士需要的是勤奋和务实。

5、我是否有较好的表达能力,如果没有,是否愿意做出努力来改变自己?这是java技术之外的东西了,但是在你的求职过程和职业生涯中,这是功夫之外的功夫。假设上面的问题你都是肯定回答,自己也做的很好,那么你还需让别人知道这些事实。因为人的内部细节别人不能全部了解,只能通过你提过的外部接口来了解,而语言(当然还有肢体等等)就是你暴露给外界的重要途径。

    你技术能力很强,可是自我欣赏无法产生社会价值,你要让别人知道。这几个字请牢记:做得好,说得更好!

======================================================================

我们讲方法,需知方法论是建立在世界观上的,因为我们花了一点时间来探讨程序员应当拥有的气质和基本条件。至于具体的学习手段,请看续集……

原创粉丝点击