[Haskell-cafe] Object Oriented programming for Functional Programmers
Jay Sulzberger
jays at panix.com
Mon Dec 31 03:12:35 CET 2012
On Mon, 31 Dec 2012, MigMit <miguelimo38 at yandex.ru> wrote:
> Well, "functional programmer" is a relatively broad term. If
> you're coming from academia, so that for you Haskell is some
> sort of lambda-calculus, spoiled by practical aspects, then I'd
> suggest Luca Cardelli's book "Theory of Objects".
>
> Also, as Daniel told you already, don't start from C++, it
Name typo, should be "Jay", noted.
> really has very little to do with OOP. It's primary merit is a
> very powerful system of macros (called "templates" in C++
> world), not objects. If you want something mainstream, Java
> would be a good choice, and C# even better one (although it
> would be more convenient for you if you use Windows).
>
> Or you can try OCaml, which is functional enough for you not to
> feel lost, and object-oriented as well.
>
> ÐÑпÑавлено Ñ iPad
For systems to look at I recommend Simula, some early version,
Smalltalk, Common Lisp, and Erlang. My guess is that Haskell's
type classes are a mechanism for creating something like Common
Lisp's "generic functions". I know too little about Haskell to
say whether type classes immediately give you "single dispatch"
things, or "multiple dispatch" things.
These two Wikipedia articles are useful, I think:
http://en.wikipedia.org/wiki/Generic_function
[page was last modified on 15 November 2012 at 03:50]
http://en.wikipedia.org/wiki/Common_Lisp_Object_System
[page was last modified on 15 December 2012 at 23:57]
The Diamond Problem and its cousin(s) are worth looking at:
http://en.wikipedia.org/wiki/Diamond_problem#The_diamond_problem
[page was last modified on 27 December 2012 at 04:53]
http://www.ibm.com/developerworks/java/library/j-clojure-protocols/
http://stackoverflow.com/questions/4509782/simple-explanation-of-clojure-protocols
oo--JS.
30.12.2012, в 23:58, Daniel DÃaz Casanueva <dhelta.diaz at gmail.com> напиÑал(а):
> Hello, Haskell Cafe folks.
>
> My programming life (which has started about 3-4 years ago) has always been in the functional paradigm. Eventually, I had to program in Pascal and Prolog for my University (where I learned Haskell). I also did some PHP, SQL and HTML while building some web sites, languages that I taught to myself. I have never had any contact with JavaScript though.
>
> But all these languages were in my life as secondary languages, being Haskell my predominant preference. Haskell was the first programming language I learned, and subsequent languages never seemed so natural and worthwhile to me. In fact, every time I had to use another language, I created a combinator library in Haskell to write it (this was the reason that brought me to start with the HaTeX library). Of course, this practice wasn't always the best approach.
>
> But, why I am writing this to you, haskellers?
>
> Well, my curiosity is bringing me to learn a new general purpose programming language. Haskellers are frequently comparing Object-Oriented languages with Haskell itself, but I have never programmed in any OO-language! (perhaps this is an uncommon case) I thought it could be good to me (as a programmer) to learn C/C++. Many interesting courses (most of them) use these languages and I feel like limited for being a Haskell programmer. It looks like I have to learn imperative programming (with side effects all over around) in some point of my programming life.
>
> So my questions for you all are:
>
> * Is it really worthwhile for me to learn OO-programming?
>
> * If so, where should I start? There are plenty of "functional programming for OO programmers" but I have never seen "OO programming for functional programmers".
>
> * Is it true that learning other programming languages leads to a better use of your favorite programming language?
>
> * Will I learn new programming strategies that I can use back in the Haskell world?
>
> Thanks in advance for your kind responses,
> Daniel DÃaz.
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe at haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list