It's very simple, elegant, and powerful -- like no other language I know (and I've learned well over a dozen, of a variety of paradigms).
It's easy to write, easy to read, and easily does everything I need. I prize clarity over almost anything else when programming, and Scheme lets me do that way more effectively than anything else. There's very little syntax or boilerplate to get in the way.
It's also very consistent, and I like that.
The worst languages feel cobbled together or congealed rather than designed. Scheme is the opposite of that.
python is more or less a scheme with syntax training wheels that make it a bit more beginner friendly.
Not being facetious either. it has the same semantics and a lot of python's early adopters were former lispers.
That said, scheme the language is much more powerful than python. in exchange for the easy syntax, python lost macros and took on a crippled lambda syntax.
Scheme is a lot smaller, simpler, and more elegant than Python.
Though I like that Python takes some inspiration from Lisp, it has a lot of unnecessary complexity and inconsistency which leads to a lot of gotchas.
Python's additional syntax make it less readable and harder to write for me than Scheme. It's only more "beginner friendly" if you're used to Algol-like languages, otherwise Scheme is simpler to understand.
I guess it's mostly these guidelines: "Eschew flamebait. Avoid unrelated controversies and generic tangents. [...] Please don't pick the most provocative thing in an article or post to complain about in the thread. Find something interesting to respond to instead. [...] Please don't comment about the voting on comments. It never does any good, and it makes boring reading."
Why do people have favorite languages? Programming languages are more like tools than say, video games or novels. If someone said they love screwdrivers/impact drivers and hate hammers/nail guns, well... okay. You can build everthing with screws instead of nails, but this can create problems and probably isn't the optimal solution.
I'm not wedded to my favorite language. Right tool for the job and all that..
Still, when given the choice I prefer to work in a language that's easy and clear, rather than one that's painful and convoluted.
Sure, I might be able to do the same in another language, but I'm reminded of Alan Perlis' advice to "Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy."
Same reason I guess some tools are better to work with than others. I definitely like my iFixit screwdrivers set more than a generic set I've bought years before: there are more different bits actually used in things I need to disassemble and assemble, the things are sturdier, they feel nicer to hold in my hand, there is this nice magnetic pad so my screws are not lost. Now if I have no choice but this shitty screwdriver, I'll use it, sure, as long as it doesn't break (this has happened), but when I have a choice, I go for better tools.
What's so incomprehensible about this?
Of course if you do a half-assed job all the time, you may afford to not care about your tools. I want to excel at mine, so I definitely have preferences.
I am not sure the comparison to regular tools is very accurate.
For many people, programming language and compiler/interpreter design is one of the major parts of computer science that they are interested in. Language development is an entire subfield of computer science on it's own!
Languages are a lot more deeply complex than what they may appear on the surface, and choosing a specific one for a specific task is also a little more complicated than choosing a nail vs a screw, with the tradeoffs not always being so clear cut and there being many more factors and "dimensions" at play. Style is also a big part of it, with some people just preferring certain styles and opinions more than others.
>The tools we use have a profound and devious influence on our thinking habits, and therefore on our thinking abilities.
Obviously you should use the right tool for the job, however in the realm of programming languages someone might find a language's model of code structure better than other languages and more in tune with his/her way of thinking.
I really enjoyed Lisp and Scheme while in college, but I never got to use them professionally.
I think we would be better off having core business rules in one of these languages instead of having to rewrite them every decade or so in the current fashionable language.