元编程的胡思乱想

前段时间比较忙,可是我还是把池建强的Mac人生元编程看完了,真的是一本发人深省的好书,一口气读完了(PS:不对应该算是两口气把。)真的觉得作者真的是把,人生看穿了,把编程也看穿了,用人生在编程。

书中说所谓元编程既是操作代码的代码。所谓操作代码的代码,书中说是Java和C#的反射,C++的模版方式。(PS:OC应该是runtime,lisp应该是宏至少我是这么认为的)。

仔细想一想,编程到底是什么?在我看来程序就是把你的信号(操作)按照预设的逻辑产生的信号(操作)反馈给你。而程序编程就是对这一逻辑过程的描述。

众所周知计算机程序是建立在0和1之上的一个庞然大物,可是万变不离其宗,它还是基于0和1之上的,伟大的智者们只是用0和1就开创了如此伟大的新纪元,每一次科技的飞速发展都伴随着一种元编程,汇编是对0和1的元编程,而C语言又是一次对汇编的元编程,现在的高级语言又无一例外的是对C语言的元编程。自始至终人们只不过是在对前人的技术进行元编程,就让全世界的人看到了这无比的硕果。

如果我们每个人都对自己的人生编程,岂不是每一个人都能成为伟人?但是结果却恰恰相反,只有极少数的人成为了那本该唾手可得的伟人。为什么?用元编程的思想来解答,因为我们不是程序底层不是0和1.我们是一个人,是一个到现在无法用科学去解释,而且以后也不会有可能用科学去解释的人(PS:请原谅我的大胆)我们每一个人都是由所谓的细胞组成的(PS:只是所谓)不管它是什么它肯定不是0和1,“伟大的上帝”(PS:其实是他们自己)用最微小的物质进行元编程,再元编程,再元编程,再元编程。。。。(PS:现在产生了人,谁知道以后会产生什么呢)而这最小的物质是什么?

元编程的思想就是驾驭一些已有东西使其按照规律产生期望的东西,这也是编程的思想。那人生也是,可是人们并不知道自己时时刻刻都在为自己编程,经常出现bug(所以伟人肯定也是bug的一生,只不过完美的部分过多的展示给你罢了),可是人偏偏又是容错率相当相当高的,一般不会死机,除非你一直在对bug元编程,所以你生病可能就是无限多的bug累计产生的(PS:验证了来病如山倒,去病如抽丝这句话。)你有没有想过用人去编程?那不就是团队?不就是企业?不就是城市?不就是国家?不就是社会?所以你知道我们领导人有多辛苦多不容易,他们在尝试修改一些千年的bug和一些新引进的bug,社会的脚步不会停顿,就像需求的更改不会有片刻迟疑,而这样就会引入更多的bug。(PS:勿谈国事,啦啦啦)

我猜想如果人可以利用上帝的元编程的结果去元编程的话,肯定会出现比计算机更厉害的东西,那个时候也许就把人自己打败了,出现了无数科幻电影的一幕,人类被奴役,被研究,被其他生物元编程(PS:估计是太晚了一边打字一边做梦,闭着眼做梦去咯,晚安)

元编程的胡思乱想,码迷,mamicode.com

时间: 2024-12-26 09:24:52

元编程的胡思乱想的相关文章

C++模板元编程 - 2 模仿haskell的列表以及相关操作

这是昨天和今天写的东西,利用C++的可变模板参数包以及包展开,模式匹配的一些东西做的,感觉用typename...比轮子叔那个List<A,List<B, List<C, D>>>的设计要好看不少. List有一个很巧妙的继承,只有那么做才能使用类似于List<>::Rest的写法,直接定义成template<typename T, typename... TArgs>List是不行的. Change这里可以给一个args...换另一个包装,这里

《Effective C++》:条款48:认识template元编程

