Rust and D
Franciszek Czekała" <home at valentimex.com>
Franciszek Czekała" <home at valentimex.com>
Sat Sep 29 13:47:19 PDT 2012
On Saturday, 29 September 2012 at 19:09:46 UTC, Walter Bright
wrote:
> On 9/29/2012 1:08 AM, Peter Alexander wrote:
>> As you can see, no matter what you think of these features,
>> the arguments are
>> pointless because it is very clear that you can do meaningful
>> work without them.
>> We get by without channels, homoiconicity, and full program
>> type inference; just
>> as the Go programmers get by without generics.
>
> I think that argument is making the claims that:
>
> 1. all features are equally valuable
>
> 2. if one can get by without a feature, then that feature is
> not needed
>
> Both of those are invalid.
Exactly my thoughts. Templates enable abstraction. Go channels
enable ... channels. Comparing both on the same level is
ridiculous. Go has a vey low level of abstraction. I feel it is
even worse than C. In C, void* can be a powerful abstraction
tool, but in Go pointers are almost banned and made difficult to
use. Empty interfaces do not cut it because they involve boxing
and unboxing and they give you nothing that void * could not give
you and easier. Interfaces in general? You cannot even sensibly
define interfaces with methods that have that same interfaces as
their return types (just try it). I cannot see Go being used
beyond utf-8 text processing (web servers and the like). Numeric
calculations? Without some serious abstraction tools nobody is
going to waste their time. Other uses? Wherever you go
abstraction (read generics and the like) rules. Not using
abstraction means usually wasting your programming effort and
redoing things multiple times. When people refuse to use
programming languages without abstraction mechanisms it is
exactly immagination that they use.
More information about the Digitalmars-d
mailing list