Guido van Rossum put it this way:

"Again, the templating language seems a weird mixture of HTML and Ruby, and I find Ruby's syntax grating (too many sigils)."

https://www.artima.com/forums/flat.jsp?forum=106&thread=1461...

>Then I decided to have a look at Ruby on Rails, just to see what I could learn from the competition. I watched two fascinating movies, but they went a bit too fast to really understand what was going on, and there seemed to be a fair amount of sleight of hand in the examples (a lot of default behavior that just happens to do the right thing for the chosen demo). Again, the templating language seems a weird mixture of HTML and Ruby, and I find Ruby's syntax grating (too many sigils). I believe I heard Greg Stein say recently that if you are really good in Ruby, CSS, HTML and SQL, you can produce great websites quickly with Rails -- but if you don't, you produce lousy websites quickly (just like with PHP).

I quoted Guido's point about Ruby syntax 15 years ago in this lua-l discussion about Lua, Python, Lisp, and Ruby syntax, and the importance of not naming programming languages after naughty bits:

https://lua-l.lua.narkive.com/Ly6vITFE/justify-introducing-l...

>Stephen Kellett 15 years ago

>[...] A little story to explain why in house languages are bad:

>Years ago I worked for a company that had an in-house language (90-94) called Lull. [...]

>(*) Come be real, who uses Lisp for commercial projects? Great language, but too many parens and no one uses it. Its the equivalent of Esperanto. So much promise, so little delivery. [...]

>Don Hopkins 15 years ago

>I read your message about "Lull" and a Dutch guy sitting behind me
laughed out loud when I said the name of your language. (My dictionary
says "lul" means "prick" or "cock" in slang, so it's a bit more explicit
than "dick"!) This just goes to prove that how you name a language is
important (but not as important as designing the language so it doesn't
suck...)!

>On the "too many parens" excuse for disliking Lisp: so why do you use
XML and HTML? They have TWICE the number of parens, which are pointy
instead of rounded, but lots of people seem to use them anyway. So "too
many parens" is just a convenient and shallow excuse for disliking Lisp
that avoids examining the real issue.

>The real problem that many people have with Lisp is because it's
perceived as a homosexual programming language, which causes unconscious
cognitive dissonance, so people have to grasp for more socially
acceptable reasons for disliking the language (like "too many parens").
Nobody wants to just say "I hate Lisp because it sounds gay", so instead
they say "too many parens", even though most other languages suffer from
too few parens, and are much less readable than Lisp because of their
insane hierarchies of precedence rules. Programming tips 101: ALWAYS use
parens even if you're sure the precedence rules will make your
expression do what you want, because 1) other people need to be able to
read the code and 2) you may be wrong. Drop any copy of K&R on the table
so it lands on the spine and opens to a commonly used page, and I bet it
opens on the table of precedence rules, because that's the page everyone
always turns to. Lisp code never suffers from this problem.

>The first thing most typical homophobic Americans think of when they
hear the word Lisp is the gay stereotype of speaking with a lisp, so it
unconsciously terrifies them. And the fact that "lambda" signifies unity
under oppression, and is used as the gay/lesbian/bisexual/transgendered
symbol only reinforces that impression:
http://en.wikipedia.org/wiki/LGBT_symbol#Lambda ...And then there's the
purple cover of Structure and Interpretation of Computer Programs, with
the two gay dudes on the cover.

>Anyway, millions of people program in Lisp every day with C syntax, but
they just call it JavaScript, and suffer without macros, because of the
inferior C syntax.

>-Don

>Fabien 15 years ago

>@Don: your theory is fine for US people, but lack of love for Lisp is also
observed in non-English speaking places. I learned quite recently that the
word "lisp" also had another meaning than "nail clippings in oatmeal".

>My guess would rather be that Lisp doesn't encourage common idioms and
development approaches across people and teams, which makes it hard to:

>- get into code you didn't develop

>- work with more than a couple of teammates

>- find a library that addresses your problem

>- if you have several problems and find a lib to address each of them, get
those libs to work together despite their incompatible macro hacks.

>That, and Lisp took waaaay too long to acknowledge its platforms. It
pretended to be OS independent, which meant many non-standard,
non-compatible ways to interface with OSes, and therefore, plenty of
platform issues as soon as you wanted to port or deploy a non-trivial
solution. As written somewhere by Paul Graham, "Unix has won, get used to
it".

>Don Hopkins 15 years ago

>Now that's some spot-on criticism of Lisp, much better than the "too
many parenthesis" excuse that gets thrown around by linguistic
homophobes suffering from cognitive dissonance.

>I'm still waiting to hear somebody claim that they refuse to use XML and
HTML because they have too many parenthesis (angled brackets).
Or for somebody who hates Lisp's parenthesis but tolerates XML and HTML
to explain why <foo>bar</foo> is easier to read than (foo bar).

>Perl and C++ have way too much punctuation in general, and Ruby made a
cargo cult design mistake in imitating Perl syntax.
I agree with Guido van Rossum's comment on Ruby: "I find Ruby's syntax
grating (too many sigils)".
http://www.artima.com/forums/flat.jsp?forum=106&thread=14614...

>Wow, in what language does lisp mean nail clippings in oatmeal, and
where can I get some of that stuff? It sounds delicious!

>"Using these toolkits is like trying to make a bookshelf out of mashed
potatoes." -- Jamie Zawinski, on X-Windows toolkits.

>-Don

[...]

>Fabian: http://en.wikiquote.org/wiki/Larry_Wall look for "Lisp has all the visual appeal of oatmeal with fingernail clippings mixed in")

[...]