For all of those, Lisp is the more logical choice. Plus, whitespace as syntax is the worst possible design decision.
Ok, but what if an entire programming language is made of whitespace?
https://en.wikipedia.org/wiki/Whitespace_(programming_language)
Lisp is the more logical choice.
Relevant XKCD. Python has replaced Perl, but things have otherwise changed quite little.
Perl is the only language that looks just as incomprehensible before and after a rot13 transformation.
Python on the other hand is the only language that will cause your application to stop working because you mixed up tabs and spaces, even though it looks perfectly fine on your scr.
And lisp is hard to say if you have one.
Edit: aa -> after a
I’m kinda jealous. I don’t miss maintaining production Perl code, but Perl was more fun to code in.
…is it truly that bad? npm is the reason I don’t even install software based on node on my machines… python doesn’t seem nearly as bad by comparison? (I run it, just don’t like to write it) Maybe it’s worse than I realize
You say that, then use a language that allows you to do this (it’s not lisp)
if (foo);
{
bar();
}
You can make embarrassing mistakes in virtually any programming language that’s not too esoteric.
When I still used Python for prototyping (today, I usually use Go for that), it happened much too often that I did this:
if foo:
bar()
foobar() # syntax error
In Lisp, however, both errors are much harder to make (not even considering GNU Emacs’s superb auto-indentation - which is what most Lispers use these days, as far as I know):
(when foo) ;; <- obvious!
(bar))
(when foo
(bar)
(foobar) ;; <- still valid
(quux)) ;; <- also still valid