2.03.2011

First real complain about GCC

Yes, this is a rant, a complain, a thing I usually don't do about GCC. So far, I got the nicest things which would work, for example, in VC++, but not using GCC's g++. I talk about specializing template methods inside a template class. This is a really annoying thing, as you also can't specify it outside. The only solution I found so far was an ugly, ugly one with overloaded methods and a type only there to identify specific sets of template parameters. Really ugly stuff I don't to have in my code. But well - the idea multidimensionality is the core concepts of almost all of my more useful classes. Multidimensional arrays, sequences, lists, trees etc. It's the base class for EVERYTHING that's useful to me. To most important thing EVER in my whole toolkit. But what's happening to it? Nothing. More specific, my hopes to solve this clean in C++ fall apart. Well, it seems I then have to start learning Lisp instead. I still don't have time for doing so (this will change in two weeks). Writing my own language to then convert to C is also a bit stupid since I'd want to use my toolkit for coding it, which then again gets an infinite loop cause I'd need my own language for it. *sigh* It's a never-ending circle of death. But in case everything's going too annoying, I'll simply limit myself to not doing anything too interesting in C++ anymore. It simply becomes annoying to see that every idea you get, beeing totally possible, fails due to the languages horribly complicated syntax with very limited overall cleanliness. So here's my plan: Make your toolkit, create ony multidimensionality for the things you really need use multidimensional (points etc - arrays are basically always multidimensional from a certain point of view) and freeze it there. As long as I get the basic stuff done, I can do more complicated things with my own language later. The plan continues in the way that I'll try to collect all elements I think are core parts of a language but can be combined to every kind of thing I can imagine at the moment. This will of course include a way to generate a program in multiple steps, so that you can generate code of this language which in order can also generate code. A multi-step compilation process of user-defined length, making it possible to recompile the generators only if changed some of their previous steps. I hate g++' compilation system for that, but I can't change it myself, as g++ is a creep-sized project I'm too unexperienced for. So I'll choose to export everything to C, where I can be sure that all the complex can be left to my personal observation. I'll just make a big list of things and expand on demand. No forced features, just the stuff I'd really need in reallife. And the syntax will be as minimal as possible to keep compilation time down (remember: we still need to compile it to C than). Possibly a bit like Lisp, but with more common notation elements you can in C, C++ and so on. It's really time to move on and do something against this horrible motivation stopper. It's getting annoying, seriously annoying.

No comments: