Beginner's guide to Python

Chris Angelico rosuav at gmail.com
Thu Sep 5 00:14:34 EDT 2013


On Thu, Sep 5, 2013 at 2:03 PM, Andrew Berg <robotsondrugs at gmail.com> wrote:
> On 2013.09.04 22:39, Dennis Lee Bieber wrote:
>> On Wed, 04 Sep 2013 07:26:47 +0200, Steve Hayes <hayesstw at telkomsa.net>
>> declaimed the following:
>>
>>>Can anyone recommend a web site that gives a good beginner's guide to Python?
>>>
>>>One that tells one, especially --
>>>
>>>-- what kind of projects Python is good for
>>
>>       So far as I know, Python is "Turing-complete" -- it can be used for
>> anything...
> So is Brainfuck, but I wouldn't say it's good for *any* project...

There are always surprises. A few years ago (okay, a good few now) I
was gobsmacked to learn that JavaScript, which I'd always thought was
for web browsers only, could be used for writing web *servers*. And
the inverse is true, too - Pike, a language specifically designed for
building servers (specifically MUDs - plain text), has bindings for
GTK, so it can be used for writing graphical desktop applications.

But there are definite goals and philosophies that affect whether a
language is good for something or not. Python is extremely well suited
to short scripts that do one tiny thing and immediately shut down,
because it has an absolute minimum of boilerplate; other languages,
where you have to wrap your code up in "int main() { ... }" are less
suited to that. On the flip side, Python's object model tends to be
less well suited to massive scaling; I don't know about PyPy and other
Pythons, but certainly CPython isn't designed to run on arbitrary
numbers of cores (once you go to multiprocessing, you then need to
worry about IPC; if you work in a lower level language like C, you can
use threads and directly access each other's memory). "Everything is
permissible" - but not everything is constructive. [1] Sometimes
you're fighting the language rather than working with it.

ChrisA

[1] Did you know that the Corinthian church needed advice on
programming? First letter, tenth chapter, twenty-third verse.



More information about the Python-list mailing list