On Saturday 18 September 2010 08:59:24 dsimcha wrote:
> == Quote from retard (r...@tard.com.invalid)'s article
> 
> > >>> 2. a research project (Haskell)
> > >> 
> > >> Haskell stopped being a research project many years ago, Haskell
> > >> development now happens in companies (including Microsoft) as much as
> > >> in universities and is about creating good examples of software
> > >> engineering.  Research languages are things like X10, Chapel, OCaml, C
> > >> ++.
> > > 
> > > It still was designed as a research project. It even says so in the
> > > Haskell 98 report:
> > > 
> > > "The committee intended that Haskell would serve as a basis for future
> > > research in language design, and hoped that extensions or variants of
> > > the language would appear, incorporating experimental features." --
> > > Haskell98
> > 
> > Something has happened. There are few enterprises using Haskell and the
> > GHC compiler is rather stable after years of development effort. There
> > are also truckloads of bindings to various libraries and many libraries
> > written in Haskell.
> > I guess it's terribly hard to get rid of the 'ivory tower' stigma. What
> > 
> > do you think is missing? They have:
> >  * a good compiler (more mature than dmd)
> >  * large set of libraries (more than d, seriously more than d2)
> >  * an active community (larger and more talented than d programmers)
> >  * research papers (does anyone have any idea if a single academic
> > 
> > conference paper has ever been written about d?)
> > 
> >  * website (better than digitalmars.com)
> >  * a well defined language
> 
> Multiple paradigms are what's missing.  I refuse to consider any language
> that adheres so rigidly to a single paradigm as anything more than an
> ivory tower research project, no matter what.  In the real world no one
> paradigm suits every problem, or even every small subproblem.  I emphasize
> the small subproblem part because it implies that using multiple languages
> isn't they answer.

Except that it's not necessarily the case that one language should be used to 
solve everything. I totally agree that it's generally better to have a general 
purpose language that supports multiple paradigms, but sometimes it's useful to 
use a language that's much more focused. Extreme examples of that are domain-
specific languages where they can only be used in one area.

I've used Haskell a fair bit, and for some types of problems, it's fantastic. 
For others, it's horrific. On the whole, I'd prefer to use D which is more 
general purpose, but that doesn't mean that I'll never use Haskell again. I 
prefer D to Java and C++, but odds are that I'll still end up using them if 
they 
fit the problem better for whatever reason.

The reality of the matter is that it's unreasonable to expect one language to 
be 
the best language to solve every problem, no matter how good it is. Every 
language has its strengths and weaknesses. D is more general purpose than 
Haskell and therefore will be the best language for far more problems than 
Haskell, but doesn't mean that Haskell will never be a better choice than D for 
a particular problem.

And of course, there's always preference. Plenty of stuff can be done just as 
well in multiple languages, at which point, there is no best language - it's 
whatever the programmer prefers to use.

Ultimately, I don't see the fact that a language isn't particularly multi-
paradigm to be a problem. It just means that it's not the language to use when 
you're not doing something where that paradigm is the best to use. And 
naturally, using more general purpose languages is generally a better idea, 
since they're more flexible. But there's plent of room for a variety of 
programming languages in this world, including ones which are pretty much 
single 
paradigm languages.

- Jonathan M Davis

Reply via email to