Zlodo {l Wrote}:You are very arrogant. How do you know I said that because I'm stuck into "conventional knowledge" rather than from a "been there, done that" point of view?
I could say the very same about you. Ive come across guys like you, and your a dime a dozen. When it comes to this scenario "conventional knowledge" and "been there, done that" is the same exact thing. Until you can provide me with an example implementation to show "been there, done that" you have done nothing more than derogative trolling. I don't care how you do it (flex, bison, perl pre-compile script), just bring me a solution that fixes the C macro system. Until proven otherwise your just another fool stuck on conventional knowledge, or even worse another noob making extravagant claims with no experience to back it up.
Zlodo {l Wrote}:I don't have to deal with any of those issues because I don't use macros.
That wasn't the point O genius one. The point was to show how languages can be extended to fit your personal needs (yours obviously being a more C++ style), and how you can push a language to its limits (Not to start a C vs C++ shitfight). From there I was backwards-integrated that into the original topic by using it to show the benefits of knowing multiple languages. To deny any of this is folly and you know it, which is why you deliberately avoided the argument by changing the subject.
Zlodo {l Wrote}:And in fact I don't see where and how your system actually avoids multiple macro parameters evaluation.
While my language is nowhere near perfect (yet) I am actively working on solutions. Improving my pre-compile script to take such scenarios into account is easy enough. Also, you are completely missing the potential that beefed-up macros have
Zlodo {l Wrote}:Or perhaps experienced enough to realize that they have been superseded by much better solution for almost every use case.
I would beg to differ, because I extremely highly doubt you have ever used Scheme. Scheme is amazing in that code can write code, and it makes the C macro system look like a toy hammer compared to a industrial power drill. Your lack of understanding of macros shows how inexperienced and dependent on conventional knowledge you really are. In many scenarios macros are far more powerful than their alternatives, and denying so is an admittance of your ignorance. Your just to stuck on conventional knowledge that says "C macros are bad!!" to realize that not all macro implementations are bad.
Zlodo {l Wrote}:And now I wish it would have stayed that way. But more seriously, I have seen (and myself wrote) lots of shitty code where people tried too hard to be clever but just ended up needlessly complicating everything for absolutely no gain at all. You are not unique.
Again, you missed the point. I wasn't trying to show off or prove myself smarter/cleverer than you (but for some reason you interpreted it that way? Lol? You feel threatened by me or something?). I was proving my point that learning multiple languages is vastly beneficial, which you can in now way argue with which is why you are harping on my C implementation.
I could spend an entire day typing up a 10-page article of the advantages of macros over their alternatives. Until you have actually used them yourself you have no idea of the vast potential they hold. Imagine how easy it is to unroll a loop? Which is such a pain in the ass in C++ using templates. Imagine how easy it is to have fine-detailed control over every aspect of your program, right down to the profiling, memory management (including memory tracking, leak detection, and everything found in a memory debugger), and the limitless possibilities. Macros give you everything C++ has but more, for the cost of expertise.
Zlodo {l Wrote}:You are wrong. Google "placement new".
Please do provide an example--Could you allocate a 30 structures, and call 30 separate constructors please, each constructor with a different number of arguments? This is a extreme-test case scenario that my macro system can handle with relative ease. I await your example code.
Zlodo {l Wrote}:lol (in response to: "The unimaginably great potential found in this basic example alone shows just useful it is.")
See, that just proves your ignorance. You have no idea how powerful macros can be or their uses. Your to stuck on conventional ways (whether it be by your own experience of "been their done that" or not, your still stuck) to realize there are better implementations of macros than the C macro system, and that macros are a very powerful tool when used correctly.
Zlodo {l Wrote}:You are wrong. Google "C++ name mangling".
Am I? Consider this scenario:
- {l Code}: {l Select All Code}
void func1(object1 &obj);
void func1(object2 &obj);
// inline conversion operator goes here that converts object1 to a object2 type.
func(obj);
// oh snap, the wrong function was called!
Whereas in my C implementation the functions are expanded in macros:
- {l Code}: {l Select All Code}
void object1_func1(object1 &obj);
void object2_func1(object2 &obj);
// impossible to call the wrong function
object1_func1(obj);
As I have thoroughly proved Zlodo, until you can provide undeniable proof your just another fool stuck on conventional knowledge.