What programing/scripting languages do you use and why?

I last left off about to start the graphics chapters. The tragedy.

Is there any love for the web stack here? PHP is quite nice these days with the optional static typing and JIT compiler, Typescript too - although that’s might be getting a bit carried away with language features. @Gazza, you’re a www overlord these days, aren’t you?

I went into some depth with JavaScript and Python but somehow didn’t reinstall the tools after wiping my hard drive. This happened around the same time I got my e drum set. My time these days is taken with writing lyrics, reading church history and doing Ringo impersonations.

The last web stacks I looked at included React and Redux and then I mucked around with a recent tech called Svelte. They differed on how to approach the handling of state and making all operations immutable. I despaired on many moving parts are involved with making a simple Electron app.

Church history sounds interesting, a deeper understanding of it could explain some of what we see around us today.

Electron is a bit of a scourge, first class web apps using a system browser process has to be the future of that stuff. CSS is nice these days with Flexbox and Grid though isn’t it, Grid unironically taken from IE after years of pointing at IE as being the source of all evil. :confused:

One language I really love is Nim

It has python-esque syntax, so a pleasure to write
It compiles to C++ (or c/js, human-readable)
So it’s practically as fast as C/C++, close enough
Also typesafe and well designed with lisp-style macros
Plus a defeatable and tunable garbage collector

I’d probably just study that if it was more popular with more libraries
I did their beginners book back in 2018
Beyond that, googling answers isn’t as easy as C++ etc
Which tended to slow down my learning
So you may end up having to ask on their IRCs or forum

It’s getting some use now for game engines
and python data crunchers who want performance
They have a blockchain company backing them now written in Nim.

Probably just needs some use-case and a big corp backing them to take off
It’d actually make a brilliant beginners language

Ubuntu features it to demo compiling ‘Hello World’ on WSL to multiple OS targets.

demo.nim:

echo "Hello World!"
for i in countup(1, 10):
  echo i

I think I cocked a snook at it in the past because of the previous garbage collection arrangements not being deterministic for realtime stuff. I see they’ve added a couple of options since then to address this with the shared_ptr-like arc or the no gc option.

I’ve never fully forgiven languages that use significant indentation after a traumatic experience tracking down an invisible bug in Python caused by a stray tab lurking among the spaces. That was hours of frustration and time I’ll never get back. :slight_smile:

That indeed sounds traumatising :smiley:

There’s a tab/space setting on vscode that hopefully prevents that happening
The nim compiler also warns you IIRC
But yes, that’s the ever present danger…

:rofl:

Yeah, it’s one of those “once you know you know” type things. Visible whitespace set to kill when weird things start happening!

LOL @ Snook’oda.

Obviously being the coding peon here, maybe I should ask you two. Do you think that starting back with C++ is a bad idea at this point? What would you recommend back to your younger beginner self in terms of solid learning resources, language, and tools?

Lol, love how I rate a mention in this thread. I’m not much use here, unless you want to know about programming a Commodore 1541 disk drive, and I’d have to go back to 30 year old books and notes to be of any use there now. Never thought I could forget any of that, but it’s amazing what thirty years can do.

Interesting, what were you programming it to do differently?

Nothing, just thought it was cool that it had it’s own 6502. Didn’t have enough ram to do anything useful.

That’s reason enough! There are 6502 kits available online for experimenting with if you want to delve back in. I hear that 6502 assembly is one of the nicer ones out there.

What was cool was that it meant I had a DUAL CPU computer!

Still own it too! C64, and 1541 II. The original 1541 died, but I’m pretty sure that’s most of them.

Also have an Oceanic 1541 clone. Got that before Commodore made them stop making them.

Also have an Amiga 1200, NES, Master System, Megadrive, and Playstation (yeah, not as cool now, but sure was at the time)

:smiley:

That must have seemed like futuristic shit! I have a lot of admiration for people back then creating the things they did when they didn’t have the obscene amount of resources and tools we have today. Plus the 80 x 25 monitors.

Don’t get me wrong, I noodled with Z80 assembly language when I was a kid but just to prod it, not to do anything useful. I recently cracked open an Amstrad CPC emulator and had a bit of fun compiling some C on it, but it’s very claustrophobic compared to full HD with 16GB of memory!

Thinking about it, with the NES, that makes 3 6502’s (or at least close variants of the 6502), that I actually still own in working computers!

Never even looked at Z80 programming, but I do own two of them, one in my master system, and one in my megadrive.

You could sacrifice one to save a few bucks when following this guide:

His videos are here:

I doubt I could bring myself to disable one of those machines to get one for other purposes. I’ve got a feeling that they’re not that hard to get hold of anyway. If I was ever going to get into that sort of stuff again, I’d probably get one of the western digital 16 bit variants, whatever they’re called. Whatever they used in the super nintendo and apple IIgs.

I envy them because they learned how things really work. Also, more doesn’t necessarily equate to better. Limitations definitely has it’s merits.

On that note, I would loved to have first been introduced to programming with something like JSFX (small C-like language with a small library) with a good beginner learning resource.

Maybe there is an old system and resource that could be useuful here?

It seems that once upon a time, learning a whole system was practically obtainable. How about today with a modern system?