好像有點傻……


瀉藥

這並不傻,恰恰是工業需要,你說的是一個polyglot的問題

一個常見的問題就是當程序員們開發出了一個系統之後,突然需要其他語言寫的類庫

而且當前語言沒有,那這個時候就蜜汁尷尬了

那腫麼辦呢?以前的做法就是通過web service將其連起來

但是這樣做有幾個問題,首先這個系統必須先是一個服務,要能配置要能安裝啥的

然後要有web api,這樣才能通過網路協議將其連接起來

那很多語言是沒有網路以及服務這些包裝的,比如R,所以腫麼辦呢?

所以有一個研究項目叫做llvm,簡單說就是做一個統一的編譯器前端

將動態類型語言,比如腳本以及靜態類型語言做一個統一的中後端

llvm取得了比較大的成功,隨後graal跟進,將native以及跨平臺編譯成byte code的語言統一起來

框架方面,actor model在並發領域有著比較長期的應用

所以發展出了vert.x這一實現,目前polyglot的進展大概是這樣子

總體來說,還在發展中,還需要時間發展,但是理論上的blockers已經被移除了

那剩下就是體力活了,慢慢磨合

參考:

https://www.graalvm.org/

The LLVM Compiler Infrastructure Projecthttps://vertx.io/

Reactiverse


可以,單片機好多都是c裡面混著彙編。只要編譯器支持,你想怎麼寫就可以怎麼寫


有polyglot需求的通常就兩種人:

  1. 每種語言都有了解但是不深入,卻愛裝逼
  2. 真正瞭解主流語言的深刻內涵和利弊,能根據場景準確選擇最合適語言的


可以,比如到彙編或者.net或者jvm


推薦閱讀:
相關文章