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