應該這么說,it技術的升級,對于傳統的技術,是一種降維打擊,現在的實習生,啥都能寫,從數據庫寫到gui,從移動寫到云端,**一個人全搞定了**,現在只是這些人數還不多而已,但是越來越多,因為中國這么大,總有人愿意學這些東西,然后他們自己試了一下之后發現,誒,好像挺好用的,那為什么還要去用那些笨重的名為互聯網實為企業開發的老工具呢?
說回這個工具,這個主要是vert.x中國用戶群里又開始了月經的討論,到底怎么在vert.x上連db,orm用什么,blablabla,當然最新的結果是利用netty和pg/mysql的異步api做出來的reactivemysql/pgclient,這個techpreview已經放上的官網了,成都電子科大的一個小伙貢獻的
但是從本質上說,群里用戶糾結的還是從sql到javaobject的轉換,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一樣,一捅到底了,開發也不需要去搞什么ormapping了,mybatis還是hibernate都可以一腳踢開了,開發簡單幾百倍了
看來一捅到底的架構是大趨勢
程序員還是要趕緊全棧化,crud這些破爛都在變得越來越簡單,以后指望說像以前那樣,靠一個后端,一個前端之類的混一輩子我看是很難了,因為以前這些軟件系統互相之間不太一致,類型系統什么各搞各的,然后需要不同領域的人去對這些類型,以后不用了,機器都給做了,那日常工作需要的人頭就越來越少了
央企都在互聯網+混改了