Template metaprogramming(TMP,模板元编程)是编写template-based C++程序,编译的过程.template metaprogramming是用C++写的模板程序,编译器编译出具体化的过程.也就是说,TMP程序执行后,从templates具体化出来C++源码,不再是模板了. TMP有两个作用,一是它让某些事更容易.例如编写STL容器,使用模板,可是存放任何类型元素.二是将执行在运行期的某些工作转移到了编译期.还有一个结果是使用TMP的C++程序可能在其他方面

C++拾遗--模板元编程

C++拾遗--模板元编程 前言 模板元是用于递归加速的,把运行期的函数调用变到编译期进行代码展开,类似于内联函数.下面看一个实例:斐波那契数列第n项求解. 模板元编程 #include <iostream> #include <ctime> using namespace std; //递归法 int fib(int n) { if (n < 0) return 0; if (n == 1 || n == 2) return 1; return fib(n - 1) + fi

模板元编程

//模板元把运行时消耗的时间,在编译期间优化 //递归极其消耗时间 1 #include <iostream> 2 3 //模板元把运行时消耗的时间,在编译期间优化 4 //递归极其消耗时间 5 6 template <int N> 7 struct data 8 { 9 enum { res = data<N - 1>::res + data<N - 2>::res }; 10 }; 11 12 template <> 13 struct da

初识C++模板元编程(Template Mega Programming)

前言:毕设时在开源库上做的程序,但是源码看得很晕(当时导师告诉我这是模板元编程,可以不用太在乎),最近自己造轮子时想学习STL的源码,但也是一样的感觉,大致了解他这么做要干什么,但是不知道里面的机制.于是开始学习<C++模板元编程>,看完第二章对一些东西豁然开朗. PS:该书也有点老了,C++11标准还没出来,主要用的Boost库. Traits(特征) 说正题,在STL中经常可以见到后缀为traits的名字,比如经常用到的std::string,本质是类模板basic_string的第一个参

C++11模版元编程

1.概述 模版元编程(template metaprogram)是C++中最复杂也是威力最强大的编程范式,它是一种可以创建和操纵程序的程序.模版元编程完全不同于普通的运行期程序,它很独特,因为模版元程序的执行完全是在编译期,并且模版元程序操纵的数据不能是运行时变量,只能是编译期常量,不可修改,另外它用到的语法元素也是相当有限,不能使用运行期的一些语法,比如if-else,for等语句都不能用.因此,模版元编程需要很多技巧,常常需要类型重定义.枚举常量.继承.模板偏特化等方法来配合,因此编写模版元

模板元编程加速递归

//模板元编程加速递归 //缺点:模板元在编译时处理,无法调试,并且会加大代码体积 #include<iostream> using namespace std; template <int N> struct data { enum{res = data<N - 1>::res + data<N - 2>::res}; }; template <>//模板具体化 struct data<1> { enum{res = 1}; };

atitit.元编程总结 o99

atitit.元编程总结 o99.doc 1. 元编程(Metaprogramming) 1 2. 元编程的历史and发展 1 3. 元类型and元数据 1 4. 元编程实现方式 2 4.1. 代码生成 2 4.2. lex和yacc分析器 2 4.3. 泛型编程 2 4.4. 注解 2 4.5. 解释型框架 2 4.6. 对象工厂概念,一个会写程序的程序! 3 4.7. Aop 3 4.8. 数据对象触发器和 可配置的插入式服务 3 5. 应用场景 4 6. 参考 4 1. 元编程(Meta 

201707《Ruby元编程》

元编程不过是编程--经典必读 作用域(绑定) 改变作用域的关键字, 分别是module,class和def.我们称为作用域的门(scope gate) instance_eval以实例作用域执行代码 class_eval以类定义作用域执行代码 Kernel#eval方法,当前上下文中直接执行代码字符串 instance_eval class_eval 对象 单例方法 -- 类名(元类对象) 类方法 实例方法 表格是不精准.不完备的表达,instance_eval.class_eval使用时需要注