<story><title>Chicken Scheme</title><url>https://call-cc.org/</url></story><parent_chain><item><author>oneplane</author><text>I have never really been exposed to the likes of Scheme, Lisp, Smalltalk etc. and I&amp;#x27;m curious if anyone without an academic background actually got in to any of that by themselves.&lt;p&gt;Generally, it&amp;#x27;s just a bunch of JS, C#, Java, Python, and some Scala that runs everywhere I look, which often also has a large &amp;quot;I came across it and I got to work&amp;quot; type of developer or engineer using it. Maybe it&amp;#x27;s just the type of ecosystem I keep hopping around it but it seems that it&amp;#x27;s much less prominent than you&amp;#x27;d expect.&lt;p&gt;There are always novel compilers, transpilers and showcases, but the amount of widespread use eludes me. (Only ErLang comes to mind with RabbitMQ, and maybe OCaml with Xen)</text></item></parent_chain><comment><author>jim-jim-jim</author><text>I got into it myself. Scheme is how I self-learned programming. Through a copy of SICP found in a local university&amp;#x27;s book store specifically. I found the minimal syntax very conducive to learning. I was working in a call center at the time, but even while on calls it was possible to do the exercises in a different part of my head, since there was no real language to worry about. I don&amp;#x27;t think I would have had the same success with K&amp;amp;R, or God forbid: one of those 1,000 page OOP tomes.&lt;p&gt;Chicken Scheme was the specific implementation I started with too. I always found it fast&amp;#x2F;solid and saw no reason to switch. The abstractness of Lisp and the direct access to memory&amp;#x2F;C FFI were a nice mix. It suited my interest in music, where composition and DSP fell into those two respective domains.&lt;p&gt;I don&amp;#x27;t have an appetite for dynamic languages these days, but I might still reach for Chicken if I had to put together a dozen line script or something.</text></comment>
<story><title>Chicken Scheme</title><url>https://call-cc.org/</url></story><parent_chain><item><author>oneplane</author><text>I have never really been exposed to the likes of Scheme, Lisp, Smalltalk etc. and I&amp;#x27;m curious if anyone without an academic background actually got in to any of that by themselves.&lt;p&gt;Generally, it&amp;#x27;s just a bunch of JS, C#, Java, Python, and some Scala that runs everywhere I look, which often also has a large &amp;quot;I came across it and I got to work&amp;quot; type of developer or engineer using it. Maybe it&amp;#x27;s just the type of ecosystem I keep hopping around it but it seems that it&amp;#x27;s much less prominent than you&amp;#x27;d expect.&lt;p&gt;There are always novel compilers, transpilers and showcases, but the amount of widespread use eludes me. (Only ErLang comes to mind with RabbitMQ, and maybe OCaml with Xen)</text></item></parent_chain><comment><author>whartung</author><text>I got in to it myself. And, early on, it was a real struggle. Like many, books like SICP, Little Schemer, On Lisp, were all powerful testaments to the family of languages. But those all came later.&lt;p&gt;I poked around Lisp, very casually, for many years. But early on I really struggled with `lambda`.&lt;p&gt;It was a meaningless word to me. The classic complaints with CAR and CDR et al didn&amp;#x27;t help. More meaningless words.&lt;p&gt;Finally, I managed to stumble across the book &amp;quot;Simply Scheme&amp;quot;. And the first thing it did was rename everything. It didn&amp;#x27;t take long to realize that `lambda` was a function. And then, the light clicked on.&lt;p&gt;&amp;quot;Oh.&amp;quot;&lt;p&gt;During my learning of computer concepts, etc. there were a few events of true &amp;quot;epiphany&amp;quot;, and learning what lambda really was, and how it worked, closures, that was one of them.&lt;p&gt;The secret for picking it up is to just use it.&lt;p&gt;Not for some huge project, not for bolting together a bunch of pre-built libraries. But for some actual processing. Something that needs little more than to read some file, do something to it, and write it back out. Baby steps.&lt;p&gt;And, certainly, don&amp;#x27;t get intimidated by the development environments. I use emacs for my work simply because it paren matches and auto-indents. All of the integration, I don&amp;#x27;t bother with. My projects aren&amp;#x27;t that big. A few thousand lines of code. I&amp;#x27;m spoiled by auto-indent (and re-indent), so that&amp;#x27;s my crutch.&lt;p&gt;The key point being it takes very little to get started.&lt;p&gt;Working the problems in Little Schemer is fun. Doing SICP exercises is fun. On Lisp is an inspiring, opinionated book, and fun to read because of it. So, you can start there.&lt;p&gt;Go &amp;quot;write Fortran in Lisp&amp;quot;, as they say. All of the stuff about macros and lambdas and functional or not etc. doesn&amp;#x27;t do you much good when you&amp;#x27;re searching and staring at an 8 page document on LOOP. Just write some simple stuff to get familiar with the things every piece of code has to do: input data, calculate on it, iterate on it, and print it out. Looking up the stuff that&amp;#x27;s muscle memory for your other languages kills momentum and motivation. So, work some simple stuff first. Write some crummy code first, then work on idiomatic code. Work on using new concepts later.</text></comment>