When I started to play around with 'puters, all there was (for dos) was GWBasic but it was enough to get me hooked.
So, how about a "simple" interpreted language that runs on a Pi?
Well - it's a work in progress, but it's at the point where it's fully functional and usable, and although I hadn't originally thought of the RPi when I started the code (see the link below for details), it works remarkably well on the RPi.
however there's no code there yet, hopefully after this weekend if I have time.
I've posted screenshots in the past about it, but here is a taster:
not a terribly good image, but also look at:
for a proper screen-shot. This is a turtle graphics example. (spot the deliberate mistake
There are probably many coders out there who have experience with C on the Unix platform and I'm betting that this would be a great challenge for them especially if the overriding rule is "only well formed code allowed".
I have also started to write a manual for it - and yes, while it has GOTO, you don't need it once you've grasped the basics as it were.
More importantly, having an app like PiBasic (or call it what you will) would enable the scholars (and those who want to "play") to get their first "Hello World" on the screen.
It's the "wow factor" - I really think there is nothing better than getting people hooked by getting their name up in lights. Instantly.
From there on, the sky would be the limit.
Think about a code editor with a "Save" button and a "Run" button.
Start with simple screen output commands (what to put and where to put it)
Then add font size and color options.
Adding buttons/shapes etc
Next, input from the keyboard and later mouse clicks on buttons/shapes
Then the whole of the mathematical calculations set.
Access to a database engine (MySQL) would be very nice and could be done over the network - maybe Pi is not suitable for hosting MySQL - do not know!
I was asked recently to put in support for SQLite - so I've made a start by allowing associative arrays (you don't need to use them though!)
And of course, accessing the GPIO pins and anything else plugged into the USB, WiFi or other ports (think the drivers for the hardware would have to run on the OS though)
Harder, possibly not that important for the initial systems though. However I have (again, to satisfy my own needs!) put in support to talk to arduinos over the USB serial port. My aim is to make the same code (in BASIC) work on an arduino or the GPIO.
In my opinion, give a young enthusiast a way to get a Pi to do something that does not require mountains of work and they will soon start innovating - that "something" will soon grow to be a monster at which time, they can graduate to the higher level languages but they will be "hooked", much like I was when I coded my first version of "Pong" on my ZX81 back in the day.
Your preaching to the converted here - others will throw scorn at you, but so what For me it's the initial entry level that you have to break through - put people in a siruation which is simple - get them to write a sinple program or two, then those who are really keen can go on to learn editors, IDEs, debuggers and other programming languages. Starting on BASIC (35 years ago) didn't do me any harm at all - but I had good teachers and that's half (or more!) of the battle. If you have keen teachers who're willing to let you learn and "feed" you more and more when you want it then you've won...