Hacker News new | ask | show | jobs
by tsumnia 2024 days ago
I would disagree - Alice[1], Scratch[2], and Snap![3] are all attempts to be beginner friendly; that is the entire area of block based programming. There are also attempts via Python with websites like CodeCombat[4].

However, I would say the issue is there is no "transition" to "real" programming languages. No one builds a Red-Black tree in block based programming and there is still an unrecognized issue about how "end-game" programming should be. Is it through layers of abstraction like corporate Java or is it completely linear with the current adoption trends of Jupyter and Data Science?

In my opinion, where the issue stands currently is that older languages like BASIC made the visual creation aspect of coding super easy. You could write 250 lines of code and you have a rudimentary space invaders game. Today, this requires external libraries, creating objects, etc. It used to simply be "HPLOT" to make graphics, now you have to introduce shaders.

[1] https://www.alice.org/resources/lessons/programming-in-alice...

[2] https://scratch.mit.edu/

[3] https://snap.berkeley.edu/

[4] https://codecombat.com/

3 comments

What made writing games in BASIC fun 30 years ago was that amateur graphics weren't much different to professional graphics. But in 2020 the difference between amateur and professional graphics is huge and it's discouraging. So as others have said, things like Pico8 really help fill that gap.
Maybe I'm biased and jaded, but I find alice scratch and snap MUCH harder to use than just coding.

I think the fallacy is that because its bright and pretty and cartoony makes it easier to use. Sure it is more attractive to the youth but when they actually want to build something in their mind they are met with disappointment due to its limitations.

How can we make this more positive?

I do agree and its one of the reasons my current research focuses on type-based languages instead. However, I think the issue is specific to your "when they actually want to build something" line - what does this mean? I agree and think this is where some of my reservations come from, but what exactly are we wanting kids to do with code outside of the structured lesson? Maybe they are doing them, but because its not this magical "everyone converts to coding" switch, we aren't seeing it.
> In my opinion, where the issue stands currently is that older languages like BASIC made the visual creation aspect of coding super easy.

This is why I think fantasy consoles like the TIC-80 and PICO-8 are actually valuable educational tools. They still represent a BASIC-like syntax and quick development/play environment for a tiny fraction of what it would cost to buy a Commodore 64 or ZX Spectrum (never mind the convenience of running them on your desktop).