Python and IDEs [was Re: Python 3 is killing Python]
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Sat Jul 19 03:28:40 EDT 2014
Earlier, I mentioned a considerable number of IDEs which are available
for Python, including:
PyDev, Eric, Komodo, PyCharm, WingIDE, SPE, Ninja-IDE, Geany, IEP,
Spyder, Boa Constructor, PyScripter, NetBeans, Emacs, KDevelop, and
BlackAdder.
https://wiki.python.org/moin/IntegratedDevelopmentEnvironments
There is also IDLE, which is part of the standard Python installation, as
well as my preference: Unix/Linux as an IDE.
http://blog.sanctum.geek.nz/series/unix-as-ide/
http://michaelochurch.wordpress.com/2013/01/09/ide-culture-vs-unix-philosophy/
Some people ask:
"How many of those quality IDEs ship with Python?"
Most don't, of course, since they are third-party tools. Not that it
matters: it's 2014, not 1974, and anyone in the developed world
interested in computer programming has easy access to the information
superhighway sometimes know as "the Internet". (Many people in developing
nations also have access to the Internet, and those who don't probably
have bigger problems to worry about.) With the Internet, most of these
IDEs are normally just a few clicks away.
People using Linux will generally find that they can install some of
these IDEs using their package manager. For example, Red Hat Linux based
systems such on Centos or Fedora can use the yum package manager, e.g.:
yum install geany geany-plugins
while Debian and Ubuntu based systems (such as Mint) can use apt-get or
aptitude, e.g.:
aptitude install eric
apt-get install spe
Of course, most Linux distros include a GUI front-end to their package
manager, but frankly if you're programming on Linux and you're unwilling
to use the command line, you're making life harder for yourself than it
need be.
Windows and OS X users, sadly, miss out on the power of an integrated
package manager. OS X have a couple of third-party packaging systems,
MacPorts and Homebrew:
http://www.macports.org/
http://brew.sh/
Unfortunately, software development on Windows is something of a ghetto,
compared to the wide range of free tools available for Linux. Outside of
a few oases like Microsoft's own commercial development tools, it's hard
to do development on Windows. Hard, but not impossible, of course, and
there are quite a few resources available for the Windows user willing to
download installers from the Internet. For Python users, the IDEs from
Wingware and Activestate are notable:
https://wingware.com/
http://komodoide.com/
Some people are under the impression that IDEs are mostly or even solely
for the benefit of "newbies" or "n00bs". That's a gross misunderstanding
of the situation: the average newbie is likely to be happy writing code
using Notepad, or whatever bare-bones text editor they're used to, and
may not even know what an IDE is. It's those with some experience in
programming (particularly in the Java and Visual Basic worlds) who are
more likely to expect an IDE.
Another patronising view is that those who are new to programming are
automatically too incompetent or ignorant to download or install an IDE
without hand-holding. Even if that were the case, there is no shortage of
hand-holding available on the Internet, with dozens or hundreds of
forums, mailing lists, tutorial, videos and blogs offering to help. (It
is undeniable that the quality of these is *extremely* variable, but
that's another story.) This is the Internet generation, if software has a
downloadable installer, or can be installed using a package manager, most
people can deal with it, and those who can't have many opportunities to
learn. (It's probably a bit much to expect the average newbie to install
software from source, especially on Windows which doesn't come with much
in the way of compilers and other development tools, but still, it has to
be said that if you're hoping to become a programmer, installing software
from source is one of the skills you should learn.)
So why does Python ship with IDLE? It's not because Python requires an
IDE, or that newbies need one, or that there aren't alternatives. The
biggest reason for Python shipping with an IDE is not that people are
unable to install alternatives, but that a lot of people are *prohibited*
from doing so. For those of us who have control over our computing
environment, it's all too easy to forget that a lot of people (e.g.
students using school computers, or people in corporate environments
where the desktops are locked down to a standard operating environment)
aren't able to install the IDE of their choice. It's relatively easy to
get Python itself approved -- on many systems, Python comes pre-installed
-- but trying to get approval to also install third-party software is
difficult or impossible. It is for the sake of those people, people who
prefer or require an IDE but don't have the choice to install third-party
software, that Python ships with a minimal but usable IDE.
--
Steven
More information about the Python-list
mailing list