Post a Comment
Given the fact that on 8-bit machines there were already quite advanced BASIC dialects, and on 16-bit machines (which is what MikeOS is aiming at, being a 16-bit OS) we had things like GW-BASIC and QuickBASIC, I find this extremely simple BASIC variant to be a bit disappointing, especially given the fact that it takes up 32KB! Something like this could be written in 1KB.
"I miss line numbers and a line editor."
Originally MikeOS BASIC used line numbers, but I decided to switch it to text labels as they're more descriptive.
It wouldn't be hard for someone to implement a line editor (I wrote a simple one ages ago), but I would imagine most people coding would prefer a full-screen editor.
Mike
Edited 2009-11-23 10:10 UTC
Hi!
"I find this extremely simple BASIC variant to be a bit disappointing, especially given the fact that it takes up 32KB!"
1) The MikeOS kernel has 32K RAM of allocated, and the kernel binary itself is 13K. The BASIC interpreter is just over 2K (2295 bytes).
2) QuickBASIC and GW BASIC were commercial products developed by paid developers. MikeOS is a one-man part-time hobby project that's given away for free. There's bound to be a big difference in functionality!
Mike
Edited 2009-11-23 10:10 UTC
Ok, 2K is better, although it's still a bit on the large side for such a simple BASIC. Like I said, I like MikeOS, and I realize it's just largely a one-man project.
I could make it considerably smaller. I could remove the variety of error messages and replace them with a single "Syntax error". I could do some hackish stuff with the code to ultra-optimise it.
But you have to remember that MikeOS is a learning tool, so code clarity and structure is always more important than shaving bytes off at every opportunity. I'm writing something that people can (hopefully!) learn from - not trying to wow people with l33t asm skillz.
Mike
Point taken. Error message can indeed add quite some space, and in a teaching OS there's indeed no room for too much trickery.
So write up some code, offer it to him, and see if by your powers combined you can create something iteratively better?
Edited 2009-11-23 17:08 UTC




