Re: Lisp Ruby Scheme
- From: Elena <egarrulo@xxxxxxxxx>
- Date: Tue, 31 Mar 2009 04:57:43 -0700 (PDT)
On Mar 31, 11:42 am, Elena <egarr...@xxxxxxxxx> wrote:
On Mar 30, 11:40 pm, dvand...@xxxxxxxxxxxxxxxxxxxxx (Dirk van Deun)
wrote:
Elena (egarr...@xxxxxxxxx) wrote:
: On 30 Mar, 22:22, dvand...@xxxxxxxxxxxxxxxxxxxxx (Dirk van Deun): wrote:
: > So you may say: I do see the need, but it is also possible to learn
: > new programming styles while always using the same versatile
: > language. ?Well, to me the difference between learning for instance
: > pure functional programming in Haskell and learning it in Scheme
: > is like learning French from a native speaker, and in France, versus
: > learning French in Germany, from someone who learned it from a
: > native speaker. ?Immersion is important. ?So is incidental learning..
: I don't think so. What's so hot about purely functional languages? Not
: having variables? Well, don't set variables or use destructive
: operations in Scheme and you're done. You won't have to wrestle with
: foreign syntax, monads and libraries for accomplishing very basic
: tasks. Beware: you can do that because Scheme is well equipped to
: allow for that. Other languages may not be. For instance, I don't
: think CL allows for purely functional programming because it lacks
: TCO. You'll have to think about it beforehand.
: OTOH, every language has its interpretation of paradigms it allows
: for. Both Haskell and Clean are purely functional, but if you choose
: Clean you'll never have to wrestle with monads.
Well, the part that you call wrestling (twice) is the part that I call
a chance to gain a new insight. Of course this goes for wrestling
with monads much more than for wrestling with syntax.
: I think that if you are open-minded, you can grasp a new paradigm by
: studying documentation. For instance, I've learned Design by Contract
: by reading Meyer's books.
Maybe we will never agree because this is some thing about abstract
versus concrete thinkers or something. I don't actually know much more
about Design by Contract than its definition and that Eiffel is the
prototypical language to incorporate it, so if I wanted to really grok
the concepts, I would find me a compiler for Eiffel and start feeding it
the most convoluted code snippets I could come up with, to see what
happens. That's how I learn and I believe that's how many people learn,
and I don't see how I could do something equivalent using Scheme.
Afterwards, of course, I could apply what I had learned in Scheme
projects too.
So maybe I should weaken my claim to: "learning radically different
languages will make you a better Scheme programmer *if* you are
the kind of person who learns best by tinkering".
Dirk van Deun
--
Ceterum censeo Redmond delendum
I'm an abstract thinker by need. I like to tinker too, but who has
time to struggle with a new syntax, tools and libraries anymore? Maybe
you have. Go for it. I've been there, done that. Maybe that's the main
divergence between us.
BTW, I don't think you deeply understand a new paradigm just by
throwing snippets of code at the compiler. You'll have to develop real
world applications for that. What you can learn just by thinkering,
you could learn by studying well written explanations. That's why I
mentioned Meyer's books: I've never studied Eiffel by itself, never
touched an Eiffel compiler, but in OOSC2 Meyer take you in a journey
along the development of a new notation supporting both OOP and DBC,
which happens to be Eiffel.
I'm also a practical minded person. I just want to study concepts
which solve practical issues. Monads don't, they just solve an issue
Haskell has. Clean hasn't it.
Happy tinkering! ^_^
Since you prefer testing a new paradigm by tinkering with it, maybe
you could be interested in discovering how such a paradigm scores
against "real world" problems. Have a look here:
http://www.knowing.net/index.php/2006/06/16/15-exercises-to-know-a-programming-language-part-1/
Cheers
.
- References:
- Lisp Ruby Scheme
- From: kunjaan
- Re: Lisp Ruby Scheme
- From: Elena
- Re: Lisp Ruby Scheme
- From: kun
- Re: Lisp Ruby Scheme
- From: Elena
- Re: Lisp Ruby Scheme
- From: Dirk van Deun
- Re: Lisp Ruby Scheme
- From: Ray Dillinger
- Re: Lisp Ruby Scheme
- From: Dirk van Deun
- Re: Lisp Ruby Scheme
- From: Elena
- Re: Lisp Ruby Scheme
- From: Dirk van Deun
- Re: Lisp Ruby Scheme
- From: Elena
- Lisp Ruby Scheme
- Prev by Date: Re: Lisp Ruby Scheme
- Next by Date: Re: Lisp Ruby Scheme
- Previous by thread: Re: Lisp Ruby Scheme
- Next by thread: Re: Lisp Ruby Scheme
- Index(es):
Relevant Pages
|