Beginning programming with Python

Janos Blazi jblazi at netsurf.de
Tue Nov 16 15:09:47 CET 1999


Dear Nicholas,

what you say ist speculative. Your theses are not scientific predictions
about nature. It would be very, very difficult to design an experiment that
proves your theses wrong. Therefore from a scientific point of view, they
are neither right nor wrong. Though they contain predictions about nature,
these predictions should be much more carefully and precisely put to be
really scientific.

You are not saying that big project cannot be done with Python. You are
saying that Python is less well suited for big projects than C. But it is
not easy to atribbute a quantitative meaning to "less well". How do you want
to scale that? You could take the number of man months necessary or you
could try to quantify the quality of you product. Unless you provide us with
these details I can neither confirm nor contradict. I can only check if
there are inner contradictions in what you say. There are none, but that is
not enough. Physics as seen by Aristotle was a wonderful piece of
speculative thinking, without inner contradictions, bu today we know that we
should not overestimate its practical meaning and we better take the
Newtonian point of view.

Your second question concerns teaching.

(1)
I have not tried Python as a language for teaching yet so I have not had any
experience. I should like to use Python first and give a judgement after
using it.

(2)
I agree with you: If Python were good for nothing else, it would not be good
for teaching either. But in ther first part of your message you only say
that Python is not well suited for large projects (though, as i have tried
to show you, it is not clear, what that statement means). Now you say that
it cannot be used at all. But I have had the experience that Python is nice
for small projects, say below 3000 lines of code. So i am aifraid your
argumentation is vulnerable at this point.

Janos Blazi

Nemeth Miklos <nemeth at iqsoft.hu> schrieb in im Newsbeitrag:
38312D55.A36EB56D at iqsoft.hu...
> Janos Blazi wrote:
>
> > I have tried to use Perl in my teaching. It has a very powerful but
alas!
> > not very simple syntax! To start with, my pupils used to forget the
dollar
> > signs and Perl does not like that. So this year I shall use Python. We
shall
> > see. Time will tell, if Python is really better. Maybe my pupils will
forget
> > the indenting this time? There is actually nothing else you can forget
in
> > Python.
>
> I am quite new in Python programming, and I was a bit :-( by understanding
that
> Python does not have any (even optional) mechanism to enforce the usage of
> predeclared variables and functions. The complete lack of compile-time
> type-safety of Pythom may be a problem in large projects, which may be the
most
> serious technical (ie non-marketing) obstacle to Python's becoming a
widespread
> language like Java.
> Let us see an example:
> # Module t.py
> def f():
>   print "started"
>   x = 128
>   x.foo()
>
> Let us import it in the Python interpreter:
> >>> import t
> >>>
> You can see thet the interpreter compiled t.py to t.pyc (or t.pyo) but
found no
> error.
> All typos (typing errors of variable and function names) will be detected
ONLY
> at runtime! Python is perfect language to write programs fast, but with
the
> cost of hordes of testers. However this may not be a big problem, because
any
> piece of software should be thoroughly tested, to make sure that there are
no
> semantic errors in the application. In the case of Python the applications
> should also be tested for "syntactic" errors.
> In Python (just like in Smalltalk or in Perl, or in Tcl) there are a lot
of
> things a programmer may forget.
> I am on my way of becomming a Python programmer, but this should not
prevent me
> from seeing the pitfalls of the language.
> A tutor must emphasize these gotchas of any programming language.
> Perl has a facility called 'use strict': it is also very poor compared to
C++
> and Java strict static (ie compile time) system.
> The only really large project implemented in Python I found is Zope. Zope
is a
> fantastic piece of software, and may be regarded as an evidence of my
being
> totally wrong ;-).
>
> > I feel that it is the right language for teaching.
>
> Anyway, Python is a great language for teaching, but why to learn a
language,
> which is good only for teachning?! This is the real question you (or the
Python
> community) should answer!
>
> Miklos Nemeth
> IQSOFT
>
>
>
>






More information about the Python-list mailing list