作为一个普通的程序员,我一直游走在java语言中,java也确实让我有了很多的体会.不过随着学习的深入,java语言的新技术产生的越来越多,从最初期的javase,我逐渐开始转变到ssh,ssi,这种主流的码农,.过了几天为了解决新问题,webservice的大旗也被我祭出来了,又过了些日子jms架构的activemq也开始必须学习了.再后来开始了一系列技术学习,osgi,restful.....不知道未来还需要学什么,掌握多深才能在社会上有所立足.漫漫的发现自己的年龄大了,不能再进行快速的技术学习和更新换代了.开始关注于java基础的学习了,算法,数据结构也被捡起来了,可能由于天赋所限,永远不会去像ACM的同学一样精通算法并且乐此不疲,但是我终于可以看到一点点让我与身边绝大多数程序员不同的方向,并让我在茶余饭后有了更多的谈资. 通过算法和数据结构的学习,我了解到了,浮于表面的技术太多,掌握起来深度很浅,而且更新换代太快,我们很难去学习得很全面,而且不会很大程度的加深我们的简历深度,很可能我们的优势就在于我们先学习了几天,这样的优势无法持久,可能一个简单的受过培训的应届毕业生就能做得很好,我们如果用它去竞争,可能会让自己败得很惨.长时间的开发web项目让我在javascript上面也有了一定程度的提高,我姑且将它算作我的第二门语言,一门前端的脚本化语言,动态语言,每次看到javascript有了显著的发展我也会沾沾自喜的感觉自己好像还有一门能够广泛使用的第二技术.可是随着web项目的大幅度增加,js也是大家熟悉的语言了,动态语言变得更加丰富了,ruby,python等等大量出现,并且快速打开了局面,一些走中庸之道的语言诸如go语言也开始大红大紫.面对语言层面的海量冲击,我再次出现了迷茫,是否应该学习学习go语言去加强板凳深度呢? 回想自己的学习经历,综合马哲原理,可以发现,新事物一定会代替旧事物,但是新事物并不是新出现的事物,而是拥有顽强生命力的事物.什么语言能够经久不衰,经历过复杂考验,并且和始终为人们所津津乐道,应该算是C语言了,这门语言是我们广大计算机同学在入门时候学习的语言,最初说是半高级语言,不过现在看到C语言和java在第一的位置纠缠了接近10年,并且超过了java成为了第一,并持续了1年左右的时间。这坚定了我学习C语言作为我第二核心语言的信念。我开始逐渐学习并且了解这个带我走入计算机行业的语言。我相信在学习的过程中,算法,数据结构也会提升更多,并且让我对计算机的底层原理也有所接触。自此我认为,如果想作为一个合格的程序员,应该具备三个语言特性,1:底层语言,强化基本算法和数据结构。2:脚本语言,无论什么脚本,动态语言都有着自己不可比拟的特性。3:胶水语言,诸如java,c#都是胶水语言,能够让我们做很多很多的事情。这三门语言不应该有谁瞧不起谁的情况,彼此都会给其它语言以警醒和提示,让我们能够接触更多的空间,也让我们有提升空间。
ps:我上大学的时候,一门高等数学课,同学问老师说你教我这门课能干什么啊,我们楼下的小孩才上高中,都能用basic写个小程序,初中小孩都会用photoshop去修图,我这大学了,还学的计算机我都不会这些,你还教我学什么高等数学,这有什么用啊。老师说:你们楼下小孩都回的东西你还上什么大学去学阿,你还想靠它去找工作啊。人家初中毕业就会你上大学才学会,企业要你干什么。我现在叫你的,是让你在他不上大学的时候永远不可能掌握的东西,让你能够真正的拥有大学生身份的技术。-----给与大家共勉,希望大家能够找到我们程序员的尊严.