編程語言歪述

現代網絡的發展,越來越多的應用都搬到Internet上來了,強調用戶體驗。相應的編程需要開放性的語言,動態裝入,動態執行,遠程互動(互操作)。基於工程重用,又有了各種模式之說。所以對編程語言的不斷提出要求。雖然,筆者認爲,C/C++已經夠好了,能滿足絕大多數的場合,那麼,是什麼動力促使Java,C#等語言推陳出新?是不是僅僅是上游供應商的升級換代賺$的鬼使神差?還是廣大程序員的理所當然的要求呢?
那麼,上游供應商又吸收了原有的語言的特性上又集成了什麼“先進的功能”呢?這裏說這些顯然多餘的,因爲廣大程序員已經接受了諸多概念,並在編寫系統的過程中得到體現了,理所當然的事情就不需要強調了。
應該說,每一個新增的語言特性都是機遇一類的“方便性”需要策動的,而且這一類是多數程序編寫過程中都會遇到的。說到這裏,我強調一點,由於複用和分工的需要,提出了層的概念。層,初時並沒有嚴格的定義,後來MIS做多了,網上BBS交流多了,於是DB層,數據訪問,通訊層,業務邏輯表示層等概念的含義越來越確切了。由於層越來越清晰,也出現了系統編程的分工,有人專門編寫中間層(數據訪問,通訊層和部分業務層、表示層的集合)。
由於層的出現,顯然對於object 與object的信息交換很是重要頻繁,於是動態語言就有了較大的市場需求動力,雖然對於C++來說用以下方法也可記錄成員數據並能動態交換:

#define InitMember(p,val) g_EnvVariant->RegMember(this,&p,typeid(p).name(),#p);##p=val;
InitMember(Left,0);//這樣就可以記錄Left的名稱,類型,地址等,交換的時候可以用通用的循環即可。

但是,更多的“懶惰的”程序員還是選擇了Java,C#等語言來完成。但是,我們又看看Java的JNI,我們又發現,其實Java的核心也是C++完成了幾乎全部。於是感慨,是不是C++給上游的廠商用得多,而下游的用得少?多家企業的經歷讓我體現到,用C#@.NET的程序員的薪水比起C/C++少很多,是不是老闆選用的唯一理由呢?

語言正在設計中,敬請發表意見
http://community.csdn.net/Expert/TopicView3.asp?id=4690611
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章