算法+数据结构=程序设计,我上大学的时候流行的说法,后来有一位从企业转行做老师的愤青老师很激动的告诉我们,算法+数据结构+设计模式=程序设计,他大声喊道,设计模式才是王道,就好像一个智者在告诉我们这些土逼什么是真理。也是在那个年代,我见到了一部iphone 3S,一部区别于其他手机的高级货,那时候我甚至以为那不是个手机,可能是个PSP,但是有打电话的功能。后来我听说了一个叫Android的东西,据说以后会火。但是我并没有因为我懂点Java就转投了Android,因为你在没有见过智能手机的时候怎么能懂Android能干什么,这也说明好奇心不足是不行的。
后来我大学毕业,发现很多公司要求是会Spring,Struts,Hibernate,才明白Java要懂框架,如今我离开web开发届3年以后,再回到做互联网懂企业,新的技术,越来越多,SSH已经不算什么。我们以往知道web开发的神器有三个,jsp,asp,php,好像没有别的选择,知道jsp从servlet而来,如今,有人用python做后台,有人用ruby,甚至连javaScript这种我以前认为只是用来验证表单的语言也可以做后台,还有一些我根本不知道的语言。javaScript,PHP,python都有很多框架,很多玩法。那么我们还要java干什么?
这些都很土,移动互联网才是现在都主流,有IOS,也有Android,然而我们不得不去想,既然所有程序都可以运行在浏览器上面,我们要IOS和Android都区别干毛?HTML5可以做到一切,javaScript可以做到后台。很不幸的是javaScript也包含在HTML5里面。或许有一天这样的事情就发生了:有一部HTML5手机,上面的所有APP都是基于HTML5写的,Android或许结束了他的使命,像WML一样。HTML5的编码方式绝对比起Objective C和Android都更简单,但是也不至于每个人都能写,每个人都可以成为程序员。
如果我们再想想我们平时编码都方式,我主要从事Java程序开发,我发现都现象是几乎同事都在用面向过程都方式在使用这门纯面向对象都语言,为什么呢?是因为他们能力不足吗?是的,也不是的,他们之所以没有这种能力是因为不需要有。因为大多数程序员所做的是实现业务,框架的部分已经有人实现了。很多专家和科学家在研究如何让你的程序可读性更强,更易开发,更轻量级,更具扩展性,更。。。你所要做的只是在一些方法里面填值,而且这件事情将越来越简单,为什么?因为程序设计语言也在向轻量级方向发展。
终将有那么一天,所有人都是程序员。你打开自己的手机,打开一个叫“编程”的APP,在里面写上HTML5,或者更简单的语言,甚至汉语,只要符合逻辑就行。就是这么简单,因为复杂的事情都被框架做了,“编程”APP甚至可以提示你怎么写。