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...
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@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@gmail.com Sent by: gambit-list-bounces@iro.umontreal.ca 07/23/2013 06:37 PM
To gambit-list@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.
Is there any procedure reference page I can read ? or is it the R5RS ?
See you around,
Amirouche_______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list