Re: Which language to learn?



Jon Harrop <usenet@xxxxxxxxxxxxxx> writes:

I have seen Haskell and Oz. Both are new but I don't know what to
choose.

I know very little about Oz and can't comment about it, but Haskell
is an excellent choice for learning for broadening horizons. It's quite
different from mainstream languages, well designed and elegant, and
at the same time practical, and with good quality of implementations.
These aspects rarely coincide.

OCaml:

OCaml might be easier to learn than Haskell (it doesn't try to
distinguish pure functions from operations with side effects),
but other aspects are worse IMHO (because of this, because of
being explicit about when the body of a function is evaluated,
it doesn't make you feel what functional programming is about).
String handling is quite imperative (strings are mutable, you
often end up computing the length in advance and then filling
contents).

OCaml has various ugly artifacts of the simplicity of the implementation
and design, e.g. silent overflow in integer arithmetic; poor choice of
equalities: the most fundamental one, the only one from SML, is absent;
hardwired implementation of comparisons wrt. value representation;
no type-generic arithmetic, 8-bit only texts. Most of them doesn't
mean anything wrt. functional programming, it's just ugly, even if
it's justified by simplified implementation and performance.

--
__("< Marcin Kowalczyk
\__/ qrczak@xxxxxxxxxx
^^ http://qrnik.knm.org.pl/~qrczak/
.



Relevant Pages

  • Dr. Dobbs | Its Time to Get Good at Functional Programming | 12 3, 2008
    ... all), tends to overgeneralize (e.g., it describes Haskell as "a ... describes Erlang as "a general-purpose language," but then, in the ... functional programming languages, including Scheme and LISP. ...
    (comp.lang.functional)
  • Re: Lispers first look at Haskell
    ... stupid asI have only a week playing with Haskell. ... muso when it comes to functional programming. ... I have dabbled in SML, Haskell, as well as Common Lisp ... language because there was no IDE? ...
    (comp.lang.lisp)
  • Re: Design Patterns and Functional programming
    ... Functional programming languages are divided into purely and impurely ... Only purely functional languages (e.g. Haskell) prohibit ... You can mutate state all you want in OCaml and other impure functional ... Those are the requirements of a purely functional programming language like ...
    (comp.object)
  • Re: Lispers first look at Haskell
    ... stupid asI have only a week playing with Haskell. ... muso when it comes to functional programming. ... I have dabbled in SML, Haskell, as well as Common Lisp ... language because there was no IDE? ...
    (comp.lang.lisp)
  • Re: can Python be useful as functional?
    ... I also know that Python got some useful tool such as map, filter, ... I took a little example of Haskell: ... how can we call a language "functional" if it's major ... I am a fan of functional programming languages, ...
    (comp.lang.python)