最近写了一段时间的java代码,深深感受到ava程序员比我们这些苦B的桌面开发者来说,真的是不知道幸运到哪里去了.
手机桌面开发都是大同小异,无非就是数据库,网站交互,多媒体处理,信息展示,或者是计算这些功能了.
不过在JAVA之中,不管你在干什么,都有非常成熟稳定方便的类让你直接使用,而且还不用你管理内存,用完就扔
这极大地降低了程序员的门槛,极大提高了开发效率.
在我们之前搞桌面应用的时候,真是不可想像.
因为DELPHI 和C++ 功能一模一样,所以拿DELPHI举例吧.
如果你要连接数据库,你就要注意了,你连接的是哪种sql,或者是oracle?mdb?
哈哈,首先,你得找出适应你数据库在windows系统下的驱动进行安装,否则你根本连接不上数据库.
找驱动的过程可以说是非常痛苦的,搞过的人都知道, 这里就不细说了.
找到了驱动,也就是你可以连接啦,然后你还得研究一下当前数据库的一些独(奇)有(葩)特性,事务管理方法,存储过程写法,然后跟你下载的驱动进行结合调用啊.
简言之,非常痛苦
再比如说,我要模拟网站登录后进行自动操作功能.
你得自己管理http对象,如果是HTTPS,那恭喜你要做的事情又多了一倍,自己获取cookie,管理好cookie,每次提交时候手动带上cookie,设置HTTP头,还要关注UTF8 和 GB2312之间的转换
但是这一切在JAVA上面好像都是轻轻松松的,什么东西都是现成的,让你直接就用了.
如果从开发工具角度看,或者说从公司层面来看,带来极高的开发效率,老板喜欢的很.
如果从程序员个人发展来看,就不大好了.我们可以看到,网上很多伪大神写了很多剖析JAVA源码,android源代码的文章,为什么会这样,就是因为他们提供的功能对程序员太友好了,以至于根本没法提升程序员的个人水平,而只能成为一个机械的写手而已.如果你要提升,你只能去读他的源码,你从源码中,才能得到一丁点的提升.
可笑的是,这种在桌面编程中司空见惯,或者说是程序员必备的特性,在移动互联网界就成了大神的专属,可想而知:在中国程序员中,充斥着成千上万的废物,一种废物只会机械的写,一种废物则在另一群废物面前,炫耀一些本应该具备的能力.
我们打个比方,一个windows程序员的终极目标就是将windows内核撕成一块块的,任意修改,将整个电脑的真正控制功能掌握在自己的手上.
在这里,你拥有的,只有windows提供给你的若干api,但你能做的事情却远远不止如此,你可以写一个驱动,跟内核平起平坐,你可以写些HOOK工具,让所有软件都在你的监控之下,你可以远程控制别人的电脑,或者让别人控制你的电脑,只要你有想像力,都能做到.
但是android下的APP的开发,我觉得根本没有资格叫什么android程序员,因为真的是实在是太简单的,没什么技术含量,也没有什么吸引人的技术,全都是电脑上玩烂的技术,开发的人,本质上没任何创新,什么框架内核新思维,都是些代码粘贴者而已.