Browse thread
Wikipedia
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2005-11-04 (16:50) |
From: | Matt Gushee <matt@g...> |
Subject: | Re: [Caml-list] what is high-level |
Brian Hurt wrote: > OK, here's the thing: Ocaml is a different paradigm than Python, Ruby, > and PHP. If you know Pascal, C, Fortran, etc., then learning PHP isn't > difficult, because it too is a procedural language. If you know C++, > Java, etc., then learning Python or Ruby isn't that hard, because > they're Object Oriented languages too. If you already know SML or > Haskell, learning Ocaml wouldn't be that hard. The problem is that most > people don't know SML or Haskell. I used to believe that too, and have told people more than once: "It's not inherently harder, it's just different from what you're used to." But my opinion has changed. Actually, I would argue, making effective use of functional techniques *is* harder because it requires more abstract thinking. Procedural programming is full of "Do A to X, then do B to Y ..."--a series of concrete operations performed on explicit entities. There are no lambdas, no partial evaluation, no HOFs ... and the fact that functions are always named and always defined in a specific, identifiable piece of code is limiting, but also can make it much easier to understand what a program is doing. And I would argue that functional programming is a way of "working smarter, not harder"--which of course requires knowing something. It may be that the same is true of good OO programming, but as far as I can tell few OO practitioners have a very deep understanding of the paradigm (note that my impressions come mostly from exposure to run-of-the-mill corporate Java programmers). -- Matt Gushee Englewood, CO, USA