[gambit-list] Resources for learning scheme: Re: New user (& Questions)

Amirouche Boubekki amirouche.boubekki at gmail.com
Wed Jul 24 13:06:07 EDT 2013

Thanks for the tips :)

2013/7/24 John Ribe <john at johnribe.com>

> Amirouche,
> I will give you a few of my opinions.
> I learned scheme in 1986 using the TI PC Scheme interpreter.  I read R3RS
> which seemed like a really well written and clear document, but I could not
> quite figure out how to actually use it.  And then by chance I stumbled
> upon the book "Structure and Interpretation of Computer Programs" -- that
> was the missing piece that let me put it all together.  It is an old book
> now but I still highly recommend it.  It was written as an introductory
> programming textbook and I was surprised how useful I found it because I
> regarded myself as a pretty experienced programmer at that time (and I had
> taken college level computer science courses).  A bonus is that the text is
> now available free on the web and there is a set of video lectures also
> available free presented by one of the books authors.  I think the R5RS is
> still a pretty readable document, don't go near the later RXRS specs until
> you feel you have a real mastery of scheme.
> The book: http://mitpress.mit.edu/sicp/
> The video lectures:
> http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/
> Maybe I am a stupid dinosaur, but I have always thought that object
> oriented languages seem to obfuscate programs by introducing an absurd
> amount of what I call "ceremony" (as in:  "Hello Mr Compiler.  Allow me to
> introduce you to my friend Variable X who will be used for such and such
> values and will be stored as a member of Object Z over here...).  So I
> agree completely with you "I came to Scheme and Gambit for its
> simplicity/minimalism, expressiveness, wisdom and also speed. "
> The reason I learned scheme in the first place was because I wanted to
> write a DSL that could be run in an interpretive environment.  It was a
> good choice for me but I will relate this to you:  over the course of
> several iterations my DSL became less and less of a DSL.  I eventually
> decided the effort of doing a DSL was a waste and instead decided that the
> people I wanted to share the program with would just have to learn to live
> with parenthesis.  The final documentation I wrote presents it to users as
> a DSL that uses a lisp like syntax, but in fact it is nothing more that a
> collection of top level variable definitions, procedures, and macros
> written in Scheme -- consider it.
> John Ribe
> John Ribe Consulting LLC
> email: john at johnribe.com
> office: 630 517 5040
> cell: 214 532 9862
> skype: john.ribe
> linkedin profile: http://www.linkedin.com/in/johnribe
>  *Amirouche Boubekki <amirouche.boubekki at gmail.com>*
> Sent by: gambit-list-bounces at iro.umontreal.ca
> 07/23/2013 06:37 PM
>   To
> gambit-list at iro.umontreal.ca
> cc
>   Subject
> [gambit-list] New user (& Questions)
> Héllo,
> A new user here, my name is Amirouche, I go by this name from the
> beginning of my life which is probably a short period of time but certainly
> not too much.
> I define myself has being primarly a Python dev. I do web (or related and
> sometimes silly) things but that's not what pays the bills.
> I came to Scheme and Gambit for its simplicity/minimalism, expressiveness,
> wisdom and also speed.
> Actually what triggered the need to try a LISP is a problem I encountered.
> I needed (or wanted) to keep the number of Python objects to a minimum
> while still maintaining maintainability and readability. But the thing is
> I'm jailed in the Python class system. I find myself fighting it to have
> the user API I want while still providing a clear inner architecture. For
> that matter, I use, so-called, advanced patterns like metaclasses and data
> descriptors which basically reduce maintainability because Python user
> seldom use them. Being less maintainable also means it's less pratical.
> What I believe is that LISP-like languages are easier to build DSL while
> still keeping the concepts and code pratical. I'm not sure how much this is
> True. That said, I also believe, the reason why LISP-like languages were
> forgotten from the industry is because every project is a new language, I
> don't know how much True this is either. I also assume that LISP coming
> from academia, is though to not be pragmatic. Python being in-between has a
> privileged position.
> Scheme having a small core, makes it I think more practical than LISP,
> somewhat easy to learn like Python. While still, making it possible to
> express problems and solutions in a clear, concise and efficient way. That
> said Scheme and Gambit in particular lakes documentation, except if SFRI
> are the documentation...
> Those are all assumptions that I want to check.
> Anyway,
> I tried to build Black Hole but it failed, I filled *an issue*<https://github.com/pereckerdal/blackhole/issues/50>
> .
> Is there any procedure reference page I can read ? or is it the R5RS ?
> See you around,
> Amirouche_______________________________________________
> Gambit-list mailing list
> Gambit-list at iro.umontreal.ca
> https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://webmail.iro.umontreal.ca/pipermail/gambit-list/attachments/20130724/1c1678b6/attachment.html 

More information about the Gambit-list mailing list