十年总结,一个JAVA人的十年人生路
2013-06-08 22:53
295 查看
十年总结-开篇:歇一歇,才能走的更远
经常见坛子里有人问,学习java该如何入手,或者是该学java还是学XX语言。
我一直觉得,编程跟语言关系不大,重点是要有解决问题的思路。
学习一门语言,其实只是寻求如何将编程的思路落地。
学习软件开发,可能还是先从原理入手比较好,很多人喜欢例子,
但我觉得例子所能提供的信息虽然直观,但也非常有限。
而且通过例子入手学习,由于例子先入为主,可能会带来一个后果:
限制了对一种技术手段的灵活运用。
这种限制,会导致学习者无法充分发挥某项技术的优势,
也可能使他无法在技术和要解决的问题之间做出最好的匹配。
所以,我说,用自己会的东西去解决所有问题,还是基于问题去寻找适用的技术,
应该是能力高与低的重要差异。
什么是原理?
以武侠小说为例,
高手都是内外兼修,而且往往先通过各种方式积累了深厚的内力,
有此基础,在修炼精妙招式的时候,才能达到事半功倍的效果。
那么,内功修为是激发人体潜能的原理,而招式则是一种技能,
招式是容易传承和模仿的,可以速成,但内功修为则没有取巧的可能性。
那么在编程学习过程,什么可以看作原理?
以很多人曾问过的,将来必定还会有更多人问的“多线程聊天代码”为例,
我认为其中可以看作原理的知识点有:
线程(进程)的同步与互斥模型,
TCP/IP通信协议
进程控制方面,计算机科班出身的兄弟们应该知道,进程的同步与互斥是在操作系统中学习的,而不是在哪门编程语言中学到,
java有自己的线程控制机制,c++也有,但他们的原理是相通的。
而TCP/IP协议,可能会引起争议,有人会觉得学这个没有实用价值。
的确,现代语言对底层通信封装的非常好,但我觉得还是有必要了解TCP/IP中的IP/UDP/TCP这三层的工作原理,
平常没用,可一旦出现问题,这些知识才是解决问题的根本。
再说两句现在的J2EE,
我觉得学习J2EE,最先要看的就是SUN官方的tutorial,必须理解J2EE的架构,
并至少了解jsp、servlet在J2EE架构中的位置、作用和工作方式。
J2EE架构,可以认为是现在所有J2EE相关框架、容器、工具的核心原理。
--------------------
一篇文章难以承载太多内容,我今后要陆续发帖,表达我的看法,
主要是关于软件开发学习过程、软件开发过程本身、我对自己所掌握的技术的看法,
以及软件开发过程中的非技术因素(主要是人的因素)。
这是我从业10年的一份总结,以证明我这10年没有白混,
也是我未来五年的一个新起点。
无论您有什么想法、看法,只要是善意的,欢迎您与我讨论、辩论。
如果这一系列的文章能够帮到某些人,我也会非常开心。
原地址链接:http://bbs.51cto.com/thread-587555-1.html
经常见坛子里有人问,学习java该如何入手,或者是该学java还是学XX语言。
我一直觉得,编程跟语言关系不大,重点是要有解决问题的思路。
学习一门语言,其实只是寻求如何将编程的思路落地。
学习软件开发,可能还是先从原理入手比较好,很多人喜欢例子,
但我觉得例子所能提供的信息虽然直观,但也非常有限。
而且通过例子入手学习,由于例子先入为主,可能会带来一个后果:
限制了对一种技术手段的灵活运用。
这种限制,会导致学习者无法充分发挥某项技术的优势,
也可能使他无法在技术和要解决的问题之间做出最好的匹配。
所以,我说,用自己会的东西去解决所有问题,还是基于问题去寻找适用的技术,
应该是能力高与低的重要差异。
什么是原理?
以武侠小说为例,
高手都是内外兼修,而且往往先通过各种方式积累了深厚的内力,
有此基础,在修炼精妙招式的时候,才能达到事半功倍的效果。
那么,内功修为是激发人体潜能的原理,而招式则是一种技能,
招式是容易传承和模仿的,可以速成,但内功修为则没有取巧的可能性。
那么在编程学习过程,什么可以看作原理?
以很多人曾问过的,将来必定还会有更多人问的“多线程聊天代码”为例,
我认为其中可以看作原理的知识点有:
线程(进程)的同步与互斥模型,
TCP/IP通信协议
进程控制方面,计算机科班出身的兄弟们应该知道,进程的同步与互斥是在操作系统中学习的,而不是在哪门编程语言中学到,
java有自己的线程控制机制,c++也有,但他们的原理是相通的。
而TCP/IP协议,可能会引起争议,有人会觉得学这个没有实用价值。
的确,现代语言对底层通信封装的非常好,但我觉得还是有必要了解TCP/IP中的IP/UDP/TCP这三层的工作原理,
平常没用,可一旦出现问题,这些知识才是解决问题的根本。
再说两句现在的J2EE,
我觉得学习J2EE,最先要看的就是SUN官方的tutorial,必须理解J2EE的架构,
并至少了解jsp、servlet在J2EE架构中的位置、作用和工作方式。
J2EE架构,可以认为是现在所有J2EE相关框架、容器、工具的核心原理。
--------------------
一篇文章难以承载太多内容,我今后要陆续发帖,表达我的看法,
主要是关于软件开发学习过程、软件开发过程本身、我对自己所掌握的技术的看法,
以及软件开发过程中的非技术因素(主要是人的因素)。
这是我从业10年的一份总结,以证明我这10年没有白混,
也是我未来五年的一个新起点。
无论您有什么想法、看法,只要是善意的,欢迎您与我讨论、辩论。
如果这一系列的文章能够帮到某些人,我也会非常开心。
原地址链接:http://bbs.51cto.com/thread-587555-1.html
相关文章推荐
- 『程序员[程序人生]一个老程序员十年生涯总结(转载)
- 程序人生之一:一个四年 JAVA 程序员的工作经历
- dark寻觅到的一个牛人的分类总结贴--关于swfupload与java整合的内容
- 实践人生 —— 一个普通IT人的十年回顾(下)
- java ----一个函数传回多个值的总结
- 关于Java中equal函数和==的一些区别做一个总结,以供自己随时查看复习。
- 看看别人研究生在做什么,在看看自己---推荐《我这十年》-----一个研究生的自我总结
- Jsp+servlet+javabean使用Lucene3.6.2做一个简单数据库搜索的总结(2)
- 一个基于 Java 的模板引擎框架Velocity学习总结
- 实践人生,一个普通IT人的十年回顾
- 一个Java程序员的2018年展望与2017年总结
- 一个菜鸟java码农的成长之路(6):Set集合总结
- java十年技术栈[总结复习用]
- 一个十年java程序员的心得
- 程序人生之一:一个四年 JAVA 程序员的工作经历
- 个人总结的一个中高级Java开发工程师或架构师需要掌握的一些技能
- java判断一个字符串是否为空的方法总结
- 一个程序员的十年总结
- 个人总结的一个中高级Java开发工程师或架构师需要掌握的一些技能
- Java 注册监听器的方法总结(自身类this+外部类+内部类+匿名内部类+适配器Adapter+一个组件注册多个监听器)