C++, D: Dinosaurs?

Nick Sabalausky a at a.a
Mon Nov 3 13:52:29 PST 2008


"Tony" <tonytech08 at gmail.com> wrote in message 
news:genht8$2fcg$1 at digitalmars.com...
>
> "Nick Sabalausky" <a at a.a> wrote in message 
> news:gel5tu$1a1v$1 at digitalmars.com...
>> "Clay Smith" <clayasaurus at gmail.com> wrote in message 
>> news:gej5nr$13jd$1 at digitalmars.com...
>>> Tony wrote:
>>>> Someone has to ask the obvious question! (The question is in the 
>>>> subject of this post).
>>>>
>>>> Tony
>>>
>>> Technically, I'd consider C++ to be undead. Old, ugly, its zombie 
>>> rotting flesh never seems to die. It lives by eating the brains of C 
>>> programmers.
>>>
>>> ~ Clay
>>
>> Funny you mention that, the analogies I normally think of for C++ are 
>> either a 120+ year-old on life support or, as you said, the living dead. 
>> It's long past it's time, but people just won't let it finally rest 
>> (probably because, aside from D, there's no modern language that's a 
>> suitable replacement for C++ in *all* of C++'s use-cases. C# and Java, 
>> for instance, are only partial replacements. They can handle many of 
>> C++'s uses, but not all.)
>
> The "in *all* of C++'s use-cases" part is probably the way to create a 
> dinosaur (call it E, F or G or whatever). The concept of "general purpose 
> language" is getting a bit long-toothed?
>
> Tony

I strongly disagree. The concept of domain-specific languages is 
ultra-trendy these days (probably promoted by the same knuckleheads that 
hailed things like pure-OO, pure-functional, and Extreme Programming as 
silver bullets). But I consider domain-specific languages to be purely a 
symptom of a strong need for a better general purpose language.

Let's face it: programming needs and uses have expanded so much over the 
last decade or so that C/C++ hasn't really been a "general purpose" language 
for quite some time. These days it's a systems/performance language instead. 
True, all the attempts at retrofitting it with modern-ish features to try to 
keep it general-purpose have turned it into a regular frankenstein's monster 
of a language, but that does nothing to disprove the viability of general 
purpose languages in general. It just demonstrates that C++ needs a reboot 
(hence: D). Heck, D is already far better as a general-purpose language than 
C/C++ (although it's still not quite there yet).

I'd *much* rather use a true general-purpose language (which, again, C++ is 
no longer an example of) than muck around with 500 different languages for 
every stupid little thing.

For example, have you ever tried doing web development? You can't 
realistically do anything nontrivial without tripping over at least handful 
of different, essentially domain-specific, languages: ECMAScript, (T)SQL, 
(X)HTML, XML, CSS, and either PHP, ASP/VBScript, ASP.NET/C#, Python or Ruby. 
And that's just the bare minimum for any non-trivial web site. For one 
thing, most of those are great examples of the fact that domain-specific 
languages do nothing to prevent piss-poor language design. But besides that: 
Conceptually, web development is one of the most trivial forms of 
programming out there. But the domain-specific language-soup realities of it 
have turned what should have been trivial into one of the programming 
world's biggest pains-in-the-ass. It's an absolute mess. I'm currently 
writing my first compiler, and I have in the past written homebrew for the 
Atari VCS, and an Asm sound driver for a multiprocessing 
microcontroller/embedded-device that has no sound hardware other than a 
generic DAC capability. All of those have proven to be far less 
pains-in-the-ass than any of my web development work. Considering the 
conceptual simplicity of the web, that's just absolutely pathetic. 





More information about the Digitalmars-d mailing list