Why did python took over scheme/lisp in popularity ?

I was using assembly programmers ironically. But you'd be surprised to know how many folks don't really know how to build such things (to a certain extent this is true for most of us when it comes to more advanced things like databases!). This is why in my last job I had my team members implement a simple/toy version of such things to get some intuition for how their s/w was supposed to work before going hunting for similar open source projects on github; and to impress upon them that open source (possibly) saves them time and gives them a head start but in the end they would still be responsible for maintaining their piece of code!
 
Unfortunately, to write Scheme scheme code that works correctly, you have to understand RPN (Reverse Polish Notation), and apply the logic when typing in the text. C is much easier to follow along than Scheme,
When was the last time you looked up the seven circles of hell, aka the operator precedent table for C/C++?
 
aka the operator precedent table for C/C++?
Smartass mode 😏: C and C++ don't have this concept. They just define a grammar, and "precedence" results from it. This can be a case-by-case thing, so all tables are slightly wrong. (E.g. the ternary operator is an interesting beast)

edit: doesn't have to be hell though, just write your expressions in a readable way, like, spend some parentheses for clarity. Problem solved.
 
I like how PHP screwed up when it comes to operator precendece. "||" has a different precedence than "or"
PHP:
// The result of the expression (false || true) is assigned to $e
// Acts like: ($e = (false || true))
$e = false || true;

// The constant false is assigned to $f and then true is ignored
// Acts like: (($f = false) or true)
$f = false or true;
 
Is there something PHP didn't screw up? Btw, what's the difference between them? I don't expect one of them would be "bitwise"? 🤔
 
I think, the question is, why did python get so popular.

LISP / Scheme has a readability problem. Too much parenthesis, too much "quote" necessary, programs
are like big sentences. But there were perl and tcl, perhaps other scripting languages. And pythons syntax,
in which blanks have sematic, is also not without problems.
 
edit: doesn't have to be hell though, just write your expressions in a readable way, like, spend some parentheses for clarity. Problem solved.
You mean like Lots of Irritating Silly Parenthesis? No wait, that acrynom is taken...
 
Allow me to give an example.
Next program is "object oriented scheme".
It will print 3.3 on the screen.
Code:
(define (myclass)
  (define t 0.0)
  (define(fn m)
    (define (addm x)(set! t (+ t x)))
    (define (getm) t)
    (if (equal? m "add") addm getm))
  fn)
(define Instance (myclass))
((Instance "add") 1.1)
((Instance "add") 2.2)
((Instance "get"))

In the end i found myself trying to avoid mutable state because it was alot of typing.
And then you pass just function pointers around wherever you can.
 
Ok, but the compiler of the different language had to be compiled too. If you go backwards in time to the very first compiler ever, how did they compile that?
 
Back
Top