yea I meant to make my post more obviously a continuous sex joke. But failed. my bad. didnt mean to start a flame war. ALSO xorebxebx, I dislike scala's syntax because it is unorthodox and unlike anything I've taken the time to learn, which is weird that i dislike it for that reason as I'm a liberal in most my mentality. And being liberal is by definition the same thing as being open minded. for that reason I have no doubt in my mind that I will grow to like scala's syntax later in my learning of it.
Huh? DSLs?
So, please create an SQL-like or OQL-like DSL in C, Basic or Fortran. Or even C++ (should be easier). Something like Squeryl or LINQ. To make it not too difficult, just implement the SELECT FROM WHERE clauses, without joins. And it must work on user defined classes.
But you can't compile SQL with a C++ compiler. It is a different language. And you can't create a library for C++ that would allow you to use similar abstractions as in SQL, directly from your C++ sources. The most advanced thing is, you can write an SQL interpreter / translator in C++ and give a programmer an ability to wrap SQL in strings (which is an ugly thing).
On the other hand you can create DSLs in LISP or Scala, which DSLs are still valid LISP and valid Scala. So I can write my SQL in Scala and get it compiled and checked by the Scala compiler.
Well, you should have mentioned you wanted the language to be embedded.
The most advanced thing is, you can write an SQL interpreter / translator in C++ and give a programmer an ability to wrap SQL in strings (which is an ugly thing).
And having two different languages in the same source isn't ugly?
Well, you should have mentioned you wanted the language to be embedded.
Well, I've responded to this: "Domain specific languages are even more abstracted".
The ability to create an interpreter of any language does not tell anything about abstraction level of the host language. Ability to embed DSL, does.
And having two different languages in the same source isn't ugly?
No. This is a natural extension of "library" concept, except much more powerful. DSLs in Strings are ugly, because they don't get checked by the compiler, don't get refactored by IDE, you don't have auto-completion for them etc, while these things work perfectly with an embedded language.
Well, I've responded to this: "Domain specific languages are even more abstracted".
The ability to create an interpreter of any language does not tell anything about abstraction level of the host language. Ability to embed DSL, does.
I don't see how the host's abstraction level affect the guest's abstraction level.
I personally absolutely hate C++. Anyone who has read the FQA Lite will know that it's a fundamentally flawed language, and that GAS Assembly is a far superior language to anything the high-level idiots could come up with.
First, I would like to offer my severely belated congratulations to helios for reaching 7000 posts.
Second, I don't see what we're really debating about. If we like the language xorebxebx is recommending, then I guess use it. If enough of us dislike the language, then xorebxebx... I suggest that you maybe stop recommending it?
@Seraphimsan: Erm. Nice going, buddy.
He wrote:
AND I for one would have to be shit faced drunk to be caught intimately coding with it. I just thought I'd share this with you all. It seems important.