Advocacy (Was: Who here actually uses D?)

so so at so.do
Sun Jan 2 02:03:37 PST 2011


I have seen this before.

> **YOU** are full of bullshit.
>
> C++ is a horrible language. It's made more horrible by the fact that a  
> lot
> of substandard programmers use it, to the point where it's much much
> easier to generate total and utter crap with it. Quite frankly, even if
> the choice of C were to do **nothing** but keep the C++ programmers out,
> that in itself would be a huge reason to use C.
>
> In other words: the choice of C is the only sane choice. I know Miles
> Bader jokingly said "to piss you off", but it's actually true. I've come
> to the conclusion that any programmer that would prefer the project to be
> in C++ over C is likely a programmer that I really **would** prefer to  
> piss
> off, so that he doesn't come and screw up any project I'm involved with.
>
> C++ leads to really really bad design choices. You invariably start using
> the "nice" library features of the language like STL and Boost and other
> total and utter crap, that may "help" you program, but causes:
>
>  - infinite amounts of pain when they don't work (and anybody who tells  
> me
>    that STL and especially Boost are stable and portable is just so full
>    of BS that it's not even funny)
>
>  - inefficient abstracted programming models where two years down the  
> road
>    you notice that some abstraction wasn't very efficient, but now all
>    your code depends on all the nice object models around it, and you
>    cannot fix it without rewriting your app.

This whole thing contains not a single evidence but hate.

> In other words, the only way to do good, efficient, and system-level and
> portable C++ ends up to limit yourself to all the things that are
> basically available in C. And limiting your project to C means that  
> people
> don't screw that up, and also means that you get a lot of programmers  
> that
> do actually understand low-level issues and don't screw things up with  
> any
> idiotic "object model" crap.

Object model is crap to an extent. Mostly it is the implementations that  
are crap.
---
struct context;

context* new(...);
void this(context*);
void that(context*);
void delete(context*);
context2* c2 = (context2*)c;
----

Isn't this an example to object model crap? It is everywhere, so he codes  
without this?
There are tons of open source C code, which re-invents "C++ virtual", i  
wouldn't be surprised if he did this too.

Even the official C++ book itself says "Don't abuse class".
C has this macro model, we know how safe how useful it is.
Do you have to use it? Sometimes yes, here you don't even have to use  
"object model" crap.

I am not saying C++ is awesome and all, but it is a big step after C. If  
you don't like it, don't use it.

-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/


More information about the Digitalmars-d mailing list