Most active commenters
  • makmanalp(3)

←back to thread

377 points porterde | 12 comments | | HN request time: 0.424s | source | bottom
Show context
makmanalp ◴[] No.42142286[source]
Oh my GOD I have to comment. This is how I learned to program as a kid.

I found a copy of "Write Your Own Adventure Programs" (1983 - Usborne: https://colorcomputerarchive.com/repo/Documents/Books/Write%...) as a kid in my primary school's bookshelf. I remember the code was written in BASIC and my family didn't really own a computer back then.

Fast forward a few years later I saw this "Visual Basic" thing and thought it would be similar ... it was, but only sort of. I had no book to learn from at first so I remember clicking through every single menu and button available to see what it did. Then I remember using our dialup to download every possible 3rd party VB form control and throwing them in a Form to see what they did. I don't know why I found this entertaining enough to keep doing it.

Eventually by copy pasting and changing stuff I was able to write some basic "homework helper" programs: calculate the area of a circle and stuff like that. Soon after I tried to look up tutorials which taught me basic win32 programming to do things like have an icon in the status area next to the clock, and then hiding my window to run in the background and make annoying sounds so I could build a silly little prank program to install on my friend's computers which was fun but often would fail because they were missing some .dll file which wouldn't fit on the same floppy.

It could be frustrating at times but also I feel so blessed to have lucked myself into learning programming this way and my parents pretty much just letting me do whatever I wanted to this expensive device that probably was not a small thing for us to afford at the time.

Even tutorials felt more fun at the time, it'd be "hypnoMan37's windows registry tutorial!!! HEyyeyeyy Guuyzs :-)))) gzgzgz to my irc channel #blabla on EFNet! so first you call RegistryCreateNewKey32(...." because god knows I did not have an MSDN CD either.

Learning via a code camp feels way more efficient but also so much more dry in comparison. I wonder if there isn't a substantial cost to boring the newbies to death.

replies(9): >>42142679 #>>42142859 #>>42143066 #>>42143457 #>>42143619 #>>42144259 #>>42147804 #>>42148463 #>>42155834 #
1. calimoro78 ◴[] No.42142679[source]
This!

I want my kids to do the same but are really unclear as to how this is done today without BASIC. I am not psyched about tools that help you merely build platformers with WYSIWYG.

Any ideas?

replies(7): >>42142793 #>>42143070 #>>42143312 #>>42143913 #>>42144252 #>>42145781 #>>42147662 #
2. magospietato ◴[] No.42142793[source]
This is the smartest intentioned educational device I've found.

https://microbit.org/

It's rough around the edges, but what it does well is offer a wide array of sensor inputs, and very simple text output. And wraps it in a simple API.

You can compute temperature, direction, orientation, do GPIO, network via Bluetooth or direct radio, and drive it with a simple two button and marquee text UI.

3. cruffle_duffle ◴[] No.42143070[source]
Esp32 with micropython?
4. recursive ◴[] No.42143312[source]
A text editor and index.html with <script src="hello.js">

You can get everything you need without paying any money or even driving to Circuit City.

5. philiplu ◴[] No.42143913[source]
My kid (15 yo) keeps producing games in Python on his iPhone using Pythonista. Latest one is a Tetris clone with load/save game, music, animations on removing a line. I offer to help if he runs into problems but he prefers to hack away and learn on his own. Proud dad here :-)
replies(2): >>42153942 #>>42155029 #
6. makmanalp ◴[] No.42144252[source]
_why the lucky stiff (also known for https://poignant.guide/ and a bunch of other things) had written something called "hackety hack" for kind of these purposes I think, but it may be abandonware at this point: https://github.com/hacketyhack/hacketyhack

But I'm not sure it was anything particular about the environment per se. Like, visual basic was written to do business software, truly the most boring thing imaginable. I think it's more about being left to your own devices with something that intrigues you for hours on end without an adult trying to control or direct what you're doing. Maybe. I'm not sure :-)

7. poulpy123 ◴[] No.42145781[source]
python, godot, gambas, processing, p5js... there are many languages or tools that can be used
8. pmarreck ◴[] No.42147662[source]
https://crystal-lang.org/

Ruby syntax is very nice (I personally prefer it 100x to Python's), and Crystal makes it fast AND adds some typing.

There are GUI libraries for it for things like GTK or LibUI https://github.com/Fusion/libui.cr

The V language also looked ideal for this as it has a built-in GUI but upon investigation I found its internals are... not really fleshed-out or thought-out well, and its main maintainer likes to delete and ban any criticisms regardless of validity on its official forums, so that was out, maybe revisit it in a few years

9. bn-l ◴[] No.42153942[source]
Damn great parenting!
10. dr_kiszonka ◴[] No.42155029[source]
How did you get your child to start programming? I had some success with Scratch, but it is not something my 9 year old would do for fun. (He likes 3D printing, but it is mostly just dragging stuff around.)
replies(1): >>42158059 #
11. philiplu ◴[] No.42158059{3}[source]
I mostly stayed hands-off and let him explore where he would. He really only got into programming more seriously the past couple years, so age 13 on, after we got him a gaming PC. He was playing various Roblox games, and decided he could write his own, so that got him started. He has his phone on bus rides to/from school, so he decided to play around in Python to pass the time. He's currently playing Space Engineers with some friends online, and they've all apparently decided the most fun for now is to learn C# for the internal scripting functionality that game provides.
replies(1): >>42162441 #
12. makmanalp ◴[] No.42162441{4}[source]
> I mostly stayed hands-off and let him explore where he would.

I think this is the way.

Also quite similarly soon after VB, learned C# so I could make mods for RunUO, which was a reverse engineered server implementation for Ultima Online that people would run free game servers with. At that point I was pretty hooked, and tried making things like dragon eggs that would hatch over time and evolve and such. There's something about other people being able to experience your code in a virtual world and also the creative aspect that makes it somehow addicting.