> I feel the need to say it every time I see new lisp-like language. Normal people don't like lisp, it looks weird.
So? Normal people aren’t computing enthusiasts, so...
> Are lisp-like language designers aware of that?
No, lisp-like language designers have never hears the parenphobes that jump into every discussion of lisp-like languages to make their feelings known.
Also, no one involved in Python, YAML, etc., has ever heard anyone complain about indent-sensitive syntax.
> You are throwing away sizeable portion of the possible user base.
Parenphobes are throwing away a sizable portion of their potential toolkit. If they are okay with that, I am sure lisp-like language designers (especially the ones doing it as a labor of love and not getting paid for it) can live with losing the neediest, most entitled segment of their “potential user base”.
> So? Normal people aren’t computing enthusiasts, so...
even many (most?) computing enthusiasts aren’t into lisp. I am. Since this language is lisp-y but not deeply lisp, you’re now finding that not only are anti-lispers put off, but also lispers.
absolutely not! people should do whatever they want but if you’re going to make atonal music in a non-traditional scale, you shouldn’t be surprised if you have a limited audience.
vaguely kinda related.
I want to like lisp for its features but the syntax is too much for me to pick up without serious time investment, which I am not sure I want to make.
are there any other languages that support for example lisp-like interactive REPL, eg analyzing program state while it is running?
Lisp syntax is a lack of syntax, it takes five minutes to learn. Everything being an expression, expressions being replaceable by their evaluation, quote/unquote/quasiquote, macros is what'll take time to adapt to.
Conveniently analysing program state while it's running is more a feature of languages that run in an image than something lisplikes have in common, like Common Lisp, Factor and Pharo, but not Racket or Guile.
> I want to like lisp for its features but the syntax is too much for me to pick up without serious time investment
There's atoms, and lists, and at the highest level of a program, the head of the list is the thing to be invoked (function, macro, special form) and the tail is a list of args. At lower levels, the higher level context says what a list means, but either a list itself or the same head/tail interpretation are the main things.
And there are some quoting constructs that control if things are bare atoms or references to the values of names, etc., and that's about it. Lisp has very little syntax. I mean, unless your main language is raw assembler or some esoteric toy like brainfuck, lisp almost certainly has much less syntax.
> are there any other languages that support for example lisp-like interactive REPL, eg analyzing program state while it is running?
> the syntax is too much for me to pick up without serious time investment
Umm, do you know any language with simpler syntax than Lisp has?
For me, the main problem with Lisp is that there's so many Lisps. I think I philosophically prefer Scheme over Common Lisp, but then again there are so many Schemes to choose from!
Funnily, I'm the exact opposite. I love the simple and consistent syntax of Lisp, but I don't want to use a dynamically typed language if I can avoid it.
That's why I fell in love with SBCL, it'll warn me about things like "hey, you told me this variable is an integer, but you're calling length on it, that doesn't make sense."
i do not get why they keep writing heavy metal music. "Normal people" (sic) do not like it.
Are metal bands aware of that? They are throwing away a sizeable portion of fans and record sales.
--
I'm not sure you're acting in good faith when you say normal people hate Lisp, thus it's only weirdos that use it. There is no constructive discussion to be had here.
They may or may not. I prefer lisp, but I mostly program in TypeScript and Go. My theory is that if most programmers tried lisp for a month or two, they’d end up preferring it.
I learned lisp (well, mostly scheme) just enough to be dangerous - and to have a lot of fun.
I don't end to find myself -writing- lisp very often but in a lot of cases I end up -thinking- in lisp and then translating across to whatever language I'm implementing in before I start typing.
My claim was that normal people preferred not to write any programs at all in any language. As to programmers, obviously there are smarter ones and less smart ones and to each his own.
Well, projects like Wisp* or Readable** exist, but the people who use Lisp tend to prefer S-expressions, so those projects don't gain a lot of mindshare.
It's kinda like M-expressions, a "normal" syntax gets proposed, but Lisp hackers prefer S-expressions, so the new syntax just kind of founders.
Normal people prefer syntax-less, unambiguous lisp-languages over the mess we have now. Just look at Javascript, rust or C++ and tell me normal people prefer that.
Only worse languages win, because people are masochochists, but throwing away this possible user base is always a win.
Math notation is familiar, yes. Are you also saying math notation is good? Is it an example to emulate?
I always thought math notation was atrocious to the point of discouraging me from the subject. Who knows, had mathematics used saner (simpler, consistent, perhaps slightly more verbose) notation, I might've been better at it.
Math notation is terrible! I write like 4 or 6 midterms for Algebra and Calculus for the first year in the university. We are using LaTeX (for most of them), but we need to write LaTeX assuming the copy machine is not very well maintained.
For example, we can't write $e^{-\frac{x}{2}}$ because the minus and the bar of the fraction may not be clearly separated. Also x and 2 will be too small. A solution is to use \dfrac to make them bigger, but the 2D structure of the formula will make the e and 2 be too close and confusing. After some year of trying, one of my coworkers insisted in using $e^{-x/2}$ that is ugly but copy-machine-poof.
We also need huge integrals for $\int_0^7\dfrac{1}{1+x^2}\ dx$. The standard one is too small. I tried to write a macro for that, but the 0 and the 7 must be in weird positions. Also, there are too many cases, because the limits may be missing. Finally, we are using https://ctan.org/tex-archive/macros/latex/contrib/bigints with some tiny macro to rename it to \lint because I don't like the names the author used.
The math notation is very good to write in dead tree paper with a pencil in 2D, but in 1D with a keyboard or automatic processing is horrible.
No. There are several numeric types: ℕ, ℤ, ℚ, ℝ, ℂ, … However, mathematicians nearly always implicitly convert between them because having explicit conversions all over the place would be extremely annoying and useless.