4 ms·
I would be surprised if your first program was C++? Specifically, getting a decent C++ toolchain that can produce a meaningful program is not a small thing? I
by taeric 2y ago
I would be surprised if your first program was C++? Specifically, getting a decent C++ toolchain that can produce a meaningful program is not a small thing?
I'm not sure where I feel about languages made for teaching and whatnot, yet; but I would be remiss if I didn't encourage my kids to use https://scratch.mit.edu/ https://scratch.mit.edu/ for their early programming. I remember early computers would boot into a BASIC prompt and I could transcribe some programs to make screensavers and games. LOGO was not uncommon to explore fractals and general path finding ideas.
Even beyond games and screensavers, MS Access (or any similar offering, FoxPro, as an example) was easily more valuable for learning to program interfaces to data than I'm used to seeing from many lower level offerings. Our industries shunning of interface builders has done more to make it difficult to get kids programming than I think we admit.
Edit to add: Honestly, I think my kids learned more about game programming from Mario Builder at early ages than makes sense.
- fny 2y agoThis happened to my sister at Florida State University, and she lost her mind.
- pjc50 2y agoYou've now learned that the internet will provide counterexamples whenever you make a categorical statement :) My first language wasn't C++, it was BASIC, but by the time I got hold of Microsoft QuickC and Borland Turbo C++ they were available as self-contained IDEs that Just Worked.
- WillAdams 2y ago>Our industries shunning of interface builders has done more to make it difficult to get kids programming than I think we admit. I'd be very glad of an agreed-upon IDE which: - made it easy to draw up a UI - was cross-platform - opensource - easy to install/compile/distribute compiled programs Bonus points if it is also uses standard widgets and is accessible to screen readers and the like. Livecode (Hypercard clone previously known as Runtime Revolution) was sort of that until the community edition was pulled.
- taeric 2y agoFully agreed. I'd be happy with a stable API that lets me treat a window as an array of pixels. I'll put another plug in for scratch, if you are ok with any of the limitations it has. I seem to recall there were more options installed on a default Raspberry Pi than I expected. I think many of them fail the open source criteria? It even has a student edition of Mathematica, which is quite impressive for what it does.
- WillAdams 2y agoNot really easy to make a traditional application/program and distribute it stand-alone from Scratch. I'd love to see a Lisp compiler w/ GUI toolkit which would just compile to a stand-alone .exe or .app or .apk or even .html file w/ matching JavaScript library.
- taeric 2y agoI think distributing a stand-alone application is beyond most any beginner level needs. They want to share, sure; but with a much more limited audience. Not that I wouldn't love the same, mind you. I think a lot of toolkits and compilers make the mistake of trying to be universally distributable. Regardless of how much effort that happens to be.
- Jtsummers 2y ago> I would be surprised if your first program was C++? Specifically, getting a decent C++ toolchain that can produce a meaningful program is not a small thing? Visual C++ (some version) was in a book I received as a gift in high school, it was my second language after BASIC (some version on a Tandy running MS-DOS). It was not hard to set up. You ran the installer, you had the language set up. If someone had ended up in the same situation as me but without the BASIC experience, I could see it being an easy to set up (not easy to learn) first language.
- taeric 2y agoApologies for making you prove the statement. That wasn't my intention. I was musing on how expensive a C++ capable setup was back when I was learning. I was probably closer to having it as an opportunity than I realize. But MS Access and the like was already something that was beyond my realistic budget for things. That was largely helping out with business software friends of the family were using. I am probably also more sour on just how silly difficult it is to put pixels on a screen nowadays. Python's turtle graphics kind of works ok, if you are only doing turtle graphics. But just getting a sprite and moving it around can be surprisingly involved, it seems. I wanted my kids to learn with the Code the Classics book. May have them give that a try again, soon. First pass, they all have far more mileage with Scratch.
- mrkeen 2y ago> I am probably also more sour on just how silly difficult it is to put pixels on a screen nowadays. It seems like it's always been this way. I messed around with VB6 as a kid. It was an amazingly intuitive experience to work with forms, buttons, and hooking up simple actions to them. However, when it came time to do some simple 2d graphics, like moving balls around the screen, you'd be in the deep end, trying to figure out BitBlt and double-buffering and the like. You might as well have been using C++.
- taeric 2y agoAgreed that getting into the weeds has always been difficult. Especially if you needed it to go fast. Just setting up a double buffered set of screens was easy enough, though?
- scott_s 2y agoMy first program was indeed C++. In 1998, my high school had a computer lab setup with Turbo C++, and I took a non-AP computer science class. In college, starting in 1999, after entering as a computer science major, we were guided to use Visual C++ on Windows. We got Visual C++ from our department - I can't remember if we paid or if it was just provided to us.
- taeric 2y agoAh, I see that not only did I accidentally force you to prove this, but I accidentally got others to do so. My humble apologies on that! I'm not super shocked that some people got started with Visual C++ sooner than I would have had access to it. It remains surprising to me, though. See my other post on more of the why, for that.
- rramadass 2y agoVisual C++ is actually very easy to get started with (it wasn't my first though) You run a wizard which generates a full, runnable, skeleton application into which you can then easily plugin code from a book (thank you David Kruglinski). I had done Win32 C programming (thank you Charles Petzold) prior to getting into Visual C++ and it was shocking to see how the IDE/Wizards really made complicated things extremely easy. In fact many of the noob programmers in my team didn't even know how to run the compiler, assembler, linker separately (they did not come from a Unix background) since the IDE did it all for you at the press of a function key.
- taeric 2y agoYeah, my view was Visual C++ was not so difficult to use; but that it was difficult to have access to. You had to have a computer that could run it, and then you had to be able to afford it. Am I shocked that some people had access to it? No. It is surprising that it would be someone's first access, though.
- rramadass 2y ago