I would like to learn more about programming, and would appreciate some input on where to start

There is hardly anything more performance critical than videogames. A vast majority of them, including pretty much all AAA titles are written in C++, and most engines are as well.

1 Like

I used to do a fair bit of programming in ‘C’ - but now itt is relegated to creating fast scripts when I can’t get my head around bash (or where bash simply won’t work - usually because of things it preprocesses that aren’t wanted!).

C++ is a whole different headspace, but undoubtedly much used…

I learnt C as a child, from my dad and from K&R. I almost exclusively used it until college (I did dabble a bit in Motorola 68000 assembler, on Amiga, and on the TI-92 graphing calculator, but nothing serious). Then I switched to C++, since I had to get things done quickly.

Nowadays, 90% of my programming is C++. I do some Bash scripting, a bit of JavaScript from time to time…

I think it depends what field you are targeting and what kind of applications.

If your goal is to do it professionally, at least in my part of the world, there are not that many C++ jobs relative to other programming languages and those jobs tend to require more experience.

1 Like

That’s because most programming jobs do not involve writing performance critical software and applications. The majority of it is for mobile apps.

But if you look at the software you are using on your computer (and I mean desktop or laptop, not mobile), most of it was written in C++.

Most of the time in College they dont even want you to worry about performance when writing code. Its been a hot minute since i was in college but even then my teachers basically said “Users will have enough resources (memory/CPU/etc.) so dont worry about it”

And that’s why every year we have more and more powerful computers that run more and more slowly. Professors like that should be fed to giant frog monsters.

Of course performance is important!

Now, while you’re learning to program, of course, you are not going to worry about performance. And many programs are not worth the effort it takes to optimise them to be performant. But saying “Users will have enough resources” is just cheeky!

2 Likes

I am not disagreeing with you. Just pointing out that the OPs goal was gainful employment and if that is your goal I am not sure C++ is the best place to start.

2 Likes

I agree

I had issue with that back then too but i was far more young and arrogant so probably didnt come off as i shouldve about it (had a teacher fail me one class because of it).

1 Like

C++/C# might be useful if youre getting into the gaming industry but a lot of that work ends up a mess of spaghetti regardless so you still will probably be lost coming in lol

One of my colleagues is really talented young programmer, who is excellent at Python (which he learnt in college). I’m a physicist, not a programmer, I never took a computer science class.

We needed a parser, for huge binary files, to translate them into plain text that can be fed to a database. Anyway, my colleague wrote a brilliant program in Python that did that, and it took about 3-4 hours to parse one such big file.

The program worked fine, but it was getting really tedious to use it, since often it would take 2-3 hours to get an error that the file was corrupted or something. So I decided to take his code, and rewrite it in C++. You don’t have to be smart to do that, the hard part was done by my colleague, I just went through his code line by line, and wrote it in C++. It took me one afternoon to do that.

The C++ program took about 2 minutes to parse the same file. Then I made it multi-threaded, and it took about 30 seconds. Of course performance matters, even in a trivial thing like this.

4 Likes

Mawk.

https://brenocon.com/blog/2009/09/dont-mawk-awk-the-fastest-and-most-elegant-big-data-munging-language/

:stuck_out_tongue_closed_eyes:

2 Likes

Not that far from truth. There have been attempts to do it in AWK (GAWK running on windoze to be precise).

There have also been attempts to do it in VBA.

Both were equally successful. :rofl:

2 Likes