对元编程的一些思考
来源:互联网 发布:神经网络算法是什么 编辑:程序博客网 时间:2024/06/05 02:43
编程就是写能够操作数据来实现功能的过程。
在程序执行过程中,数据是不停变化的,但过程一般不变,它们忠实的按照程序员的思维执行。可以说,过程就是程序员思维的机器化。
程序编译完成后,过程和数据之间就有了明确的界限,这个界限难以逾越,否则就会带来安全隐患。如果使用者能在使用程序过程中改变过程并超出程序员的预计,就有可能利用程序作一些超出预想的事情,比如犯罪。
编写在编译器或运行期还能变化的过程,就是元编程。
c/c++的宏,是最简单的元编程,功能也非常弱。c++的模板,可以在编译器执行所有复杂的逻辑运算,生成想要的过程,这是完全的元编程,但是因为模板不是为元编程设计的,所以用起来非常别扭。
在编译期进行计算,生成过程的,叫产生式编程。
还有不是产生式编程的元编程,如javascript和lisp,就是能在运行时查询、生成、修改过程,这种灵活性比产生式编程更高。
在程序执行过程中,数据是不停变化的,但过程一般不变,它们忠实的按照程序员的思维执行。可以说,过程就是程序员思维的机器化。
程序编译完成后,过程和数据之间就有了明确的界限,这个界限难以逾越,否则就会带来安全隐患。如果使用者能在使用程序过程中改变过程并超出程序员的预计,就有可能利用程序作一些超出预想的事情,比如犯罪。
编写在编译器或运行期还能变化的过程,就是元编程。
c/c++的宏,是最简单的元编程,功能也非常弱。c++的模板,可以在编译器执行所有复杂的逻辑运算,生成想要的过程,这是完全的元编程,但是因为模板不是为元编程设计的,所以用起来非常别扭。
在编译期进行计算,生成过程的,叫产生式编程。
还有不是产生式编程的元编程,如javascript和lisp,就是能在运行时查询、生成、修改过程,这种灵活性比产生式编程更高。
0 0
- 对元编程的一些思考
- 编程的一些思考
- 关于C++友元的一些思考
- 关于C++友元的一些思考
- 对台球的一些思考
- 对病毒的一些思考
- 对职业生涯的一些思考
- 对一些问题的思考
- 对自省的一些思考
- 对STL的一些思考
- 对概率的一些思考
- 对javascript的一些思考
- 对前沿的一些思考
- 对新技术的一些思考
- 对IXP的一些思考
- 对计算机专业的一些思考
- 对哲学的一些思考
- 对迷茫的一些思考
- php学习之道:WSDL详解(二)
- 纯CSS画的基本图形
- ThinkPHP学习笔记
- 程序小错误调试总结
- php学习之道:WSDL详解(三)
- 对元编程的一些思考
- 编写具有文字效果的按钮
- java 四种作用域 private 缺省 proteted public
- 谈谈我对学习技术的一点体会和看法
- CSDN开源夏令营 百度数据可视化实践 前言
- 刻录软件的选择
- USACO-cha1-sec1.4 Mother's Milk
- 唤醒锁: 检测 Android* 应用中的 No-Sleep(无法进入睡眠)问题
- 【OJ练习】Fibonacci数列的计算和转换