I wrote an article some time ago (http://www.osnews.com/story/23464/Why_Johnny_Can_t_Code) about BASIC programming and how computers now lacked any kind of 'direct interface' to creating.
I'm here to post these questions:
* What's your experience of BASIC, on what computers?
* What things prevent a child from making use of your current programming environment / languages you use?
I was thinking yesterday about how I would one day teach my son how to program in the absence of the programming environments that existed in my time.
I was poking around with a BBC Micro emulator and found that, compared to the very limited BASIC on the C64, the BBC could draw graphics and make sound with the simplest of ease. This was all good, but it lacks sprites and only has four or so very awful colours. There's no real happy medium between old micro computers because of the limits of the hardware; we don't have something that's as rich as the BBC basic, but with the graphic capabilities of the C64 -- and even then you have an insular, sandbox experience which lacks relevance in this day and age. The code you write is largely inaccessible outside of the emulator, and there's no simple way to import content from external sources.
So I had a quick Google to look for what sorts of modern BASICs exist. There's quite a few, actually, even a port of BBC BASIC native to Windows. The problems I find with these products is that they either are too trapped in recreating the past rather than living in the present, aren't focused on the will of children as users, or are too insular and sandboxed to provide an easy and natural progression from simple to complex reality (i.e once you're done with BASIC, you have to learn something new; and unlearn some old things!)
I have had the inspiration to propose something very particularly Camen Design in approach.
Whilst anybody with a feel for the current trends of the web can easily imagine a full-on spanking website like Code Academy, jsBin with fully featured web-based text-editor and debugging suite, I am Kroc Camen and I do not do things that way. It is over engineering that hides true knowledge away from the user. So in true Camen Design fashion I am going to explain my idea using the three principles of Camen Design:
I want to teach my child to code, that is all. I do not want to reinvent programming, I do not want to make the latest, hippest, HTML5 web app and go on to reinvent programming paradigms. I want to provide nothing more than a tiny bridge in functionality to make the journey easier.
Making code into art is about allowing the developer to use the methods and tools they want to style their code in the way they want. Providing a blank canvas and not pre-populating it with mine or your ideas of how is best to start. As mentioned before any existing text editor, web browser and debugger can be used.