On 1/1/2023 8:47 AM, Stefan Ram wrote:
Thomas Passin <li...@tompassin.net> writes:
Guido had been working on the ABC language for some years before he
developed Python.  ABC was intended mainly as a teaching and prototyping
language.

   In those days, there used to be a language called "Pascal".
   Pascal had a dichotomy between "functions" and "procedures".
   A call to a function was intended to have a value.
   A call to a procedure was intended to have an effect.

Wirth developed Pascal as a teaching language. IIRC, originally it was taught to students before there were any implementations. I did most of my programming with Turbo Pascal for many years. Just to clarify what you wrote above, in Pascal a "procedure" does not return anything while a "function" does.

I really liked (Turbo) Pascal and I hated C back then. No wonder I like Python so much. It must be something about how my mind works.

   For some beginners, the difference between a value and
   and effect can be hard to grasp. So, Pascal's distinction
   helps to hammer that home.

   Experienced programmers know the difference and do no longer
   require the effort of the language to teach it to them.

   The time when someone is a beginner and still struggles
   to understand the difference between values and effects
   usually is significantly shorter than the later time
   where he has understood it and is programming productively,
   so it might be better when the language is adapted to
   people who already have understood the difference.



--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to