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.
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.
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.
Just my 2c
Let keep the good intent and intellectual curiosity please.
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."
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.
But I couldn't tell you my favorite language, it doesn't really make sense to me.
>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.
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.
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.