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

Reply via email to