Experiences/guidance on teaching Python as a first programming language

Roy Smith roy at panix.com
Thu Dec 19 19:38:51 EST 2013


In article <52b328f7$0$6512$c3e8da3$5496439d at news.astraweb.com>,
 Steven D'Aprano <steve+comp.lang.python at pearwood.info> wrote:

> Correct. The *great deal of trouble* part is important. Things which are 
> the responsibility of the language and compiler in (say) Java, D, Rust, 
> Go, etc. are the responsibility of the programmer with C.

Does anybody ever use D?  I looked at it a few years ago.  It seemed 
like a very good concept.  Sort of C++, with the worst of the crap torn 
out.  If nothing else, with the preprocessor torn out :-)

Did it ever go anywhere?

> Now, I wish to be absolutely clear. There are certain programming areas 
> where squeezing out every last iota of performance is important, and to 
> do so may require making some compromises on correctness or safety. I 
> find the C standard's position on undefined behaviour to be 
> irresponsible, but, hey, maybe it is justified on the basis that C is a 
> systems language intended for use in writing performance-critical 
> operating system kernels, device drivers and similar. It's fine for 
> Python to promise that nothing you do will ever cause a segfault, but for 
> a language used to write kernels and device drivers, you probably want 
> something more powerful and less constrained.

I disagree entirely (but respectfully).  If you want to get down to the 
hardware where you can fiddle bits, you want as little getting between 
you and the silicon as possible.  Every time you add a safety feature, 
you put another layer of *stuff* between you and the machine.

That's not to say it's the right language to be writing applications.



More information about the Python-list mailing list