1. Turn on the TV and the computer.
2. Welcome to BASIC.
3. Code.
No editor to fire up - just instantly available.My daughters are learning VB.NET at school here in the UK, using Visual Studio for Mac and more recently Windows Visual Studio on a laptop. My eldest is setting break points, inspecting variables, etc like a pro. She loves it. They both started learning with Scratch. Plus there are a slew of virtual consoles out there very much like the home computers of old except faster and far more convenient, plus very affordable kits such as Raspberry Pi. It's never been better.
You have to go downtown, fetch some libraries, visit their documentation stores, check facebook, take a look at your stackoverflow pending events, polish your IDE to work with whatever you've just downloaded, copy-paste some code, refurniture until it works, then refactor until you are satisfied. Repeat forever.
Before, all my turbo pascal adventures were solo missions. Batteries were included. I did not leave the IDE and did not need another book. I did not download additional manuals. It was all there.
I also agree that I don't know which took I would point out to a kid wanting to start today, that would not involve a probably complicated setup.
That being said, I also remember being pretty frustrated that the best I was able to do - lacking resources, books, Internet, etc... - was put a couple of pixels around, and pretend it was a game (and be ashamed of it, even if it was in 1993 or something.)
A kid starting Unity3D today, on the other hand, would probably, (after a few hours lost installing stuff), create a decent-looking game in a few weeks of following Youtube tutorials and stealing art assets all over the internet.
Or is it not even possible ?
Anyway, my questions would be: what kind missions where you doing, entirely solo ?
Do you think the language itself had anything to do with the ease of starting ?
Do you think it would be satisfying to someone to start with something that lets them draw stuff, bounce a ball, etc... in a "limited" language, in a "fake" environment, before diving into the "hard" part, trying to do it by hand, etc...
Never thought I was doing something silly peek/poke'ing memory and using data segments to represent sprites on screen. I was adding numbers to represent pixels on a 16 bit row as soon as I learned how addition worked at school.
Later on, I was using sin/cos to represent motion as soon as I learned how trigonometry worked at school. Along with some bresenham algorithms book I found at a university to draw lines and circles more correctly and effectively.
Some time later, I was visualizing prime numbers and geometric primitives in ways I could only imagine.
Later, I was using derivatives to represent optimal solutions to targeting problems as soon as I learned how differential equations worked.
Later, I was using field equations to represent gravitational pull in n-body simulations as soon as I learned about them.
Then things became more abstract, like visualizing finite automata and abstracting logic circuits.
Until that time, I did not need to leave the editor or download someone's libraries. It was all there. My age of discovery was a continuous experience that spanned over 10-13 years and defined my abilities as a programmer today.
I was never ashamed of "putting two pixels together" or envious of kids that "could make a game in two weeks using stolen assets and unity" - a program that places sprites on screen using easing algorithms and accelerated graphics. More power to them.
type:
console.log ("hello world")
pretty simple
It is true that people don't generally ship code written in devtools, but then most of the programs shipped on the Commodore 64 were not written in basic. (Unless you count hundreds of peeks and pokes as basic.)
I do miss the immediacy of the programming experience, but I also think the correct modern day analog of that is the browser.
The browser is exactly what I had in mind when I said "you have to learn a stack of languages". Sure, okay, console.log() gets you "hello world", but so does "echo" so maybe I placed the bar too low. Still, getting into the modern web experience requires you to learn HTML + CSS + Javascript and how they relate and interop.
Fast forward a little bit from the BASIC days to Visual Basic. Back then you could write a desktop application with a GUI, controls, a window, and needed one language and one environment. I don't see how the browser world is easier or more approachable than that.
Also, if you want, you can write GUI in the browser without html/css, with the canvas element. There are frameworks for that, not sure how mature they are, though.
No you didn't, it was built into the VB editor; you just dragged and dropped elements into a window frame, then edited callback functions. You didn't have to leave VB at all or learn any other language or framework.
We've built an explicitly Visual Basic-like programming environment for the web - it's got one language (Python), drag'n'drop design, built in database, actual working autocompletion - the works: https://anvil.works.
Would love to hear what you think!
When I was a kid (1984) - it was "plug the computer into the TV, turn it on, start coding (in BASIC)"
Today - a kid would have to first:
1. Start up computer, wait for it to boot (or tablet, whatever)
2. Log in (maybe)
3. Start up browser.
4. ???
That's where they would be - they'd have no concept of "dev tools" or what it is for. Long before then, they'd be sucked into some other time waster most likely. It would take an adult to show them what and where dev tools was, and then it's a long hard slog from that point.Back in 1984 - it really was much simpler. Ok - well, from zero you'd have to read the manual that came with the computer, but most of the manuals jumped right into coding in BASIC, and could get you going quickly.
Then there was the plethora of computer programming magazines that you could purchase:
https://archive.org/details/computermagazines
...and today, most of them available; oh if we only had that resource back then!
But we did have a lot - plus books, BBS's (for the lucky with a modem and phone), user groups...
Today, it is nowhere near as easy to start out - not for someone with -zero- knowledge. However, if they can get over that hump - then a grand world can open for them, with the right mentoring...
If you say the main problem for kids is to use a browser on a computer in the first place, than I really doubt those kids could just start coding in basic on a computer in 1984.
And since most do use chrome, or are able to download it - and are also able to press F12 (most kids I told this, could) ... they could immediately start digging into the code of any website. Just changing colors of elements, rearranging ... and then finding out how to do the same with code.
Also, there is Scratch, Lego Mindstorms, etc. etc. the barriers have never been lower. The only problem might be, that it is too much choice and easy to get lost and loose interest, but any dedicated kid can jump into it.
Today? You may get a manual describing the computer, but that's it---how to set it up and turn it on (if that). The software comes preinstalled and if you want manuals, it's off to the Internet (either Google or Amazon).
I've been using Firefox since the days of Mozilla, and I didn't even know about F12 (then again, I haven't done any serious web development since 1999 so perhaps it's not surprising).