Rust and D

Paulo Pinto pjmlp at progtools.org
Sat Sep 29 04:19:09 PDT 2012


On Saturday, 29 September 2012 at 10:53:57 UTC, Peter Alexander 
wrote:
> On Saturday, 29 September 2012 at 10:27:26 UTC, Nick Sabalausky 
> wrote:
>> If he were talking about some minor insignificant feature, 
>> then I agree
>> it'd be goofy to reject a language solely because of that. But 
>> that's
>> not what's happening. Generics are a major thing. Many people 
>> *do* find
>> them to make a big difference.
>
> So, with this in mind, do you think these hypothetical people 
> are all justified?
>
> (a) [Go programmer]: D is rubbish because it doesn't have 
> channels.
> (b) [Lisp programmer]: D is rubbish because it doesn't have 
> homoiconicity.
> (c) [Haskell programmer]: D is rubbish because it doesn't have 
> full type inference.
>
> All of those things are considered "a major thing" by their 
> users, and many people do find them to "make a big difference."
>
> My question to you: Is it okay to reject D solely with these 
> arguments? If not, how is this any different from rejecting Go 
> solely from its lack of generics?

Because except for Go, all static languages developed after 1990, 
which managed to gain mainstream use, have some form of generics.

Just to name a few out of my mind:

- Ada
- Modula-3
- Eiffel
- C++
- D
- Java
- VB.NET
- Object Pascal/Delphi
- Ocaml
- F#
- Haskell
- Scala

For those like myself that use C++ since the 'C with classes' 
time, Go's lack of generics feels like time travel into a time 
where generics were some strange stuff in compiler design papers.

The days when C++ compiler vendors used to offer C macro 
processor hacks, or external tools to enable the use of fake 
generics in C++ code. Borland was one of them, for example.

Funny enough, this type of tooling seems to start appearing in 
the Go community, proving that regardless of what they say, the 
need is there.

--
Paulo


More information about the Digitalmars-d mailing list