Teaching python (programming) to children
nhodgson at bigpond.net.au
Thu Nov 8 23:26:55 CET 2001
David Andreas Alderud:
> Where you tought Ada prior to this?
No, although I had read articles and the book by I.C. Pyle while at uni.
> Task are extremly simple and powerful, they work excelent in multitasking
> envirionment; tasks are like threading and any user, including the
> beginners, can use tasks if they can use packages, which they can if they
> ever printed anything to the screen.
The team were either used to OS mediated tasking (like me) or to bare
machines writing their own interrupt based code. We were familiar with low
level IPC based on semaphores and shared memory and higher level techniques
like queuing. Most of the IPC in the systems could be sensibly designed
using message queues. Ada's rendezvous is both higher level and more
expensive then the lower level techiques and less expressive than higher
level techniques. So you get to build a message queuing package on top of
rendezvous which is extra work and runs into the need for strict typing
which conflicts with most links between tasks needing to send many types of
To contrast, part way through the project we moved to a newer platform
for the UI subsystems (written in C) which provided threading as well as the
heavy-weight processes previously used for the UI. Threads were quickly and
easily assimilated, being used to improve responsiveness.
> I've found this to be very flexible, maybe you're school with C and that
> caused problems?
I went to a fairly conventional university that used Pascal as the
primary teaching language although C (and FORTRAN, COBOL, lisp and awk) were
given some time. Strictly statically typed languages have their place but I
see that being in libraries of low-level code managed by script code and not
for initial learning which should be about achieving outcomes.
> Strange since in every report I've seen on productivity Smalltalk wins and
> Ada in general is on a strong second place, C++ productivity is generally
> considered to be 1/6:th or lower of Smalltalk for example.
Defence contractors are forced to use Ada, companies that have a choice
generally don't. Ada is not a bad language but for any given project I would
be able to choose a language that IMO is superior to Ada. For low-level
projects, that would be C++.
More information about the Python-list