元编程
什么是元編程以及元語言?
能否以通俗易懂的語言和例子具體解釋一下,歡迎使用簡單的代碼示例:1、什么是元編程,和我們常見的編程(比如用C/C++/JAVA)編程有什么不同?為什么需要元編程,它有哪些優點?
2、什么是元語言,這種語言和常見的編程語言有什么區別?
3、目前已知的元編程技術和語言都有哪些?大致介紹一兩種即可。
P.S.
本人很小白但不全白,有那么一點點計算機編程基礎(JAVA),本來是拿蔡學鏞的《編程ING》來翻兩眼,因為副標題叫人人都會編程。。。然后就接觸到REBOL這種語言,然后感覺到這種語言非常的奇怪,比如它把所有的代碼都視為不同類型的值,并且支持多達幾十種類型的數據,語法也非常的奇怪,各種括號、冒號等運算符。所以有點蒙,望大神講解一下。 添加評論? 分享 默認排序按時間排序
2 個回答
14贊同 反對,不會顯示你的姓名 貓殺?自由開發者 14?人贊同 元編程一言以蔽之,就是用代碼生成(操縱)代碼。常見的開發語言均能做到元編程,Lisp這貨就不用多說了,C的Marco,C++的Template,Java的Annotation,C#的Attribute、Reflection、CodeDom和IL Emitter,各種腳本語言(如js、python)的eval,甚至連Unix/Linux的shell腳本也能。
元編程常見的應用場景很多,擴展(重構)語法、開發DSL、生成代碼、根據特定場景自動選擇代碼優化、解決一些正交的架構設計問題、AOP等等。
所以元編程存在的目的,就是多提供了一個抽象層次。
至于元編程有什么優缺點,爭議還是比較大的。比如以重構語法的應用為例,很多元編程的反對者就認為這樣會導致代碼的可讀性、可維護性降低,分化社區,影響交流,因為每個開發人員都能搞一個自己的方言。
總的來說,元編程玩得轉的話會讓你日子好過一些,玩不轉會讓你日子不好過一些。 發布于 2014-01-21?添加評論?感謝? 分享 ?收藏???沒有幫助???舉報???作者保留權利 4贊同 反對,不會顯示你的姓名 蘭迪諾德?manshiftman 4?人贊同 元編程之javascript?這篇文章寫的很不錯。推薦下,領悟投了可能對你茅塞頓開 發布于 2014-05-22?添加評論?感謝? 分享 ?收藏???沒有幫助???舉報???作者保留權利
總結
- 上一篇: peppa pig原版_Peppy和Mo
- 下一篇: 简单屏幕录制截屏工具