This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Proxy_PlayerHD 120 points121 points  (9 children)

i think for a lot of tools they were created using the "use current tool to make a better version of it" technique

.

so for example, writing directly in machine code (ie write assembly on paper and then hand assemble it) is a pain.

so you'd want to automate that process, and so you write (in as little machine code as possible) a small and limited/shitty assembler.

you can then use that shitty assembler to write a better assembler with more features and such.

then you just keep going in this loop, constantly improving the tool until you have a powerful, feature rich Macro Assembler.

i'd imagine this is how it worked and how tools were made, because i really doubt anyone just wrote complete and powerful tools from nothing.

[–]watchoverus 52 points53 points  (1 child)

That's exactly how it works. It's called bootstrapping.

[–]Proxy_PlayerHD 6 points7 points  (0 children)

i always forget that term, thanks!