`
qindongliang1922
  • 浏览: 2194790 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117845
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:126257
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:60220
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71565
社区版块
存档分类
最新评论

九句良言胜敲十年代码

阅读更多
此刻,夜深人静,时间已超过凌晨零点,散仙还在读张龙老师的一篇博客,特别是读到如下的一段话,感触颇深,内心思绪良久,觉得此段话若能在25岁之前领悟,其价值真胜敲过十年代码,下面,散仙会把张龙老师的这段领悟,原样贴在下面,供各位道友,细细品味。



1. 基础的重要性。我总是不断强调基础的重要性,因为我是有切身体会的。基础的东西可以让你受用一生。struts出来了,webwork出来,tapestry出来了,jsf出来了,struts2也出来了,等等等等。但是这些框架或者标准都是新东西吗?其实每个人都知道并不是的,他们都是基于HTTP协议的,换句话说都是构建在jsp与servlet基础之上的,有很多人连这两个基础都没掌握好,就去学这些框架,这真是难以想象的。有了好的基础会让你学习新东西更快,也更扎实,走的也更远,否则你永远都是在跟着别人的脚步。

2. 还是基础。我们都知道Spring是非常优秀的框架,也是很多公司采用的技术选型。但是你是否真的了解Spring的核心IOC与AOP了吗?适当看些设计模式的书会让你受益匪浅。其实你只要掌握了java的动态代理对于AOP的理解就是自然而然的事情了。

3. 舍得投入。 有时间的话买些书看看,好书可以让你系统的学习一些技术,而不是一些支离破碎的技术点。

4. 抓紧时间。 将游戏的时间控制的少一些,把精力放在学习上吧,如果你想投身IT行业,做好不断学习的准备

5. 要有激情。 没有激情的人生是惨淡的人生。生活和学习要有激情,否则你体会不到淋漓尽致的快乐与苦痛。

6. 要有耐心。 没有耐心是无法成为一个优秀的程序员的。其实写程序的时候大部分时间是与错误、异常相伴的,不要幻想一下就能将程序写对,优秀的程序实际上是不断重构的过程。

7. 要能耐得住寂寞。 很多时候我们都是与计算机为伴的,如果你没有对程序的兴趣与热情,时间长了你会坐不住的。

8.英语的重要性,如果你想进外企的话,那么英语是必须要过的一关(主要体现在听说上)。

9. 最后一点,坚持学习。活到老学到老是对程序开发人员最好的描述。


最后,散仙再唠叨几句的自己的心得体会,张龙老师说基础非常重要,散仙也是最近才领悟出来,以前一直都是处于,知其然不知其所以然的感觉,比如说某个技术或框架,Lucene也好,Hadoop也罢,只要是由Java写的东西,散仙愚见,只要你Java SE足够熟练,那么上手起来其实是非常容易的,关于Java EE方法,张龙老师说的,只要你Servlet和Jsp拿下了,其他的一些Struts,JSF,Spring MVC诸如此类的框架,学习起来,非常简单,这就很想散仙想说的另外一个例子,只要你JDBC真正的拿下了,其他的一些JPA,Hibernate,MyBatis,JDO,学习起来也是如此,对想学习全文检索的朋友们,散仙建议只要你把lucene拿下了,其他的一些像solr,ES,Compass,hibernate search,掌握起来,也是易如反掌,不过这些都不是散仙最后想要说的重点,散仙想说的是,如果你想做到在基于Java这个平台下的世界里,随心所欲,游刃有余,那么请你一定认真学好并真正掌握,那个经常被大部分人忽视而不起眼的Java SE的一系列技术。

         
           最后,感谢各位道友,能够坚持看完此篇文章!

139
21
分享到:
评论
53 楼 justing_xxt 2013-12-02  
zqb666kkk 写道
   不可能 等你把所有的 基础都学好了 才能做好java  有时候需要 逆向思维,先接触  spring mvc框架 再逆推 学习servelet 有什么不妥?

每个人学习方式不同 不要 把你习惯的学习方式 当作真理强迫 别人 也按照这个标准走

你所谓 的 什么 老师  他们也只是根据自己的经历所得出来的 经历感想
并不是 别人也非得按照这个模式去走才能学好java

java 基础你要是都学好 你 学到 头发 白了 都学不完 ,很多事情 没有绝对

重要的是一个热爱开发的心


有一定的道理,这就涉及到了学习的两种方法,自上而下和自下而上,也可以理解成广度优先和深度优先。

如果是学生或者刚工作没多久,适合自下而上,即不要急于求成,一定要打好基础,不要好高骛远,贪多求全,坚持下来广度不是问题。基础牢了,你会发现路越走越宽,而且是水到渠成的那种。

如果已经工作了多年,就适合自上而下(本来在使用技术A,结果发现A依赖于B和C,然后去研究B,发现B又依赖于E,然后再去学习E。。。不记得在哪儿看到一篇文章,说本来作者是在研究一门技术,后来竟然研究起道德经来了,说的就是这种情况),因为有太多的事情需要处理(大部分应该是这种情况,没有太多精力去啃基础,再说这个时候多少已经有了一定的基础),有时候知道能不能做比知道怎么做更重要,而知道能不能做就需要有一定的知识广度和经验。这时可以先订方案,遇到细节再去翻啃基础。

无论是自上而下,还是自下而上,最终都会走向同一个目的地 - 知其然并知其所以然,当然前提是大家都是会学习的人。

我个人是比较推崇自下而上的学习方法,有时间的话一定要把基础打牢,基础真的是非常重要。但是目前的大环境,能够沉下心来钻研基础的人毕竟只是少数,毕竟大多数企业更喜欢“全才”而不是“专才”。

算了,再说就又扯到体制上去了。借这个地方,还是给刚入行的朋友一个忠告,如果决定要在这行干下去,一定要勤奋好学,打好基础,一步一个脚印,适当的拓宽自己的视野并加以取舍。本人不才,导致现在有种知道的越多反而懂得越少的感觉,正在恶补基础中,刚好看到这篇文章,有感而发。

52 楼 ufopw 2013-12-02  
恩,赞同,我常说要知道原理。
51 楼 barryzhong 2013-12-02  
qindongliang1922 写道
barryzhong 写道
作为一个在前进途中的程序员,楼主注重基础的的方向大家都会非常的认可。可能是市场上大多人过于没有基础了。

不过随着遇到越来越多的问题,我们会发现 楼主提到的东西 不够基础。还比较偏向于应用技术本身。当然这跟我国计算机教育以及发展阶段脱离不开。




兄弟,你有什么想法,完全可以写一篇博客发出来,给大家分享一下,岂不更好?


其实我发微博可能还没兄弟你说得好呢。
不过前面的一位大拿其实已经非常概括的说了,就是原理最重要。这肯定是来自深刻实践的总结,确实是这样。

当然这东西也得分步骤一点一点来。

其实这种情况也是不同环境有不同的要求的。比如一个非常专的应用领域,如果是在美国,可能一个印度软件工程师,(主意是工程师,不是开发者。)可能只要会写一门脚本语言,就可以专注于业务了。比如Salesforce.com的Apex或者Ruby之类的。他没什么基础,连中国大学里的位运算都没学过,不知道有这回事。HTTP都不知道是协议,只知道是网页地址栏里面的。可笑吧,一点也不可笑,因为他们一直朝着specialize努力,拧好螺丝OK。

中国的环境不同,而且中国人也不愿意只拧螺丝,什么都要学一下,不做技术,哪怕是在工厂也要多学点东西,不同的岗位干一干。要不怎么能生存呢。在这样的环境下需要学的坚实一点是非常必要的。

所以基础和原理有了发挥的空间了,才真的变得重要起来。之前那位大拿一定是有很大的空间,才有感而发。

原理的东西也不高不可攀,一部分在我们国家的教材里,一部分在美国大学和研究生的教材里。咱们国家的教材阉割了一些重要的内容。咱们国家的教育体质更是严重缺少实践性,别说领导实践性了。当然不是抱怨,是因为大家没认识到那个程度,以及某些原因的作用使然。认识到那个程度的说话也没有足够的说服力。

咱们国家的教材大家都知道,除了计算机基础的离散数学,组合数学,数据结构,算法设计分析,计算机组成原理,计算机体系结构,操作系统,编译原理,计算机网络,数据库原理等等(我也记不全),国外的教材有一本是跟性能分析相关的,也是研究生的课程,很经典的一本书<<Art Of Computer Systems Performance Analysis Techniques For Experimental Measurements Simulation And Modeling>>,还有一本《Transaction Processing》当然肯定还有不少。

虽然这么多东西可能都需要反复消化,但是也不必担心和害怕,随着工作的深入慢慢的学习呗,尤其是英语很重要,很多书都没有翻译的。我们之前的大师浙江大学本科毕业的,现在在美国硅谷,斯坦福的博士也是被他骂的,要知道斯坦福的博士可跟国内的博士不同,牛逼得很。就是慢慢跟着工作学。

Java 是这门编程语言很特殊,它除了是一门编程语言以外,它也代表了最流行的面向对象语言,它也是跨平台语言,它也包含了很大一部分的开源社区,它还有不同的平台和不同的框架,在不同的应用领域里还有不同的规范和标准。总之太庞大了,笔者坐井观天,知之甚少。

记得以前有位大师曾经说过,如果初学编程语言,要多自己实现一些算法和数据结构,不能太过依赖Java提供的API或者开源社区的lib。锻炼自己的计算思维,现在出了一本新书《计算思维导论》这本书也不错,跟以往的计算机基础教材不同,它可以让学生知道学的这些东西有什么用,抓住了计算思维的根,同时也介绍了流行的事。

如果是过去就有丰富的编程经验,那么可以多锻炼一下面向对象的编程思想。当然不能说面向对象的编程思想是最先进的,这是我们学习它的原因。不是这样的,他也有他自己应用的范围。它是抽象的开始。Martin Fowler不是说过么,虽然现在OO编程语言占领了编程语言的市场,但是统治编程思想的还是结构化面向过程的思想。总之,面向对象的思想要学习的,要实践的,要反复推敲琢磨的。关于编程思想,等掌握了OO以后,还得学习函数编程的思想,更加的抽象,也更锻炼计算思维。

如果说之前提到的偏思想,那么对于Java而言,偏技术的层面的也需要在解决实践问题过程中学习。比如好多网上的大拿都有学习JVM规范的博文,了解和掌握JVM的工作原理,Class文件格式,Classloader, instrument等核心偏底层一点点的技术,也会解决一些工作当中其他手段解决不了的问题。它跟学习SSH不一样,SSH是一种应用技术,像Spring和Hibernate都基于这些基础核心技术。

这些东西说麻烦也麻烦,说简单也简单,只要摸索出学习方法,具备了一定的计算思维,掌握这些东西最后跟查字典一样简单。

这是一个层面。对于系统来说,一个应用服务器算是一个component(有这么说的),database算另一个component,有数据库原理打底,通过实践学习数据库达到一个了解的程度还是很容易的,有一些书籍实践性很强,有一些原理性很强。比如对于mysql来说,O'Reilly.High.Performance.MySQL.3rd.Edition.Mar.2012.epub 这本书实践性和理论都很强,高可用MySQL_构建健壮的数据中心.pdf可能实践性相对更强。开发人员总得了解数据库,虽然倒不一定像DBA那样,遇到数据库的bug,还得做各种实验,提供证据跟服务商打官司,但是高效正确的使用一个具体的数据库产品还是很重要的,因为任何一个技术产品都不是万能的,他都有强的一面和弱的一面。如果使用的是弱的一面,那就悲剧了,会出现很多性能问题和很多bug。数据库产品本身也有不少文档,也能有助于理解数据库产品的工作原理。

类似的还有什么消息中间件等。但是这些就更偏向于应用了,消息中间件的原理也很重要,了解几个开源的的消息中间件也很必要,不过我觉得只要掌握了计算机系统的原理与计算思维,学习这些技术都不是问题。这些东西都老掉牙了,英文看着费劲,还有中文的。

如果兄弟们的造化很好,有朝一日能够把握开发的同时还得把握应用系统的运营,那么那些原理就更重要了。因为工作中面临的问题,可能已经没有具体的技术材料能够直接告诉你原因了,上网google也找不到问题的答案了。只能通过那些最核心的原理,进行独立的分析。像性能分析那本书中体现的那样,那个时候已经到了见仁见智的情况了,不同的性能分析员对相同的性能测试报告的解读都完全可能不同。这个时候只能靠原理了。

啰嗦这么多,也是鄙人看见的一些人和事的感触,鄙人自己还处在学习编程语言的阶段。跟大家分享一下感触,可能绝大多数都是坐井观天,海水斗量。旨在抛砖引玉,共同学习共同进步。
50 楼 qindongliang1922 2013-12-01  
liyaxi 写道
赞成楼主的话,  干了 5,6 年了真心觉得 基础是最重要 , 共鸣! 共勉!



嗯,一起加油!
49 楼 liyaxi 2013-12-01  
赞成楼主的话,  干了 5,6 年了真心觉得 基础是最重要 , 共鸣! 共勉!
48 楼 qindongliang1922 2013-12-01  
barryzhong 写道
作为一个在前进途中的程序员,楼主注重基础的的方向大家都会非常的认可。可能是市场上大多人过于没有基础了。

不过随着遇到越来越多的问题,我们会发现 楼主提到的东西 不够基础。还比较偏向于应用技术本身。当然这跟我国计算机教育以及发展阶段脱离不开。




兄弟,你有什么想法,完全可以写一篇博客发出来,给大家分享一下,岂不更好?
47 楼 barryzhong 2013-12-01  
作为一个在前进途中的程序员,楼主注重基础的的方向大家都会非常的认可。可能是市场上大多人过于没有基础了。

不过随着遇到越来越多的问题,我们会发现 楼主提到的东西 不够基础。还比较偏向于应用技术本身。当然这跟我国计算机教育以及发展阶段脱离不开。

46 楼 qindongliang1922 2013-12-01  
gemantic 写道
看了标题再看内容.
就只想说一句.
真写了十年代码,感悟必须比你这九句话有用的多.


我只想说一句,到那时,已经是尘埃落定,任你感悟再多,也是浮云!   感谢交流!
45 楼 gemantic 2013-12-01  
看了标题再看内容.
就只想说一句.
真写了十年代码,感悟必须比你这九句话有用的多.
44 楼 qindongliang1922 2013-11-30  
lvwenwen 写道
j2se 2本书: <Thinking in Java> 4th, <Core java 2>


这两本书很不错,有机会一定得读读。
43 楼 lvwenwen 2013-11-30  
j2se 2本书: <Thinking in Java> 4th, <Core java 2>
42 楼 qindongliang1922 2013-11-30  
sunships 写道
抓紧时间。。。哎,没抓得紧啊

抓紧了!加油
41 楼 sunships 2013-11-30  
抓紧时间。。。哎,没抓得紧啊
40 楼 qindongliang1922 2013-11-30  
chaoguo1234 写道
同感,基础打好了才能学得更深入,不然的话,最多只是会调用几个接口

是的,基础必须得搞扎实了。
39 楼 qindongliang1922 2013-11-30  
zhushaolong 写道
深有体会   把那些看起来不怎么起眼的没有牛逼广告语渲染的基础知识熟练掌握了   写起代码来质量好速度快  真心的

恩,确实如此,我现在也有这感觉。
38 楼 chaoguo1234 2013-11-30  
同感,基础打好了才能学得更深入,不然的话,最多只是会调用几个接口
37 楼 zhushaolong 2013-11-30  
深有体会   把那些看起来不怎么起眼的没有牛逼广告语渲染的基础知识熟练掌握了   写起代码来质量好速度快  真心的
36 楼 qindongliang1922 2013-11-29  
黑豹1231 写道
基础真的很重要!!!

嗯,很重要,一起加油!
35 楼 戈登哥 2013-11-29  
qindongliang1922 写道
戈登哥 写道
对于你这样的想法,见解独到的人才 我想说来吧.我们这里欢迎你.

谢谢,发邮件了。

谢谢你对阿里的认可 和对我的信任 我们非常渴求人才 尤其是有自己的独到见解,有思想有潜力的人 你的邮件我已经收到 并已经回复你了.
34 楼 黑豹1231 2013-11-29  
基础真的很重要!!!

相关推荐

    豁然开朗的50句良言.doc

    9. **情绪管理**:第十七、二十一和三十四句强调了情绪管理的重要性,对于需要长时间面对屏幕和代码的IT人来说,良好的情绪调节能力至关重要。 10. **自我关爱**:第二十五句提倡爱自己,IT从业者要关注自身健康,...

    人生应该记住的16句良言

    根据给定的文章标题“人生应该记住的16句良言”以及其描述和部分内容,本文将深入解析这16条人生建议背后蕴含的深刻意义和实用价值。 ### 1. 微笑面对生活 - **原文**:“再烦,也别忘微笑;再急,也要注意语气;...

    中考语文满分作文良言如春

    中考语文满分作文良言如春

    桌面圣经良言

    程序实现在桌面显示圣经名言,每天一句,还可设置灵修经文,也可以设置提醒事项。

    初中语文文摘文苑良言

    【初中语文文摘文苑良言】,就是这样一本集知识与智慧于一体的读物,它引导我们通过阅读古代典籍,结合实际生活,增长见识,培养情感,锻炼思维。 例如,《孟子·梁惠王上》中的一句话:“权,然后知轻重;度,然后...

    激励孩子成长的良言妙语.doc

    在孩子的成长道路上,正确的教育方式和良言妙语如同春雨般润物无声,能对孩子的心灵和行为产生深远的影响。教育不仅仅是传授知识,更是心灵的引导和品格的塑造。以下内容将深入探讨如何通过良言妙语来激励孩子成长,...

    Gates的良言.doc

    #### 十、正面评价他人 **原话:**“永远不要在背后批评别人,尤其不能批评你的老板无知、刻薄和无能。(因为这样的心态,会使你走上坎坷艰难的成长之路)。” **解读:**这条建议提倡一种积极向上的职场文化。在...

    码良是一个在线生成h5页面并提供页面管理和页面编辑的平台,用于快速制作H5页面

    码良是一个在线生成h5页面并提供页面管理和页面编辑的平台,用于快速制作H5页面。用户无需掌握复杂的编程技术,通过简单拖拽、少量配置即可制作精美的页面,可用于营销场景下的页面制作,同时,也为开发者提供了完备...

    送给编程者的良言警句

    在IT行业快速发展的今天,技术更新换代的速度令人眼花缭乱,对于初学者而言,如何在众多技术中找到正确的学习路径,避免陷入学习的误区,成为了至关重要的问题。本文将深入探讨IT初学者常见的几个学习误区,并提出...

    安徽专版2022中考英语复习方案完形填空02师之智慧+忠之良言试题人教新目标版.docx

    ### 安徽专版2022中考英语复习方案:完形填空“师之智慧+忠之良言”解析 #### 知识点一:理解完形填空材料及答题技巧 **背景介绍** 本篇文章是安徽专版2022年中考英语复习方案中的一个完形填空练习题目,旨在帮助...

    喝酒的人必备的良言-----拒酒词

    比如,“只要感情好,能喝多少,喝多少”,这句话表达了真挚的情感不应被饮酒多少所衡量,而是基于彼此的理解和关怀。 2. **以情动人**:拒酒时可以用情感作为借口,如“只要感情到了位,不喝也会陶醉”。这表明了...

    基恩士SR-1000扫码器中文配置使用手册

    基恩士SR-1000扫码器中文配置使用手册知识点总结 一、设备概览 基恩士SR-1000扫码器是一款自动对焦条码读取器,能够与西门子S7-300CPU实测以太网通讯扫码。该设备支持西门子S7-300CPU的以太网通讯扫码功能,提供了...

    安徽专版2020中考英语复习方案完形填空02师之智慧+忠之良言试题人教新目标版

    9. 名词辨析:"hearts"在文中代表内心,表示如果我们选择保留悲伤和仇恨在心中,就会终生背负。 10. 否定疑问句:"Do you think you have got nothing from the wise teacher...",这里使用了否定疑问句来询问读者...

    运动员号码显示板 课程设计

    1. 运动员号码设置电路设计:通过8位拨码开关实现运动员号码的选择和显示,确保能灵活设置两位数字的号码。 2. 电池稳压电路及充电电路设计:采用12V电池供电,设计稳压电路保证系统稳定运行,并设计充电电路以便于...

    扫码枪二维码读取及其与PLC串接流程简单实例

    同时,根据OK和NG的数量,可以计算出扫码良率,这是质量控制的重要指标。PLC还可以根据预设的条件,如达到一定的扫码数量,触发下一个动作,如启动或停止生产线。 在实际操作中,为了确保系统的稳定运行,还需要...

    绿色随机密码生成器,自动生成密码工具,随机码生成小工具

    绿色随机密码生成器,可生成任意长度超强密码,是网管、技术员的居家必备良器

    微捷码与Camtek通力合作增强先进半导体的良率.pdf

    这篇文档主要讨论了微捷码(Magma)与Camtek两家公司在半导体制造领域的合作,以及在提升先进半导体良率方面的努力。微捷码是一家芯片设计解决方案供应商,而Camtek则专注于自动晶圆检测与度量系统。两者的合作将...

    busybox-1.7.2.tar.bz2 busybox 的源码 嵌入式系统必备良码 www.zmemb.com 交大志盟

    busybox-1.7.2.tar.bz2 busybox 的源码 嵌入式系统必备良码 www.zmemb.com 交大志盟

Global site tag (gtag.js) - Google Analytics