Re: Lisp Ruby Scheme



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
.



Relevant Pages

  • RE: C# book for 16 yo?
    ... First I would suggest first learning Visual Studio.NET. ... Then I suggest 2 books to actually learn C# - Microsoft has a book called ... important to quality programming. ... language that combines all the best features of previous languages and is ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Opinions on intro lisp books
    ... But Lisp is a little different, ... Some languages support one style of programming better than they ... Even if that weren't the case, I'm not sure that a language being a ... I don't believe that learning to program in CL requires more theory ...
    (comp.lang.lisp)
  • Re: Newbie (Followup)
    ... level language (as I believe I will end up learning more). ... know a little bit including the basics of pointers, ... Alas I am forced to learn a "language" that deviates from even the most basic principles of programming (from what I have seen so far/ ...
    (comp.lang.c)
  • Re: Lisp Ruby Scheme
    ... :> pure functional programming in Haskell and learning it in Scheme ... every language has its interpretation of paradigms it allows ... I would find me a compiler for Eiffel and start feeding it ...
    (comp.lang.scheme)
  • Re: AspectJ: solution to Javas repetitiveness?
    ... The only real benefit of university in learning those languages ... Every language I have learned since I have learned ... fundamentals of good programming from a good teacher. ... Incidentally I am just teaching myself Ruby. ...
    (comp.lang.java.programmer)