[Tutor] Which computer operating system is best for Python developers?
Steven D'Aprano
steve at pearwood.info
Thu Feb 23 05:33:34 CET 2012
On Wed, Feb 22, 2012 at 07:00:57PM -0600, Tamar Osher wrote:
>
> Hi. I am still having trouble installing and using Python on my (new) Windows 7 computer, but I plan to contact Microsoft forums and see if they can help me, since this is a Windows problem and not a Python problem.
>
> My question: For the future, what type of computer is best for Python developers? Do all Python developers use some type of Unix computer?
> I appreciate your feedback and look forward to hearing from you. Thanks for your time.
For sure, Linux is the best OS for development.
That doesn't mean that you can't develop on other OSes, or that Linux is
perfect, but generally speaking it is the simplest and easiest, at least
once you learn the Linux/Unix ways of thinking, or can memorize a few of
the most common commands you need to use.
And please don't read this as an attack on Windows, or Mac OS, or
whatever your favourite OS is. All OSes have their strengths and
weaknesses, and the range and quality of free development tools happens
to be one of Linux's biggest strength.
If you hang around on the python-dev mailing list, you will see that one
of Python's ongoing weaknesses is that the developers don't have enough
people able and willing to test Python under Windows and fix problems as
they occur. When you ask why, they tell you that it's because dealing
with Microsoft licencing is difficult, that the C compilers change too
often in backwards-incompatible ways, that they can't get people to do
testing, that in a thousand little ways it just isn't fun or easy to
develop Python on Windows. Or even develop *in* Python.
On my Linux system, I get Python pre-installed, plus a whole bunch of
programmers' editors, debugging tools, admin tools, etc. If they don't
come installed, they are usually one command away:
yum install name-of-package
aptitude install name-of-package
depending on whether you are using Red Hat based Linux, or Debian based
Linux. On Windows, every package needs to be installed by hand. If
there's a binary installer, I better hope it works on my system,
because compiling it myself is a PITA even if I had a C compiler, which
I don't.
On Windows, I have Notepad, which is a crap editor, WordPad, which isn't
designed for programming, or heavyweight IDEs that come with my
compiler. I would need to learn a whole new IDE for every language I
learn.
On Linux, I have half a dozen programmer's editors already available for
me. Even the feeblest, nano, is more powerful than Notepad. I just use
whatever tools I'm already used to using, and it just works:
http://blog.sanctum.geek.nz/series/unix-as-ide/
Unix/Linux is designed to be an development environment, rather than
having development be an optional extra. No suprises there: Linux
particularly, but also Unix back in the early days, was built by
programmers to scratch their own itch: they wanted a good development
environment, and so they built Unix to be a good development
environment.
With Windows and Mac OS, it is primarily designed as a desktop OS, with
development being a necessary evil rather than a design choice.
If you decide to shift from Windows to something else, you may find that
it's more work learning the new OS than it would have been to have just
stuck with what you know and learn to use it effectively.
--
Steven
More information about the Tutor
mailing list