On Thu, Sep 5, 2013 at 2:03 PM, Andrew Berg <robotsondr...@gmail.com> wrote: > On 2013.09.04 22:39, Dennis Lee Bieber wrote: >> On Wed, 04 Sep 2013 07:26:47 +0200, Steve Hayes <hayes...@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. -- https://mail.python.org/mailman/listinfo/python-list