On 28-04-2012 22:43, Timon Gehr wrote:
On 04/28/2012 09:58 PM, foobar wrote:
On Saturday, 28 April 2012 at 18:48:18 UTC, Walter Bright wrote:
Andrei and I had a fun discussion last night about this question. The
idea was which features in D are redundant and/or do not add
significant value?

A couple already agreed upon ones are typedef and the cfloat, cdouble
and creal types.

What's your list?

D has a lot of ad-hock features which make the language
needlessly large and complex. I'd strive to replace these with
better general purpose mechanisms.

My list:
* I'd start with getting rid of foreach completely. (not just
foreach_reverse).


foreach is very useful. Have you actually used D?

Removing it would be craziness.


This is nothing more than a fancy function with
a delegate parameter.


That would be opApply.

* enum - enum should be completely redesigned to only implement
what it's named after: enumerations.


What is the benefit?

* version - this does not belong in a programming language. Git
is a much better solution.


So you'd maintain a git branch for every OS if there is some small part
that is OS-dependent? I don't think that is a better approach at all.

That is absolutely horrible. It's not how branches are meant to be used.


* di files - a library should encapsulate all the info required
to use it. Java Jars, .Net assemblies and even old school; Pascal
units all solved this long ago.

* This is a big one: get rid of *all* current compile time
special syntax.

What would that be exactly?

It should be replaced by a standard compilation
API and the compiler should be able to use plugins/addons.

Are you serious?

This would reduce the size of the language to half of its current
size, maybe even more.

I am certain that it would not.


You missed to present the 'general purpose mechanisms'.


--
- Alex

Reply via email to