I think indentation is more intuitive. Even people using languages that use braces or similar usually use indentation to make code readable. If doing that you end up explaining both ideas (use braces and indent).
I get why people like indentation for this. I don’t think there’s a right or wrong answer and it’s a matter of personal preference.
That said, my preference is curly braces (or whatever) because I’ve found indentation is often a bother. Yes, most of the time you use indentation together with braces, but not every time. There are many occasions where code is clearer without (or with custom) indentation. Furthermore, indentation-based parsing makes experimentation and finding issues more difficult. Sometimes you need to extract a small part of a larger block to bung in a REPL or something and now you’re fighting with stupid errors because of formatting, adding to the frustration.
Regarding intuitiveness, for beginners I have some doubts it makes much of a difference, and if it does I also doubt indentation wins. If you know how to write (which is a prerequisite), you know what parenthesis and quotation marks are, you understand they encapsulate something separate from the rest. Indentation is a different concept.
I get why people blame indentation like this. I don't think it's right or wrong to ignore the tooling that directly addresses minor issues with indentation or matching braces honestly.
That said, my preference is to use the tools built into my editor and available on the CLI or web to assist and fix formatting and syntax. You get instant feedback on incorrect formatting, and I generally find that synthetic scope mistakes (regardless of method) are eliminated.
The language (MicroScript) doesn’t require indentation, it’s only used for readability, like in BASIC, FORTRAN, PASCAL, and similar languages. Blocks are delimited by key words (“end if” etc.).
Why not for 3 eur buy some basic arduino or other tiny hardware to tinker with and for another few eur, tiny i2c/oled display, wires and set of basic switches? You start programming with option to expand to the larger project in the future. You have constraints of real device, community is much larger and there are more learning resources.
Looks cool. I most enjoyed the zombies game someone uploaded on itch.io. One thing to note is that game speeds feel very fast to me. I barely did anything in the asteroids game and the others also seem to run quite fast. It could be just me.
Mini Micro seems to be built on Unity. The MiniScript portion of it is open source https://github.com/JoeStrout/miniscript but the version packaged for use by Unity costs some money. I can't tell if the people behind MiniScript are the same people behind the Mini Micro.
I wonder how hard it would be translate this to Dutch. I would like my kids to start experimenting but that’s a bit impractical if they need to learn English first..
Apparently it’s high-level only, i.e. no underlying machine instruction set or addressable memory.
I wonder why all these easy-to-learn languages use indentation to denote scope, not something like curly braces. Isn't it actually harder to explain?
It makes sure the thing you use to judge scope (indentation) matches the think the computer uses.
That's a fair point for students, but as a beginner who simply wants to tinker with fun stuff, you can go very far without knowing of a program stack.
I think I had the wrong audience in mind
I think indentation is more intuitive. Even people using languages that use braces or similar usually use indentation to make code readable. If doing that you end up explaining both ideas (use braces and indent).
I get why people like indentation for this. I don’t think there’s a right or wrong answer and it’s a matter of personal preference.
That said, my preference is curly braces (or whatever) because I’ve found indentation is often a bother. Yes, most of the time you use indentation together with braces, but not every time. There are many occasions where code is clearer without (or with custom) indentation. Furthermore, indentation-based parsing makes experimentation and finding issues more difficult. Sometimes you need to extract a small part of a larger block to bung in a REPL or something and now you’re fighting with stupid errors because of formatting, adding to the frustration.
Regarding intuitiveness, for beginners I have some doubts it makes much of a difference, and if it does I also doubt indentation wins. If you know how to write (which is a prerequisite), you know what parenthesis and quotation marks are, you understand they encapsulate something separate from the rest. Indentation is a different concept.
I get why people blame indentation like this. I don't think it's right or wrong to ignore the tooling that directly addresses minor issues with indentation or matching braces honestly.
That said, my preference is to use the tools built into my editor and available on the CLI or web to assist and fix formatting and syntax. You get instant feedback on incorrect formatting, and I generally find that synthetic scope mistakes (regardless of method) are eliminated.
It looks like MiniScript uses the keyword "end" followed by another keyword to denote the end of a specific type of block.
From the Quick Reference guide here:
https://miniscript.org/files/MiniScript-QuickRef.pdf
"Indentation doesn't matter (except for readability)."
The language (MicroScript) doesn’t require indentation, it’s only used for readability, like in BASIC, FORTRAN, PASCAL, and similar languages. Blocks are delimited by key words (“end if” etc.).
This feels nostalgic!
I was a bit confused until I realized that https://miniscript.org/ isn't the same programming language as https://bitcoin.sipa.be/miniscript/.
Why not for 3 eur buy some basic arduino or other tiny hardware to tinker with and for another few eur, tiny i2c/oled display, wires and set of basic switches? You start programming with option to expand to the larger project in the future. You have constraints of real device, community is much larger and there are more learning resources.
Because moving a sprite is much more exhilarating than blinking an LED.
Well how about moving a sprite by blinking a few leds?
For starters, there is way more friction both in buying hardware and waiting for it to arrive and developing on real hardware in general.
I agree however that it's super cool to have real hardware to run this on.
Looks cool. I most enjoyed the zombies game someone uploaded on itch.io. One thing to note is that game speeds feel very fast to me. I barely did anything in the asteroids game and the others also seem to run quite fast. It could be just me.
Free but not Open Source? Did I miss that?
Mini Micro seems to be built on Unity. The MiniScript portion of it is open source https://github.com/JoeStrout/miniscript but the version packaged for use by Unity costs some money. I can't tell if the people behind MiniScript are the same people behind the Mini Micro.
> Free but not Open Source? Did I miss that?
The miniscript language itself is MIT License:
https://github.com/JoeStrout/miniscript
The Minimicro code doesn't seem to have any license in the repository or code:
https://github.com/JoeStrout/minimicro-sysdisk
I wonder how hard it would be translate this to Dutch. I would like my kids to start experimenting but that’s a bit impractical if they need to learn English first..
Ik denk dat Claude dat zo voor je doet in een paar minuten tijd.
I think that's really cool. I wonder when this started development?
Ah the nostalgia
Only virtual? That is sad!