I am very good at C#, and fairly adept at C. I'm also proficient in lua and javascript and can muddle my way through python and ruby. I've programmed emulators and virtual machines and dabbled in programming language development, including creating several lisps

And I refuse to ever touch C++. Just, nope. Not doing it. Screw C++

It's not that I haven't tried, mind you. I touched C++ in the past and it was an absolutely miserable experience
@eniko I think that the main thing that made me a rust fan was learning and using C++ for a project.

@eniko I recall something about Doom 3 using C++ but only in name.

Carmack seemed quite enthused by it at that time and since, though. (From an interview: https://fabiensanglard.net/doom3/interviews.php#qc++)

[And, like, I am so, so sorry to invoke one of the Johns… 🤪]

Doom3 Source Code Review: Interviews

@eniko Rust is nice. Starting to get a bit overhyped at this point, there are rough edges that the evangelists have a bad habit of not acknowledging (or worse: diminishing) which can genuinely create a pretty shitty onboarding experience, BUT I do feel like there's something there.
@347Online yeah I wanna learn rust cause all my pldev stuff seems to lead to reinventing the dang borrow checker

@eniko It was a lot of fun to me until I returned to the nested-templated monstrosity I created that couldn't run on a 486 let alone be compiled for anything leaner and I could barely untangle what I'd been trying to do after two weeks away from it and I decided "maybe I'm not ready for this yet."

And I'm still not, tbh. 😌

@indigoparadox @eniko TBF C++'s situation was particularly bad in the 486 times. The template syntax is still … daunting, but both the compilers and the language have since become enormously better —if you can afford to rely on a modern enough version of it. We had a sizeable project that was held back to the old (C++98) standard for way longer than I was comfortable with because we needed to support older CUDA‌ versions, and when we finally dropped that requirement it was a breath of fresh air.

@eniko My philosophy about learning programming languages before I retired was that unless there was a bigger paycheck involved, the language had to teach me a new programming paradigm.

Now it's, "Screw it - I'm sticking with R and Forth!" 😉

@eniko And macro assembly ... it was my first language and I've enjoyed getting back to it after decades of Fortran, SQL, Perl and R.

@eniko

Curious...

What was the issue?

I was away from C for a long time and did scripty dynamically typed languages for web for a long time. That got boring, so when I picked up C again, the inability to abstract was very boring. Simple things were too manual and boring.

So I jumped straight to C++ 14/17/20/23. Found not too hard, due to C exp.

I actually like it. Not super terse for everything, but you *can* do anything and abstract everything if wanted. The reach is 2nd only to C?

@eniko I wonder why? Honestly, I've done some things in C++, but I blame it on the projects, mostly. I studied Computer Science in a University, and in a project, the professor had us write a toy programming language using the preprocessor...
@eniko Awww, poor old C++, it's ok really :)
@eniko Swear on my life, more than half of C++ programming is compile-time programming. It is _incomprehensible_.
I agree with this 100%. It's absolutely the worst of both worlds.
@eniko it was my mandatory programming language at university 💀
@eniko When I was studying CS in college, we were in a interregnum between the use of Pascal as the primary language of a instruction and the use of Java (which came out a few years later), so we used C++. That got use operator overloading and very dicey support for Templates based on which exact compiler you used but not, say, standard built-in string or list types. Ugh!

@eniko I learned Rust specifically so I could do low-level stuff without needing to learn C++.

Say what you will about the borrow checker, but at least it makes sense.

@eniko I really like C++, it's my comfort language a lot of classes of things, I find it enjoyable to use and write

But it's a language with a whole lot of terribleness. And compilers aren't making it better. You need to have done *a lot* (weekly+, for a decade) of template error debugging until the brain learns to filter out the irrelevant parts and find the nugget of info. And you need to know "this is an overload error", not try to read the 10000 lines of error.

What I'm saying is I get ya

@eniko same. had to do it in college to write a GUI program (of all things?!) and it was essentially 90% boiler plate. Ick.

Been hearing good things about zig recently though, only thing holding me back is how small the community is atm. Be the change you want to see in the world, I guess