Before discussion a few points:

  1. Declarative langauges like Prolog, Lisp, OCaml, Haskell…
  2. I am a strong supporter of declarative languages
  3. I come from a Prolog background, so, some comments might not be 100% suited for the functional programming world
  4. By failure I mean lack of mass usage

I see mainly 3 reasons for the failure of declarative languages:

Unprepared audience

Most programmers have either lack of interest (entered the profession solely for money reasons) or lack of formal training. If for the great majority of programmers a change from C++ to Java is seen as a “great step”, imagine then a change to a language that in practice requires a “mental reboot”.

Academic bias

An example: regarding XSB Prolog, I once asked one of the authors why they didn’t have support for readline on U*ix variants, the answer: “We cannot write a paper on readline support for XSB”. The funnier part is that they use XSB in a commercial environment, yet still, they don’t see any interest in supporting a very simple productivity feature. Of course there are Prologs that are more usage friendly, but still the mentatility in the vast majority of the Prolog community seems to be towards a strong academic bias.
Also, for the most Prologs, a simple production grade database access library seems to be asking for too much. A SOAP connector? Even a simple connector to an existing XML/C parsing library in most Prologs is not to be found…
The functional side seems to be a bit better, but still the situation seems, in most cases, far from good.

Excessive self-confidence

It goes like this: “We are good, we are better the others, so, others (the vast majority), convert and be assimilated. We do nothing to help bridging the 2 sides”. Of course, this approach is doomed to fail. Although I believe that part of the excessive self-confidence can be justified ;-) , this type of strategy leads nowhere.

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Facebook
  • Google
  • connotea
  • DZone
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati

Please share your thoughts