I've had an language naming epiphany
-
From another thread I realized that it's now time to rename C++ to "Templates with C". It started out as "C with Classes" then "C++", and now "Templates with C". Before long it's going to become "Templates without C", then it'll just be "Templates, B$tch". A string constant in the "Templates without C" language:
std::char(std::char(std::char(std::char)))
Explorans limites defectum
-
From another thread I realized that it's now time to rename C++ to "Templates with C". It started out as "C with Classes" then "C++", and now "Templates with C". Before long it's going to become "Templates without C", then it'll just be "Templates, B$tch". A string constant in the "Templates without C" language:
std::char(std::char(std::char(std::char)))
Explorans limites defectum
C programmers just do it all with macros. and they like it.
-
C programmers just do it all with macros. and they like it.
... just yesterday was looking at some code, forget what it was for but thought to myself: if only c# had paramterised macros with conditional compilation, that would be perfect here. sigh, many years on still miss em.
Message Signature (Click to edit ->)
-
... just yesterday was looking at some code, forget what it was for but thought to myself: if only c# had paramterised macros with conditional compilation, that would be perfect here. sigh, many years on still miss em.
Message Signature (Click to edit ->)
With care, one can pass C# through a standard C pre-processor. I do all the time.
-
... just yesterday was looking at some code, forget what it was for but thought to myself: if only c# had paramterised macros with conditional compilation, that would be perfect here. sigh, many years on still miss em.
Message Signature (Click to edit ->)
The downside of C/C++ macros is that there is no specific syntax to invoke them. So they can just randomly rename things in your code because you happened to name something the same as some macro that you never even knew existed. I'm sure most C++ programmers have had some scenario, if they are interacting with system APIs, where they get an error saying that XYZ doesn't exist but you don't have anything in your entire code base named XYZ. And it turns out there's a macro that translates ABC to XYZ, and you named something ABC.
Explorans limites defectum
-
From another thread I realized that it's now time to rename C++ to "Templates with C". It started out as "C with Classes" then "C++", and now "Templates with C". Before long it's going to become "Templates without C", then it'll just be "Templates, B$tch". A string constant in the "Templates without C" language:
std::char(std::char(std::char(std::char)))
Explorans limites defectum
Back to C. ASAP. No template template parameters. No traits. No SFINAE and RAII. Just C, please!
-
Back to C. ASAP. No template template parameters. No traits. No SFINAE and RAII. Just C, please!
I wouldn't go that far. You don't have any to use that stuff while still getting a lot of benefits from C++ over C. My system has a fairly minimal set of templates, just where they really add something important. RAII (though I think the concept is much broader and call them Janitors) I use a lot. They are one of the best things about C++. I have janitors for lots of things, not just allocating and deleting things, but setting or changing things on a scoped basis and such.
Explorans limites defectum