Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

But in this case the program also creates the computer it runs on.


You can't bootstrap a cell from DNA - you need a functioning cell to start with. There's a lot of semantic data that's embodied in the existing set of proteins and other functional elements, and I don't think it's clear that the DNA of any moderately complex organism actually expresses that state.


You can't bootstrap a self-hosting compiler from a language you just made up either. You'll need to first write a compiler in another language then use it to compile the compiler you wrote in your new language. I think the compiler/program dichotomy is a more apt metaphor for cells and dna than the computer/program one.


See https://news.ycombinator.com/item?id=22515015, in particular the "Reflections on Trusting Trust". You can bootstrap your target language from almost nothing by incrementally compiling more complex compilers, and all the intermediary complexity is stored in the compiler, not in the source code of the language you're trying to bootstrap. Notably, life did proceed like this - incrementally, from the first replicator.

(Another way to look at it: a piece of code, be it DNA or a program written in a programming language, is just a bunch of symbols. You can't divine what these symbols mean from looking at the piece of code alone; you have to understand the mechanics of your compiler and your runtime. And these can evolve separately to the code you're looking at.)


With a very complex CPU architecture and ISA (chemistry, laws of physics, protein folding, etc).




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: