Python was designed (was Re: Multi-threading in Python vs Java)

rusi rustompmody at gmail.com
Tue Oct 15 23:53:39 EDT 2013


On Wednesday, October 16, 2013 1:56:27 AM UTC+5:30, zipher wrote:
> > Objects in programming languages (or 'values' if one is more functional programming oriented) correspond to things in the world.
> 
> 
> One of the things you're saying there is that "values correspond to
> things in the world".  But you will not get agreement in computer
> science on that anymore than saying "numbers correspond to things in
> the world"

Ok… I better take back the '…or values' because that's a completely separate (at least separable) argument and one which I dont want to go into with you.

The original argument: There can be a type-system that everyone can 'settle upon.'

The new (and avoidable) one: Objects and values are equivalent/conflatable as alternate models for building systems -- and therefore OOP and FP.

The APL on the other (third?) hand is at one remove the type argument.
One remove because you are now to see it not from the vanilla programmer's perspective but from the the pov of the language implementer. Once you agree to that you would (hopefully!!) see some things:

When implementing a scanner/lexer characters are the indicators of the types we are interested in. In C, a '/' may be a divide indicator but also a comment-starter.  Dozens of other such 'type-confusions' in most languages. APL bites the bullet, enriches the character set and therefore simplifies:
⍝ starts a comment
÷ is divide
/ is the reduce (higher order) operator

Likewise
= is equal
← is assignment
Whether in academics or in professional software engineering, if you had a clue of the man-hours and therefore money wasted in programmers/students writing '=' instead of '==' in C code, you would appreciate the sense in these decisions.

And you think that APL is behind rather than ahead of the competition?

Ah well… the mercilessness of the Dunning-Kruger effect…



More information about the Python-list mailing list