"Common Lisp is not a beautiful crystal of programming language design. It's a scruffy workshop with a big pegboard wall of tools, a thin layer of sawdust on the floor, a filing cabinet in the office with a couple of drawers that open perpendicular to the rest, [...]"
"This historical baggage is a price paid to ensure Common Lisp had a future."
In this video, I'll give you 5 reasons why I think you should learn Scheme this year! Regardless if you are a programming beginner or an expert hacker, there is a lot to be gained from learning this language.
In this post Michał Herda explained what Lisp programmers intuitively know.
The parentheses don't bother Lisp programmers as they read code by its indentation and rely on Lisp-aware tools such as editors and IDEs, which match parentheses and properly indent code.
I think something the scheme community could learn from Haskell is to lean-in on it's prestige. I see so many people post about how they were never able to figure out how to use scheme in any practical way, and most schemers I've spoke to said it took them about a year to get really compfortable. But I think the #scheme community has traditionally advertised it as "so easy, you can learn it in an afternoon!", and so people, often times already coming from some other #lisp like #clojure, expect to be able to just pick it up, and when they fail to they think the language is lacking. But nobody comes to #Haskell with such expectations, and the Haskell community never advertised it as super easy and quick to learn. In my experience, Haskell has always been sold as "takes time to learn, but is worth it".
To be fair, I think Haskell will continue to fill the niche it filled ~10 years ago, around the time it started to get mainstream hype. Small teams of skilled devs delivering robust products that would normally require much larger teams to maintain will continue to prevail. Purely functional lazy programming was never bound for world domination in an economy which is antagnostic to curiosity, creativity and truths.
On the other hand, I have the feeling that we're going to see more and more Haskellers-turned-Rustaceans come to realize that #Rust does little to alleviate the primary barrier to Haskell's wider success -- fast and predictable turnaround time for projects developing cutting-edge technologies -- and will wind up going the same route as some major Haskell projects such as #Unison and #Idris have in recent years, which is to try #Chez Scheme, only to discover that it allows them to release blazing fast functional programs on a generic foundation where major breaking changes are practically non-existent, providing incredible flexibility while significantly reducing dependencies by dint of the ad-hoc tooling that falls out of the bottom of #scheme. Not to mention the joys that come from near-instant startup times, some of the fastest compile time you've ever encountered, fully-customizable interactive development and a surgical #debugger that rivals Haskell in scheer fun. Yesterdays naysayers will become tomorrow's enthusiastic bootstrappers. Or a at least a boy can dream.
That said, in all seriousness I don't think Scheme will ever reach the heights of Haskell's moderate commercial success. But I do think that projects built on Scheme, like Unison, will get a leg up and eventually surpass it, and interest in #lisp will only grow.
If you've got questions about Emacs, Guix, Guile, or other related topics and want a friendly place to ask them, come check out the new System Crafters Forum!
I love how Dan Weinreb's reasons for why #Symbolics didn't succeed doesn't even consider their hostility towards free and open development of #LispMachine software as having something to do with it.
I'm writing these hashes of hashes of whatever in ruby and thinking.... golly i wish i was using lisp.
...
That being said, i !@#$! hate every hash/dictionary implementation i've ever encountered in a lisp or scheme.
100% writing macros to give me ruby/pythonish dictionary interactions.
If you know of a lisp that does this well PLEASE let me know.
In 1984, 40 years ago, Digital Press published the book "Common LISP: Reference Manual" by Guy L. Steele Jr. and others, more widely known as the first edition of "Common Lisp: The Language" or CLtL1. It was an early major milestone of a Lisp standardization process completed a decade later.
I'm looking for a Lisp resource I run across but can't find anymore.
It's a Common Lisp reference similar to the HyperSpec or possibly based on its text, but with a clean web design and modern HTML formatting. The name of the resource rhymes with "spec" or "hyperspec".
Whats a good server with cool hackers who are accepting of BDS activists? I just found out thats off topic here, with lots of ppl complaining. I 90% just post about #lisp & #scheme, but when political events involving movements im apart of crop up, I dont want to want to hold my tounge.
One more reason why it's hard to use alists as associative data structure: There is no built-in destructuring capabilities for it. It seems (ice-9 match) is no help here. Situation becomes even worse if we have a nested data structure.
Going to stack a bunch of let+assoc-ref's I guess.