C/C++ is incredibly easy to navigate and use once you read a few tutorials. I'm writing an entire game engine in it and haven't had any problems with the language.
Oh. You're writing a game engine in it because you've read a few tutorials. Oh. Great.
I have used it for nearly a decade in software that has actually been used by paying customers.Guess what? It's still a maggot-ridden piece of shit designed for
one specific purpose. Using it
outside that area is moronic. I don't know if you're paying attention, Mister "C++ has bracekts," but I have noted
repeatedly that you should
use the most abstracted tool possible for any given endeavor. For systems programming,
that is C/C++. For anything higher-level,
that is not C/C++.
If you don't like C/C++, don't flame it. It's purely opinion.
Jesus fucking wept. It's not "purely opinion" that you see stack-smashing attacks and return-to-libc attacks in C and
no equivalents anywhere else--you might find logic bugs elsewhere but not
failures by design of the sort found in the C and C++ standards! I mean, hell, do you even know what a return-to-libc attack is? Do you know what a stack frame is? Do you know what shellcode is? Do you know why these things
matter? Do you have any idea how fucking fragile and vulnerable C/C++ code is, especially C/C++ code that's written by morons who think they're hard and think they actually know more than they do?
Of course, clearly
I can't know any of this stuff. I can't be way more familiar with C/C++ than you. I can't...you know...have used it extensively and have built up a solid knowledge of the topic. I can't have an informed opinion, and I
certainly can't be certain that
you don't from observing your general ineptitude in discussions about programming and technology in general.
Nah.
Must just be a hater.
If there were anything better, engines and operating systems wouldn't be using them.
Look. You know why operating systems
suck? Why they're buggy, why they're insecure, why they're so trivially attacked?
Because they use C! Do you know why they still do it?
Because there isn't anything better!Use the most abstracted tool possible for any given endeavor.Use the most abstracted tool possible for any given endeavor.Use the most abstracted tool possible for any given endeavor.For anything more higher-level there
are better tools and to start learning the headfucked little mess that is C++ is to learn
bad practices that are incredibly hard to
unlearn.
As for game engines? Two things. One: get it right out of your head that game developers are some kind of magical mystical genius programmers. More of them suck than do in any real industry, because they tend to be paid like shit and the good developers can make more money elsewhere. Their decisions are not somehow special or above challenge because they're HURR GAME DEVELOPERS. If anything, that's a
better reason to challenge them. Two: Most of them are using middleware products developed by people
so beyond your capabilities as a programmer that you can't even understand it. They are standing on the shoulders of giants to build games, because if they were left to their own devices most of them probably couldn't do it. The software they used is built by people who
are well-paid and
are hot-shit programmers, and that reduces the issues involved with writing a mindboggling amount of C++ and hoping it hangs together.
You are not a hot-shit programmer. You are a beginner programmer. Not even intermediate: you are a raw beginner. The thread-starter is a complete and utter beginner. You are not as capable or as competent as these people. You are not capable of doing what they do. Pointing at them as an reason for writing your own C++ when you
don't absolutely have to is to fail to understand your limitations and the limitations of your tools. Which is fine: you can write shitty bad code all day long. What's
not fine is people like you trying to give advice to newbies who don't realize that you
don't know better and that they
shouldn't listen to people like you, and that's why I speak up. Because you're not qualified nor capable of giving good advice.
With all due respect, show me a language where you can do something easier than in C/C++.
Is this a joke? My 11-year-old brother could answer this question.
I can write a log parser in Perl in about five minutes, capable of handling input of arbitrary size and using safe, fast regexes that have been experimentally and algorithmically verified to be correct. I'll be done before the idiot who uses C++ gets his input stage working.
Or how about web apps? Oh, man. I know! I'll implement CGI or ISAPI and write it all in C! Oh, wait. I won't, because I'm not a moron, I'll use PHP or Python or ASP.NET.
Or how about databases? Yeah, we'll go far with static types when we want to manipulate a database, that'll be great! Or I can use PHP and PDO and do what I need to do before some C nitwit has even figured out how to submit a meaningful database query. If I'm feeling fancy, maybe I'll even use ORM and build the queries automatically! (You do know what ORM is, right?)
Or how about GUI code? Oh, man, GTK+ is so fucking
hot, and so's MFC and ATL! Oh...wait, you mean that I can just inherit System.Windows.Forms.Form in .NET and add controls with two lines apiece? Aw, shit...
Or...how about anywhere I don't have to write "extern" or "asm" and don't have to give two shits about interrupts?
There's no good reason to use C or C++ if you aren't writing a driver, an operating system, or microprocessor code. You can be very very sad that I'm being mean and you can say that it's "just my opinion," but neither you nor the other yahoo have done anything except bleat defensively. You've got no ground to stand on, and it's painfully obvious.
You don't know enough to know what you don't know. Stop it.