怎么看Oracle利用Graal制作的数据库多语言接口引擎?
应该这么说,it技术的升级,对于传统的技术,是一种降维打击,现在的实习生,啥都能写,从数据库写到gui,从移动写到云端,**一个人全搞定了**,现在只是这些人数还不多而已,但是越来越多,因为中国这么大,总有人愿意学这些东西,然后他们自己试了一下之后发现,诶,好像挺好用的,那为什么还要去用那些笨重的名为互联网实为企业开发的老工具呢?
说回这个工具,这个主要是vert.x中国用户群里又开始了月经的讨论,到底怎么在vert.x上连db,orm用什么,blablabla,当然最新的结果是利用netty和pg/mysql的异步api做出来的reactive mysql/pg client,这个tech preview已经放上的官网了,成都电子科大的一个小伙贡献的
但是从本质上说,群里用户纠结的还是从sql到java object的转换,orm就干这事的,但是这里经过了一层转换,那就是先要经过sql,然后再把结果取出来,然后再将结果转换成不同语言的对象,这么一个过程
这样做的坏处就是,不管怎样,都要经过sql,烦死了,不仅开发麻烦,而且这个过程也是一种无意义的资源浪费
所以nosql出来之后,大部分nosql因为本身也不是rdbms,所以谈不上去遵守sql标准,所以一开始这些工具提供的都是js等对应的语言api,如果是用json结构存放的话,那api操作起来就非常简单了,如果不是的话,要经过一层转换,因为不同软件的类型系统是不一样的,很多人的日常工作,其实就是在这些乱七八糟的类型上对来对去,一周上五天班,估计有四天半在对字段对类型
以前j2ee最喜欢的,从mysql的类型换成java的类型,再换成js的类型,然后再倒回去,写一个crud要转换五六次
当然以前sql是标准,数据库都有这个东西,所以没办法,大家都得这么干,nosql算是扯起来反抗的大旗,反正我们不是rdbms,所以不遵守这个标准了
其实sql这个标准本身就是由oracle牵头搞的,1979年,oracle率先提供了商用的sql,从那以后,sql成了所有数据库的标准
那现在有一个致命的迹象,**那就是oracle自己开始不用sql了**
现在oracle自己站出来说,我们的数据库可以提供不用sql而直接用其他语言的引擎,那这个事情就完全不同了
虽然这一切都只是刚开始,但是如果这些成真的话,我写一个java系统,直接用java调用数据库的api,不就好了?还要sql,orm以及随之而来的各种工作吗?不用咯
Graal是多语言编译器,可不仅仅是js,py这些语言,理论上它什么语言都能支持
那如果操作数据库不需要sql的话,那开发是不是可以非常简单?就跟nosql一样,一捅到底了,开发也不需要去搞什么or mapping了,mybatis还是hibernate都可以一脚踢开了,开发简单几百倍了
看来一捅到底的架构是大趋势
程序员还是要赶紧全栈化,crud这些破烂都在变得越来越简单,以后指望说像以前那样,靠一个后端,一个前端之类的混一辈子我看是很难了,因为以前这些软件系统互相之间不太一致,类型系统什么各搞各的,然后需要不同领域的人去对这些类型,以后不用了,机器都给做了,那日常工作需要的人头就越来越少了
央企都在互联网+混改了