I haven't noticed how utterly spoiled I became over time when it comes to designing actual program functions... I already knew that I have problems designing bigger problems cause I most often start to think in terms of the technicaly implementation and not functionality. That's probably also the reason why I never finished or even started anything. However, technical designs are most of the time really easy to create and over time also quite easy to optimize if you're into the subject (not talking about the endless quest of perfecting something). Today I created a little design document about a REALLY minimal instruction set using decrement, jumping, some program counter commands, input/output for external devices and a custom assembler notation. I tried to begin a parser and executer for it, but... I couldn't get it done. I already wrote a shitload of parsers and didn't want to repeat it all over again... So after a while of "getting into it", I faced the necessity of some actually useful, something that's helpful when developing applications! A compiler IS a application, though not in the contemporary sense. And one by one I started to write header files of stuff I'd need for comftable writing all the things I want.

I never started writing those kinds of interfaces before, I always started to into implementation... What a mistake! You get much better ideas and designs by planning this way. Implementing it is a no-brainer in most cases...

No comments: