From: Matt Gushee <matt@gushee.net>
To: caml-list@inria.fr
Subject: Re: [Caml-list] what is high-level
Date: Fri, 04 Nov 2005 09:50:48 -0700 [thread overview]
Message-ID: <436B9168.90707@gushee.net> (raw)
In-Reply-To: <Pine.LNX.4.63.0511040900470.1006@localhost.localdomain>
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
next prev parent reply other threads:[~2005-11-04 16:50 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-03 17:26 Wikipedia Jon Harrop
2005-11-03 19:24 ` [Caml-list] Wikipedia Gerd Stolpmann
2005-11-04 2:31 ` skaller
2005-11-04 13:46 ` [Caml-list] what is high-level (was: Wikipedia) Blue Prawn
2005-11-04 15:13 ` Brian Hurt
2005-11-04 15:28 ` David Teller
2005-11-04 16:02 ` skaller
2005-11-04 16:06 ` [Caml-list] what is high-level Alan Falloon
2005-11-04 16:10 ` William D. Neumann
2005-11-04 16:14 ` David Teller
2005-11-05 0:29 ` skaller
2005-11-05 22:05 ` Michael Walter
2005-11-06 14:28 ` skaller
2005-11-04 16:50 ` Matt Gushee [this message]
2005-11-03 19:30 ` [Caml-list] Wikipedia Kip Macy
2005-11-03 20:46 ` Matt Gushee
2005-11-03 21:08 ` Mike Lin
2005-11-03 21:16 ` Florian Weimer
2005-11-04 17:15 ` Thomas Fischbacher
2005-11-04 21:05 ` Alex Goldman
2005-11-04 21:53 ` Gerd Stolpmann
2005-11-04 22:24 ` Alex Goldman
2005-11-06 19:32 ` Thomas Fischbacher
2005-11-07 6:44 ` Tony Edgin
2005-11-07 12:23 ` Thomas Fischbacher
2005-11-07 12:55 ` skaller
2005-11-07 13:03 ` Thomas Fischbacher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=436B9168.90707@gushee.net \
--to=matt@gushee.net \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox