混合語言編程

c++/cli已經出現了一些年頭了. 我想, 這個東西的產生,  遇到了很多人的聯合絞殺, 很多人好像毒蛇猛獸一樣去看待之.

至於歐洲工業協會由於英國代表的反對票, 標誌着微軟把c++/cli納入標準的一次慘痛的失敗.

不過, 我還是很喜歡c++/cli的, 哈哈哈, 我這個人的風格就是喜歡亂中有序, 亂世亂了敵人. 何況, 軟件的本質是爲了完成顯示需求, 做出功能. 何必去管他所謂的純潔性, 一致性.

1. 如果是一個短期的工程, 完成之即可. 完成都不用維護, 爲何不用最簡單, 最直接的方式, 減少錯誤, 提高開發效率. 這個時候可選的東西很多. 但是, 還是有有很多牛逼兮兮的人, 非要使用c, 或者c++, 就算是c++, 也非要像一個權力狂一樣, 仔仔細細的控制每一個細節, 恨不得把一些關鍵的代碼用匯編寫一遍, 那才叫happy, 才叫一個酣暢淋漓. 但是, 現實往往不會這麼美好. 假使你非常聰明, 把c,c++,彙編理解的比我牛逼100倍, 那麼好, 我相信你寫的代碼絕對完美, 不論效率, 結構, 還是算法, 代碼量, 都是一個最佳配比. 可是當一個變更過來的時候, 也許你實現預料到了, 能夠承受, 一頓小改; 如果沒有預料到, 肯定是一頓大改; 累的死去活來. 更何況比我強100倍的人, 恐怕世界上也寥寥可數(雖然我還是相信有這樣的人, 比如anders, 卡馬克那些神人, 他們是和上帝做朋友的吧).

2. 如果是一個大型的工程. 我們也未必就能認定, 混合代碼編程, 比單獨的代碼編程的維護成本要大.


總而言之, 我是十分贊成以及喜愛, 把各種編程語言融合在一起, 讓各自做各自最擅長的事情. 計算機技術發展到今天, 大融合的趨勢也是十分喜人. 比如.net平臺, 突然發現, 好多語言都變得親切起來, cts讓大家都說同一種語言, 正所謂書同文,車同軌, 這事多麼方便啊.

好比過去, 人們其實早就發現c, 或者c++寫代碼是那樣的讓人痛苦, 即時是一個很小的程序, 也一樣有一種殺雞用牛刀的感覺. 摸一把小刀出來不就可以了. 所以, 有了膠水語言, python, perl等, 程序員發現人生有了盼頭, 活活, 我可以活下去了, 不用再爲了僅僅是從一個文本里面挑出一些文字出來, 而去main{.///} gcc.. link, ...運氣稍差, 還得debug, oh shit.... 而且, 當需要在另一臺機器上運行的時候, 還得從新來一遍...

然而, 膠水也不總是這麼方便的. 我們知道爲perl或者python寫一個c的模塊是多麼的艱難, 雖然是寫完之後就一勞永逸了. 但是寫的過程可以發現, 如果沒有swig, 這仍舊會是一個非常噁心的事情.

現在, 有了.net, 您的生活從此不再黑暗. 當然, java的兄弟們也一樣.  比如ironpython和.net框架之間的無縫結合, jython和java的無縫結合. 這是比502還要牛逼的膠水啊, 以前的那種膠水在這面前, 曾經十分順眼的結合處, 一比之下變得異常醜陋, so ugly...

我是python的鐵桿fans, 雖然恨不得全部用python去完成了. 比如我就死活很不喜歡javascript, 真醜陋的語言, 實在向不出來同樣是腳本語言, 居然能有這麼醜陋的. mit不是已經把scheme撤了, 換上python了嗎. 瀏覽器的大哥們, 求求你們了, python吧....

但是我們還是得知道, 這個不現實, 何苦呢. 有些事情還是c,c++,java.c#等比較合適, 尤其是比較複雜一點的大型框架, 用前者寫起來, 心裏底氣足一點.

我想, 如果我是一員武將的話, 如果我去征戰, 我的戰馬肯定要挑一匹最強的,因爲很不幸, 它需要背很多武器.








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章