Enums and Interfaces ??

Python or Javascript might be a little easier for learning, since you no longer worry about type safety, you just let things crash at runtime if you use them wrong. Turns out that’s just fine for some kinds of software.

I used to be a real disciple of static typing, but now I see it as just another development tool to use where it’s appropriate and discard where it’s not. Some of the most robust programs I’ve written are in Scala, which is an insanely strongly-typed language – but the robustness comes from using Akka actors, which are basically untyped!

Dittos on C++'s complexity, or as I’ve heard it described: “C++ is an octopus made by nailing extra legs to a dog.”

Oh God.

What I like about C++ are the Enums… I tried to use Java’s enums one time… But it wasn’t that, I wanted to have. I just wanted to have something like in C++, in Java Enums are classes. Why?!? Of course that has some advantages, but I don’t “use” them. Simply having an enum to make tons of "public static final int"s would be everything I want. Everything else is overkill for me…

But andyMak, starting with C++ is much harder anyways.

Fun fact: I used to try out C++ one time. My project built fine, until I somewhere (i didn’t know where) I wrote something my compiler didn’t like. Changeing ONE thing made (exactly) 108 (!!!) Compiler errors come up. I took me days to figure out, what my compiler (gcc) didn’t like -.-
Btw, did I already say that I hate headers? It’s like: “Hey you! Please write your classes/files twice :wink: thank you !”…

Believe me, just stay with Java. Java gives you the most nice Error handling thingie. You get NullPointerExceptions, which are - by far - better than writing C++ code and then figuring out something goes wrong because there is some Object missing. Everything does so strange things then. Also, Java does not allow you to try to access “uninitialized” memory. That means these bytes you have, have still got the value someone set it to, which is mostly some random value or 0. Made me cracy one time.

I think it is possible to get along with C++… But you have to have a lot of patience.

When trying to fix C++ compile errors, always start at the first error reported, and recompile when you think you’ve fixed it. C++ compilers are incredibly bad at recovering from a syntax error - the classic one is leaving the trailing ; off the end of a class declaration which can easily trigger thousands of errors.

Actually that’s awesome and by design. Scripting languages should be as fault tolerate as possible…different design space. If I ever get off my butt and work on that entity-system article…I’ll suggest doing exactly the same.