Difference between revisions of "Case Studies"
From SizeCoding
(→External Case Studies) |
|||
Line 11: | Line 11: | ||
== External Case Studies == | == External Case Studies == | ||
− | [https://en.wikipedia.org/wiki/Brainfuck Brainfuck] is a very tiny language, having only 8 commands and an instruction pointer. Several | + | [https://en.wikipedia.org/wiki/Brainfuck Brainfuck] is a very tiny language, having only 8 commands and an instruction pointer. Several interpreters have been made; Gynvael archived [http://gynvael.coldwind.pl/bf125/ many different versions along with their source code], the smallest of which was 125 bytes. qkumba took that as inspiration and created his own [http://pferrie.host22.com/misc/tiny/brainfck.htm brainfuck compiler in 100 bytes] (104 for one that is fully compliant). (Note: The term "compiler" is used mistakenly a lot in these descriptions; the brainfuck programs are all actually interpreters that load brainfuck programs and execute them.) |
[http://canonical.org/~kragen/demo/fr-016.html Disassembly of Farbrausch's "fr-016: bytes"] | [http://canonical.org/~kragen/demo/fr-016.html Disassembly of Farbrausch's "fr-016: bytes"] |
Revision as of 14:57, 14 August 2016
Sometimes it can be helpful to examine a tinyprog in detail, seeing what choices were made and why:
- MELT.COM: We take a cute program from the 1980s and see how far we can crunch it down
- m8trix 8b: An "Enter The Matrix" screen display in only 8 bytes
- 4is256: rrrola's Tetris is a full tetris clone with scoring
- paint16b: Hellmood's paint program in 16 bytes (really)
External Case Studies
Brainfuck is a very tiny language, having only 8 commands and an instruction pointer. Several interpreters have been made; Gynvael archived many different versions along with their source code, the smallest of which was 125 bytes. qkumba took that as inspiration and created his own brainfuck compiler in 100 bytes (104 for one that is fully compliant). (Note: The term "compiler" is used mistakenly a lot in these descriptions; the brainfuck programs are all actually interpreters that load brainfuck programs and execute them.)
Disassembly of Farbrausch's "fr-016: bytes"