Hey I'm at school right now, so I decided to blog about the only thing that matters: programming. I have quit all serious Game Maker work for a while now, but I still keep an eye out on the community.
And, for those who care and those who don't, here's my opinion about the various programming languages I've encountered.GML: I started GM when I was 9. Before that I used RPG Maker some, well I still used it after seeing GM because GM was of course confusing at first. I've had many fond memories of GM coding but I can comfortably say GML is a horrible language. Major gripes include lack of fundamental data structures, I mean since when are data structures something you have to PAY for? Not only that but the current data structures are not implemented seamlessly at all, and cannot, for example, store an array as the value in a map. Huge type safety problems are another huge concern. (map0+sprite0+2.0) & 1 doesn't error. Everything in GM is either a string or a number/index. Numbers and resource indexes are not distinguished when they really should be. As well, the names of arrays implicitly access the 0th element, which is in my opinion a poor choice. The array name should represent the array. All that being said, GM's coupled room editor and sprite editor in one package made rapid development easy. Also, if GM was any better I might have never broadened my horizons. C++: My one true love. C++ knows that as much as I fool around with other languages, I will be back to it. C++'s class sytem, while imperfect and impure, remains my favourite class system in any OOP (well arguably C++ isn't OOP, but still) language. The reason? It is the only one that has stack objects as the default, meaning no overhead from dynamic allocation and no using tons of primitive types just for performance reasons. The ability to use C-style programming techniques is a big plus too, because they are sometimes the most logical. Templates are a godly feature, it isn't surprising that C decided to implement them retroactively. The only gripes are lack of any standardized graphics library (arguably out of the scope of the standard library, but still really useful for rapid development even if its less efficient than handcoding), lack of standardized threading (coming soon), and lack of class imports between CPP files (hope its coming soon, but I doubt it).Java: I initially was a bit too hard on Java. While it isn't the slow, demonic C++ ripoff from hell I initially thought it was, it isn't really as well executed as it could have been. The main issue, and there is no getting around this, is that Java uses dynamic allocation for _everything_. You best be prepared to use a ton of primitives if you want things on the stack - which completely erases all the usefulness one would get from an OOP language. If you're writing something performance-tight like a chess engine (which I am), you really gotta use tons of arrays and not making any classes (other than ones with purely static members). This is really the only big problem with Java in my view, but it is an extremely annoying one. Java for one reason or another chooses not to implement any macros, or templates. This while annoying is manageable, the compiler is typically smart enough to realize if (true) will always happen, and inlines functions for you. But this is especially annoying when you want to create a generic data structure. Java introduces generics, which are like templates that resolve at run time. The problem is they would still never have the performance of a templated data structure, especially if you want to map an integer to another integer (you have to use the object system for that, a real pain).Assembly: Oh joy. One of my favourite languages to play around with. The people who freak out about assembly being arcane or hard are overreacting in my view. I don't use assembly for anything serious at the moment, but there is something to be said about being in control of _everything_. FASM is definitely the way to go if you want to get into practical assembly. FASM itself was written in assembly, and has many macros that can decorate your assembly code like a higher level programming language.Ah bell. Got cutoff. Cya, will finish later.
Xxypher: I hope you realize it isnt a serious language
Holy…..
It actually exists. I thought it was just some odd thing Myth decided to post. XDu ever tried any of the BASIC's before?
I wrote a program on my calculator the other day. It could count to ANY number. I was proud of it.
BF is probably the easiest language to learn. Nevermind programming anything practical in it though.
Also, Poly I highly doubt that.It exists, but it's a joke language so to speak, in that it isn't designed to be 'good'.
The fact that BASIC isn't on your list says far more about your opinion of it than having it there ever could. ;)
Could someone point me in the direction of some good C++ examples. TDOT is right, at least in my case.
No Python?
Acid,
As far as I know Cplusplus is probably the most complete set of tutorials you can get online. But, like luda said, C++ doesn't come with standard graphics library. You have to pick up an API, which takes a fair amount of knowledge in C++ to use. Basically, there's no way to avoid the months it takes to get a foundation (pretty much exclusively writing console applications). But, whenever you do get to graphics, I'd recommend SDL to start you off. It seems to be what most beginners turn to (and what I plan on using :p )