3 ms·
You can set a Raspberry Pi to boot straight into Scratch. It's a great introductory graphical programming language. The next step is usually Python but I'm not
by jsingleton 11y ago
You can set a Raspberry Pi to boot straight into Scratch. It's a great introductory graphical programming language.
The next step is usually Python but I'm not sure kids will get the significant whitespace. Go is an option or maybe BASIC (on RISC OS perhaps).
- bliti 11y agoWe tried scratch, but it bored her for whatever reason. Its a nice environment, though. Python is something she is slowly learning through command line games like rock, paper, scissors. Go, well, I don't want to have her suffer through Go's syntax just yet. BASIC is outdated and too verbose. She has typed C code before and found it fun. Dunno, I don't want her to be anything but herself. This is just a way to spend time together.
- jsingleton 11y agoYou might find some hardware add-ons make it more fun. GPIO is the killer feature of the Pi. You can use a lot of the HATs from Scratch as well as Python. http://wiki.scratch.mit.edu/wiki/Hardware_That_Can_Connect_to_Scratch http://wiki.scratch.mit.edu/wiki/Hardware_That_Can_Connect_t...
- bliti 11y agoI do plan to introduce her to GPIO stuff. Maybe mix it in with a video game of sorts. She does have experience with the Arduino, so the concept of sensors is not new to her.
- grayclhn 11y agoIt's kind of out of place in a pure text environment, but Processing[1] might be fun to play with. It's designed for visual arts. [1]: https://processing.org/ https://processing.org/
- pekk 11y agoThere is nothing harder to understand about indentation levels than curly braces, if you haven't already developed a preference for curly braces. Go is really not designed as a tool for new programmers, you are just projecting your preferences onto kids.
- bliti 11y agoPython can be a handful due to the weird whitespace rules. Its one of the things I hate about the language, and I use it every day. Dunno if I'd put curly braces in it, but the Hy language (a pseudo lisp in pythonish) really feels good to these old eyes.
- eru 11y agoHaskell has similar whitespace rules to Python, and no one ever complains about them. (Haskell does support {} and ; for those in need, though. Also, it has lots of other stuff for people to complain about first.)
- vidarh 11y agoYou answer yourself - it has too many other issues for people to complain about. And its terseness prevents most of us from ever seriously using it.
- pbhjpbhj 11y ago>There is nothing harder to understand about indentation levels than curly braces // At the start of this year I finished a first course in Python to learn in anticipation of [possibly] using it for home learning with my kids (it seems widely used for education). As I'm familiar with programming I searched for an IDE as I started. It told me when I had dropped a space or used a tab by accident. I tried several different environments including my standard editor choices - nano and Kate - revealing non-printing characters was a clear advantage. Others (primarily adults) who were starting fresh in programming had lots of problems with errant spaces. With braces you can see more clearly when there is an error of addition or omission, not so much with spaces. Like I tried to say above: this is clearly tractable with the right tools but the demarcation - I feel - of braces can be a more clear and obvious sign of separation than whitespace. For younger people with less spatial reasoning and less accurate perception of text lining up it rather seems it could be pretty much harder to use whitespace structuring. Personally I like the overall "clean" appearance of Python compared to PHP (say), debugging with tools is fine, when I was testing different environments and tripped on whitespace problems it was a nightmare rather reminiscent of trying to debug HTML tables some years back.
- hodwik 11y ago>Go is an option Drink the koolaid, fine, but don't drink THAT MUCH of the koolaid.
- jsingleton 11y agoNever used Go and have no plans to in the near future either. I have found C to be a useful training language but it can get tricky once you get to pointers. Just not discounting Go based on what I've read. e.g. https://news.ycombinator.com/item?id=10054270 https://news.ycombinator.com/item?id=10054270
- CyberDildonics 11y agoOne very good option that I haven't seen mentioned yet is Love2D. It is basically Lua with solid game libraries wrapped into very simple interfaces. load sound, play sound. load image, display image, etc. while under the hood is SDL, DevIL and other libs that make it run fast.