學習scheme的過程裏面, 對動態語言大有感悟, 發現一種比較新穎的方式來實現動態語言
現在有不少動態語言了, 比較看重的數python, 和ruby. 關於ruby, 我也有過一點點接觸, 第一感覺十分不愉快. ruby有很多的perl的痕跡. (補充一點, perl多年來沒有更新, 說難聽點, 有點夕陽無限好的感覺)
所以, 我最看好的當屬python.
python作爲一個成熟的動態語言, 發展得十分威猛. 有多個實現, 官方的有CPython, 由老大控制着Python這個語言的根基. 其他的有幾位英雄, 像Jython, IronPython, 等等, 提供了Python和JDK和.NET平臺的無縫連接. 端的是異常威猛.
動態語言+開發平臺, 使得Python直接進入企業級開發的領域.
後面這兩種, 都是Python語法+ 虛擬機技術來實現的. 從本質上而言, 和CPython無甚區別. 但是, 事實上, 這一平臺的分離, 使得語言的互通性變得十分簡單. 都是在虛擬機上跑的, 反正大家都是說的同一種語言, 互通共有, 成了一件自然而然, 水到渠成的事情.
不知道有多少人做過Python的擴展, 用C/C++給Python寫擴展模塊. 這種方式是非常好的, 用C來寫模塊, 完成需要高性能的功能的實現, Python作爲膠水語言, 把各個模塊集成到一起. 在生產效率和運行效率之間得到一個平衡, 既得到了良好的性能, 又把程序員從牛刀殺雞的情景中得以解放.
比如寫UI, 大家以前或者現在都是用C++來完成的. 其實挺鬱悶的, GUI裏面並不需要搞這麼麻煩. 用Python來完成最合適了, 字符串處理, 內存資管理, 等等, 會減少很大的工作量.
(未完待續)
不過, 寫模塊擴展本身並沒有這麼簡單, 還是需要一點知識的. 有一些工具幫助大家, swig 或者boost的python模塊. 情況會好很多, 但並沒有好多少.
這個時候, 虛擬機上的python的優勢就凸顯出來了. ironpython可以無縫的訪問.net平臺, 你什麼都不用做, 就能直接使用.net裏面的winform寫一套界面出來. 就是說, 寫擴展模塊的壁壘一下子減輕了大部分, 雖然不是全部. 難道不令人激動嗎??
動態語言和虛擬機實現, 暨介紹一下我設計的一個新型的動態語言(1)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
動態語言和虛擬機實現, 暨介紹一下我設計的一個新型的動態語言(3)
接下來的任務, 就是逐步考慮語法的細節問題. 前臺後臺需要同時對照, 權衡利弊, 得到一個比較好的方案.語言名稱:snail (蝸牛, 取意緩慢, 我
lakewalker
2020-06-27 22:25:28
Lisp的本質(The Nature of Lisp)
lakewalker
2020-02-25 23:46:26
[zz] scheme
lakewalker
2020-02-25 23:46:15
動態語言和虛擬機實現, 暨介紹一下我設計的一個新型的動態語言(2)
lakewalker
2020-02-25 23:46:15
lisp 鳥瞰...
lakewalker
2020-02-25 23:46:14
scheme 學習筆記(0)
lakewalker
2020-02-25 23:46:14
scheme 愛好者論壇
lakewalker
2020-02-25 23:46:14
動態語言的動態綁定的實現機制, 以及改進
lakewalker
2018-08-24 10:36:31
snail中的語句和表達式的設計想法
lakewalker
2018-08-24 10:36:18
snail 中遇到的問題與思考
lakewalker
2018-08-24 10:36:18
函數式編程的一些想法
lakewalker
2018-08-24 10:36:17