6 ms·
Interesting point. This might also explain why Lisp never really went mainstream.
by ludwigvan 7y ago
Interesting point. This might also explain why Lisp never really went mainstream.
- bhaak 7y agoCounterpoint: Java. Java was designed during a time when operator overloading was considered abysmal language design. But that was mostly due to the experiences collected with C++ (or maybe also Perl?).
- saagarjha 7y agoI have dreams of throttling the person who decided that operator overloading was overrated every time I work with BigInteger.
- deniscepko2 7y agoDo you have examples of real world code you had to write with BigInteger? just for amusements sake
- saagarjha 7y agoI can't seem to find the file for it, but I solved #2 on this with Java and wanted to die by the end of it: http://socalcontest.org/history/2017/SC2017ICPCProblems.pdf http://socalcontest.org/history/2017/SC2017ICPCProblems.pdf
- dtech 7y agoIt's one of the things I really like about scala, x call y is always equivalent to x.call(y) This combined with relaxed method name restrictions allow you to do "operator overloading" in quite a sane way and allow you to write bigint + 1 or set contains element. Kotlin is a bit more conservative and only translated the built-in operators to fixed methods: + to the plus method etc.
- gowld 7y agoWrite your program on ints and then transform it with sed before compiling.
- saagarjha 7y agoThat sounds significantly more difficult.
- Avshalom 7y agoThe worst part is there is a talk by Steele called Growing a Language about designing Java where specifically talks about the importance of overloading so that things like future number representations like BigInteger can be first class
- b2gills 7y agoPerl 5.000 came out in 1994, the same year as Java. Perl didn't even have objects before that. So no it wasn't from experience with Perl.
- toolslive 7y agoIt might also be that your brain is just more used (years of extra experience) to infix notation. So why not take advantage of this ? In the monad world, people also prefer (>>=) to bind. OTOH, how long does your brain need to get used to other notations? As an aside, his arguments are completely debunked if you use RPN. > Commutative: a b + == b a + > Associative: a b c + + == a b + c + > ...
- steerablesafe 7y agoWhy do you use infix for ==?
- toolslive 7y agootherwise the challenged would not understand my point ;)
- leethargo 7y agoI thought I might get some anecdotal evidence for this by teaching our daughter Scheme (and prefix notation) before she enters elementary school :-)
- lioeters 7y agoThat sounds great. The syntactic simplicity of prefix notation and Scheme seem particularly suited for early education. I imagine it will help form a intuitive mental model of computation and mathematics, before being taught the classic infix notation. I guess you'll see!
- VMG 7y ago> It might also be that your brain is just more used (years of extra experience) to infix notation. Maybe infix notations is preferred because it aligns more closely to natural language grammar (for some languages)
- steerablesafe 7y ago