What's C's biggest mistake?

Sean Kelly sean at invisibleduck.org
Thu Dec 31 09:33:13 PST 2009


dsimcha Wrote:

> == Quote from Sean Kelly (sean at invisibleduck.org)'s article
> > BCS Wrote:
> > >
> > > I guess my point is that aside from VERY resource limited systems, almost
> > > no one will have C as their first choice. Even with those limited systems
> > > I'd bet that most people would rather be working in something else if they
> > > could. That said, there are many places where it ends up being the lingua
> > > franca.
> > C has the advantage of working pretty much the same on every platform around,
> while C++ compilers are /still/ unreliable about standard library support,
> language features, etc.  In fact, my current project is in C, though I'd prefer at
> least using the "C with objects" style of C++ like DMD is written in.  As you've
> said, C is the lingua franca in many places and it's difficult to displace.
> 
> C is such an unbelievably low level language that I find it amazing that anyone
> would use it outside of kernels, device drivers, very resource-limited embedded
> systems and legacy systems where the decision was made a long time ago.  I would
> think the portability issues of C++ would be easier to deal with than the extreme
> low levelness of C.

In my case it's really mostly entrenchment.  I could have pushed for C++, but I'd have been the only one on the team who'd spent much time with the language so there'd have been little point.  As it is, I find myself lamenting the "pointers are arrays" issue every single day.  I've ended up writing a whole slew of memxxx() routines the standard library left out just so I could do string manipulation without inserting and removing null terminators for each operation.



More information about the Digitalmars-d mailing list