What programming language should I learn?

But, if they get bit, do they become zombie pythons?

OK, so can Python do “anything?” Meaning, could I re-make space invaders in python? Or does it have specific things its good for, like batch processing credit card payments and others it’s not, like video games?

Again, my knowledge is Basic (heh), and I’m sort of aware of what C looks like because back in my Amiga days a lot of shareware would be distributed with the C source code and I’d sometimes read it.

Yes, you could certainly write a Space Invaders game in Python. You’d probably use the PyGame library for the graphics. If you Google for “python space invaders” you will see some examples.

You could also do it in JavaScript. JavaScript would probably be somewhat easier for you to learn if you come from a C background because JavaScript syntax is a little closer to C than Python is.

Oh, absolutely. As mentioned above, pygame is the library you’d most likely want for that. I’ve made a few basic games in that just for fun, and it wasn’t too difficult. I made a version of Wordle (before Wordle was a thing – I was basing it off the game show Lingo), as well as a Dragon Warrior 8-bit-style RPG level (not a full game), and a Breakout-type game. Python is very well supported in its libraries. Like I said, my wife does pretty much all her machine learning coding in it (and she uses a smattering of SAS and R, two statistical languages.) Plus you’re able to call stuff in C or C++ from it, if you’d like.

For the last couple years the programmers-in-the-trenches types seem to be very in love with Rust. Python is now considered an “ancient” language by them.

If the OP were looking for their next job, Rust might be better. It’s a little more powerful and performant.

But for hobby programming? Python all the way. There’s way more support, code samples, and libraries out there.

Eta: by OP, I mean @OldOlds who revived this.

Because I have a potential job* that uses c# I have been messing with that. No clue how popular it is. If you are interested in writing a game, monogame is a popular framework.

Brian
* I had my tech interview NYE. Have not heard anything so don’t have high hopes, but messing with some sort of programming is probably not the worst way to not atrophy too much

12 years after my previous reply, I also say python. That seemed to be the language most of the grad students I hired before I retired used.
An indicator: the used bookstore I frequent has lots of Perl books, lots of Ruby books, lots of Javascript books, but no Python books, I conclude either they sell fast or no one wants to get rid of theirs.

Yes, Python is the most popular taught in schools these days. It’s easy to access and learn. CS majors will get into C, possibly before or after Python, and certain industries and majors use different ones, e.g. C#, Java, R, MATLAB, SAS.

Everyone is going to say “Python” and they are not wrong. It’s the standard “beginner” language these days, and also certain types of professional programmers (e.g. data scientists) make a living using it exclusively.

BUT… I was recently introduced to https://rooms.xyz/ which includes scripting based in the Lua language, which is described as “javascript without the javascript weirdness”. It’s less popular that the other suggested languages, but if you’re looking for an environment to play around in and practice some basic programming without an expectation that it will be a career-transferrable skill, that might be a good spot.

If you’re wanting to be an IT security admin, then programming language isn’t really all that important. IT admins don’t really write programs. It’s more about configuring systems to have proper security settings and the latest applications.

Admins may use high level scripting languages to help them perform tasks. On Linux systems, they’ll probably use Python and Bash. On Windows, it will probably be Powershell. These scripting languages are used by admins to help them automate tasks, such as updating security keys. But admins aren’t really writing security programs themselves.

If on the other hand you want to do development of security infrastructure, like the SSL library used to secure network communication, then it would be good to know languages like C, C++, and Python. And you’ll likely need to know a lot about Linux, as that’s the operating system typically used by many server systems which run the security infrastructure.

This is beyond late, but Python

It’s really easy to pick up, even though it has a very different paradigm to Java. I am a .NET/Java dev guy and found it very easy to learn.

Ja, Lua is pretty cool too. But is it mainstream enough to get a job? I’m sticking with the devil I know.

Almost certainly not (unless you can land a job at, “quirky startup whose product has an embedded scripting language” or “World of Warcraft UI developer”). But OldOlds’ original requirement is “to play with as a hobby” which opens up some more possibilities.

A variant of Lua is used in Roblox, which is super mainstream, but maybe of limited lucrativeness. Other video games have used it too. So it’s not exactly the first one you should learn, but also not useless.

Pretty sure Adobe Lightroom and maybe even Photoshop use it to build plug-ins.

Wikipedia has a list of applications that use Lua. The non-video-game section alone has about 100 entries, but quite a few of them are pretty niche applications.

Fun LOGO tidbit. A dorm-mate was taking a Mechanical Engineering class, and the assignment was to write a program to get a specific gear ratio. IIRC there were constraints so it could not always be done with only two gears.
I think the algorithm was something like find a fraction close to the desired ratio, then do prime factorization of the numerator and denominator .
The students could write it in any programming language and computer - he wrote his in LOGO on a commodore 64

Brian