On Mon, 31 Dec 2012, MigMit <miguelim...@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.d...@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@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to