What can you "new"
Sean Kelly
sean at invisibleduck.org
Thu Mar 26 07:27:49 PDT 2009
Cristian Vlasceanu wrote:
> Hm... how should I put it nicely... wait, I guess I can't: if you guys think
> D is a systems language, you are smelling your own farts!
Then I may as well just walk away from D now because this is the only
reason I'm using it.
> Because 1) GC magic and deterministic system level behavior are not exactly
> good friends
malloc is non-deterministic as well, but C/C++ have that. And in
instances where determinism is necessary, why not simply avoid dynamic
allocation? Sure, things get a bit weird when language features have to
be avoided (string concatenation, etc), but at least these are easy to
grep for, thanks to Walter providing distinct syntax for this stuff.
> and 2) YOU DO NOT HAVE A SYSTEMS PROBLEM TO SOLVE. C was
> invented to write an OS in a portable fashion. Now that's a systems
> language. Unless you are designing the next uber OS, D is a solution in
> search of a problem, ergo not a systems language (sorry Walter).
C/C++ have historically been the only feasible languages for much of the
work I do. It's possible that I could write the higher layers of some
apps in a language like Erlang (I did used to work for a Telco, after
all), but C/C++ would still have been necessary for the underpinnings.
The thing is, after having spent a decent amount of time with C/C++ I
began to have problems with certain design issues in those languages.
Sure, they /can/ do what I need, and they're certainly prevalent which
is a huge perk, but the cost of maintenance with both languages is
unreasonably high, certain types of bugs are difficult to avoid, etc.
So far I've found D to answer many of my issues with C/C++ very well
without sacrificing the features I need from these languages: direct
system access, unsafe memory manipulation, inline assembler, etc. I'm
still using C/C++ at work today, but I would love for D to become
sufficiently mature that I could argue for its use instead.
> It is a
> great application language though, and if people really need custom
> allocation schemes, then they can write that part in C/C++ or even assembler
> (and I guess you can provide a custom run-time too, if you really DO HAVE a
> systems problem to address -- like developing for an embedded platform).
There are a lot of application languages out there, most of which have
terrific toolset support--something D lacks tremendously. Why would I
bother with D if I could use Java or C# for the same thing? I think
multiprogramming support may be an answer to this question, but that's
not a selling point /today/.
> Here go another two pessos.
And another two as well. :-)
More information about the Digitalmars-d
mailing list