News for hackers. Stuff that matters.
Re:Let's compile like it's 1992 (2014) by xyzelement on Monday February 26, 2024 @09:29AM (#39511585)
I suspect that if we wanted to find an environment for kids to do simple shape programming, we can find something like that.

The difference seems to be that there's been a greater divergence between "professional" tools and "kids/intro tools" whereas Turbo C++ (or Turbo Pascal in my days) were kinda both.

Re:Let's compile like it's 1992 (2014) by ecshafer on Monday February 26, 2024 @09:58AM (#39511960)
There has been a lot of effort put into making kids versions of technology, which I think is probably the right move for elementary school aged kids. But once you get into middle and highschool, I think as a kid there is a "coolness" factor to using the same stuff that the pros use. Since at that point you are trying to be an adult, you are trying to do stuff the right way, and hey you might be getting a real job in the field just a couple years anyways. So there is some value I think in making just more friendly of an environment and on boarding process to a tool.
Re:Let's compile like it's 1992 (2014) by Solvency on Monday February 26, 2024 @12:48PM (#39514440)
It's called Processing.
Re:Let's compile like it's 1992 (2014) by phendrenad2 on Monday February 26, 2024 @11:47AM (#39513519)
At the very least, you can always run Borland Turbo C++ on Windows 2000 in a VM.
Re:Let's compile like it's 1992 (2014) by mikepurvis on Monday February 26, 2024 @09:47AM (#39511817)
I've been struggling with getting my ten-year-old across this gap. He's outgrown Scratch/Roblox and I don't think PICO-8 is quite the right set of abstractions (no built in entity system, seriously?); we're working with Godot right now and he's making progress, but it's definitely a lot more of a learning curve figuring out how to do stuff in a tool that has everything.
Re:Let's compile like it's 1992 (2014) by khrbrt on Monday February 26, 2024 @11:06AM (#39512882)
Would processing[0] be a good fit? It's designed to be easy to use and learn but powerful enough for professional use. Very quick to get cool stuff moving on a screen and the syntax is Java with a streamlined editing environment.

[0] https://processing.org/

Re:Let's compile like it's 1992 (2014) by xyzelement on Monday February 26, 2024 @09:50AM (#39511857)
I have a 3 and 1 year olds but starting to think about this.

If we really think basic / turbo pascal has this right. Why don’t we just teach our kids those things. We can get the environments running I am sure.

Re:Let's compile like it's 1992 (2014) by ecshafer on Monday February 26, 2024 @10:03AM (#39512018)
I think something like basic or pascal is right. The "hard" part I think that Borland did so well was make it so easy to just get things right. A Neo Turbo Pascal that you could could type draw(x,y,z,r,"red") and see a red circle on the screen is the ideal, without having to mess with a very complicated workflow like in unity or unreal.
Re:Let's compile like it's 1992 (2014) by mikepurvis on Monday February 26, 2024 @10:10AM (#39512108)
I mean, PICO-8 is basically that:

https://pico-8.fandom.com/wiki/Circ

But I'm just not sure if pixel-by-pixel drawing is the right abstraction layer at this point in time.

Re:Let's compile like it's 1992 (2014) by xyzelement on Monday February 26, 2024 @11:28AM (#39513211)
that looks cool to me, thanks for sharing. I think something that works well for kids is instant feedback on their code/tweaks, looks like this has it.
Re:Let's compile like it's 1992 (2014) by mikepurvis on Monday February 26, 2024 @12:15PM (#39513937)
PICO-8 sits in an interesting spot where it's not exactly a "toy" language/environment the way Scratch is, nor is it especially geared at learning, but on the other side of things it is based on a real programming language (lua) and there's an interesting scene for it where people flex pushing it to its limits making demos, demakes, etc, many of which are far beyond the NES-level capabilities it's meant to have.
Re:Let's compile like it's 1992 (2014) by fuzztester on Monday February 26, 2024 @12:31PM (#39514158)
Python's turtle graphics or Logo is good for this.

Free Logos are available even today.

Re:Let's compile like it's 1992 (2014) by zozbot234 on Tuesday February 27, 2024 @05:21AM (#39522384)
LOGO is a great take on LISP-like languages overall, unfortunately it uses dynamic scope. Of course this only comes up in larger programs but I do wonder if anyone has made a lexically-scoped LOGO variant and what it might be like to teach coding in it.
Re:Let's compile like it's 1992 (2014) by fuzztester on Tuesday February 27, 2024 @03:29PM (#39529413)
What is the difference between dynamic and lexical scope? And what are they? I googled it, but could not figure it out on a quick look, at least.

#lazyweb

Re:Let's compile like it's 1992 (2014) by trealira on Tuesday February 27, 2024 @03:45PM (#39529644)
Dynamic scope means you that whoever last bound the variable at runtime determines its value, not whichever outer scope surrounds it.

I guess it would be something like this in pseudo code:

  var dynamic = 5

  function foo() {
    print(dynamic)
  }
  
  function bar() {
    var dynamic = 6
    // foo() prints 6 due to the binding above
    foo()
    // After bar() exits, "dynamic" will go back to being 5
  }
Re:Let's compile like it's 1992 (2014) by bombcar on Monday February 26, 2024 @01:59PM (#39515447)
Throw him off the deep end into Minecraft modding ;)

If you search around there are some pretty decent "download InteliJ and go" things.

Re:Let's compile like it's 1992 (2014) by philiplu on Monday February 26, 2024 @02:04PM (#39515498)
I’ve got a 15 yo who decided to start programming in Python using Pythonista on his iPhone. He refuses to take any input from me; just wants to learn on his own. Pythonista comes with some nice game-programming modules. So far he’s shown me a Pong game, 2048 clone, air hockey, and more.
Re:Let's compile like it's 1992 (2014) by mschaef on Monday February 26, 2024 @02:22PM (#39515715)
The other divergence is in expectations.

A kid in the early to mid-80's could get enough working that they could imagine it possible to match a store bought game.

Once hardware capabilities went up, so did the need for more specialized skills and longer development cycles. Even though it might have still been possible to draw a box on the screen with a single command, the relationship of that box to a valuable outcome was a lot less obvious.

Re:Let's compile like it's 1992 (2014) by ncruces on Monday February 26, 2024 @05:08PM (#39517309)
Only if people loose the ability to appreciate simple things. 2048 is a lot of fun. So is wordle. Or the xor game that made HN a week ago.
Re:Let's compile like it's 1992 (2014) by ambigious7777 on Monday February 26, 2024 @07:48PM (#39518687)
I didn't see that "xor game" (probably becuase I went on vacation), would you mind linking it for me?
Re:Let's compile like it's 1992 (2014) by ncruces on Tuesday February 27, 2024 @05:04AM (#39522255)
My primary school kid loved it.

https://news.ycombinator.com/item?id=39323511

Re:Let's compile like it's 1992 (2014) by mschaef on Monday February 26, 2024 @05:41PM (#39517642)
Flappy Bird too, for that matter.
Re:Let's compile like it's 1992 (2014) by jasonfarnon on Monday February 26, 2024 @07:44PM (#39518664)
tetris, 1948
Re:Let's compile like it's 1992 (2014) by josephg on Monday February 26, 2024 @03:57PM (#39516701)
When I was teaching programming my go-to was the JavaScript canvas api. It’s 2d only, and very simple. And being on the web once a student has made something we can host it for them and they can show their friends.

I have a ~20 line html harness which sets up a page with a full screen canvas element and gives you global window width & height variables. That’s all you need to get started. And it’s real JavaScript - so students learn a useful programming language as a result, and the advanced students can go nuts and add sprites, sound and networking if they really want to.

Re:Let's compile like it's 1992 (2014) by xyzelement on Monday February 26, 2024 @09:00PM (#39519196)
Any chance you have an example of what you are talking about
Re:Let's compile like it's 1992 (2014) by josephg on Monday February 26, 2024 @09:33PM (#39519443)
Yeah this is the template I use. As I say - its like, ~20 lines of boilerplate:

http://josephg.com/canvas_f.zip

I tell people to leave the html file alone and edit the javascript, using the canvas API to make it draw whatever they want. Canvas supports text, shapes and images and translations / transformations. If they want, I show them how to animate their work as well.

People make fun cursed things like this:

https://home.seph.codes/public/niamh/

Re:Let's compile like it's 1992 (2014) by mct on Tuesday February 27, 2024 @12:39AM (#39520525)
Another option is to use the p5.js library. They also have a nice online editor, at https://editor.p5js.org/, which makes it easy for students to get up and running quickly.
Re:Let's compile like it's 1992 (2014) by anta40 on Monday February 26, 2024 @09:18PM (#39519323)
I'll most likely pick FreeBASIC or Python for teaching kids simple graphics programming. FreeBASIC has a QB-compatiblity mode, so using old QB tutorials shouldn't be a problem.

Or Python for 3D stuffs.