[Haskell-cafe] Object Oriented programming for Functional Programmers

Strake strake888 at gmail.com
Mon Dec 31 14:46:01 CET 2012


Disclaimer: My own experience with OO is limited.

On 30/12/2012, Daniel Díaz Casanueva <dhelta.diaz at gmail.com> wrote:
> 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.
>
> ...
>
> I thought it could be good to me (as a programmer) to learn C/C++.
> It looks like I have to learn imperative programming (with side effects all over around) in some point of my programming life.

Have to, no. Ought to, yes. As Turing-equivalent computers are
essentially imperative, imperative code is nearest to the actions of
the machine. Ergo asm may seem the best choice, but not so: C is the
wiser choice, as it is machine-agnostic, widely used, and often clear
and effective.

I never used pascal, and after I read this:
http://www.lysator.liu.se/c/bwk-on-pascal.html
I care not to do.

> So my questions for you all are:
>
> * Is it really worthwhile for me to learn OO-programming?

Likely. Some code is most readily written in objective style.

> * 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".

Smalltalk.

> * Is it true that learning other programming languages leads to a better
> use of your favorite programming language?

Yes. Either one gains an awareness of certain biases and assumptions
made while using prior languages, or else the new language becomes
one's favorite (^_~)

> * Will I learn new programming strategies that I can use back in the
> Haskell world?

Maybe. I honestly can't say a priori, but it's a win to know the
alternatives. I have done some OO, and a few times while writing in
Haskell, the objective model came to mind first, tho in many cases it
is cumbersome in Haskell.

Cheers,
Strake



More information about the Haskell-Cafe mailing list