是先有鸡,还是先有蛋
是先有鸡,还是先有蛋这个古老的哲学问题,在世界上还是比较普遍的。
例如在计算机行业里面,是先有编译器,还是编译器源代码?
如果你答先有编译器,那编译器从那里来的。
如果你答先有源代码,没有编译器源代码有什么用。
好歹计算机的历史不长,我们可以好好的考察一番,
不像鸡和蛋的问题那样,历史太久远。。。
有朋友肯定这样回答第一个编译器可以用机器语言写出来。这样确实是解决了这个博论,因为第一个即使鸡又是蛋(在机器语言看来,即是代码又是程序)。
然而实际上却不完全是这样,先用机器语言开发出来第一个编译器,在用这个编译器开发新的编译器,不停的迭代下去,
一直到今天,如我们所见到的这样。这就好比生命的进化论。。。,所以既不是先有鸡,也不是先有蛋,是先有生命的
元素(机器语言),然后不停的进化(迭代)到今天,让你同时看到了鸡和蛋。
例如交叉编译工具的制作,使进化过程变成了最少的两步(还是脱离不了迭代的本质),你一定还知道两次编译gcc的事情吧。
顺便在提问下:是先有大人,还是先有小孩,哈哈。。。