Feedback wanted on programming introduction (Python in Windows)
thomas.mertes at gmx.at
Wed Oct 28 12:05:37 CET 2009
On 28 Okt., 09:58, "Alf P. Steinbach" <al... at start.no> wrote:
> * tm:
> > On 28 Okt., 07:52, "Alf P. Steinbach" <al... at start.no> wrote:
> >> [Cross-posted comp.programming and comp.lang.python]
> > Looking at your topic '(Python in Windows)', without taking a
> > glimpse at your actual introduction, I have the following to say:
> > I think it is not a good idea to teach programming with a focus
> > on a specific operating system. Programming should IMHO be taught
> > without reference to an operating system. Otherwise you just teach
> > how to write unportable programs.
> I think you're trolling a little. :-)
No, I just saw too much stuff which pretends to teach something, but
instead promotes an operating system. Contrary to many people I do
not believe that something is automatically better when it runs
under windows and when 'win' is part of the name.
> Without reference to an OS you can't address any of the issues that a beginner
> has to grapple with, including most importantly tool usage, without which it's
> not even possible to get started, but also, very importantly, a file system.
IMHO a beginner needs to use an editor and an interpreter or
compiler. How to copy and remove files and directories is helpful
> Learning programming without tools and without using files (or only using the
> common denominator for file systems in OSes X, Y and Z) is sort of vacuous...
I did not consider to teach programming without tools and without
using files. The common denominator for file systems is IMHO enough
to teach programming to beginners. Do you consider access control
lists, mount points and symbolic links essential for the programs
taught after 'hello world'?
> In addition there's the motivational factor.
> Doing only academic examples, utilizing only a language's more or less portable
> functionality, is very de-motivational, while the opposite is motivational.
You obviously think that unportable programming is needed to
motivate people. This is IMHO far from true. There are many portable
programs which are motivational. I cannot provide portable Python
examples but examples of portable Seed7 programs can be found here:
> >> Hi.
> >> I may finally have found the perfect language for a practically oriented
> >> introductory book on programming, namely Python.
> > What is considered 'perfect' depends on the point of view. Languages
> > have assets and drawbacks and I don't even use the term 'perfect'
> > for my own language. :-) There is always room to improve. Some of
> > the features I consider important are discussed here:
> > http://seed7.sourceforge.net/faq.htm
> >> C++ was way too complex for the novice, JScript and C# suffered from too
> >> fast-changing specifications and runtime environment, Java, well, nothing
> >> particularly wrong but it's sort of too large and unwieldy and inefficient.
> > While many people consider Java inefficient they do so in comparison
> > to C/C++. I doubt that Java is inefficient compared to most
> > interpreted languages.
> >> I don't know whether this will ever become an actual book. I hope so!
> >> But since I don't know much Python -- I'm *learning* Python as I write
> > Normally I prefer books written by people who already know the
> > stuff they are writing about. I would consider that it is not a good
> > selling argument when a book was written to *learn* a language. :-)
> Yes, it would be silly to write a book or whatever about Python. This text is
> primarily about programming, at the novice level, not about the Python language.
> The programming language is only a vehicle.
> However, as a vehicle the language needs to be suited for transport of the
> novice. :-)
> And it seems that Python is very well suited for that.
I can think of several reasons why some people would not see it this
> > Seed7 Homepage: http://seed7.sourceforge.net
> I'm not familiar with Seed, sorry.
Maybe you take the opportunity and look at it now. :-)
Greetings Thomas Mertes
Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
More information about the Python-list