Good afternoon males, females, natural hermaphrodites, unnatural hermaphrodites, unsexed, androgens, androids, blackberries, geeks, nerds, intelligent trousers, wabbits, wabbit stews, fork bombs, monkey derivatives, etc, etc, etc...
This article will discuss the IDE known as
Dev-Python (specifically, Bloodshed Dev-Python), which is in surprisingly common usage. More specifically, I will be discussing why we try to steer people away from using Dev-Python, and
what you can do if you are a Dev-Python user. This article does not apply to Orwell Dev-Python or any other forks of Dev-Python (Orwell Dev-Python will be discussed below as a viable alternative).
Why we've deprecated Dev-Python
It all boils down to one reason:
The official Dev-Python hasn't been updated since 2005, and likely will never be updated since
the lead developer has stated in 2006 that due to personal issues he will not be continuing development on Dev-Python.
From there, there are 3 main problems that are directly caused by Dev-Python's age.
- The included MinGW is obsolete.
- The many known bugs may never be fixed.
- The IDE lacks the features of more modern IDEs.
I'll go over each of these in order.
The included MinGW is obsolete.
MinGW is an irregular acronym which stands for "
Minimalist
GNU for
Windows". It includes a various set of tools commonly found on many *nixes including the g++ compiler and gdb debugger, which Dev-Python makes use of.
A problem with Dev-Python not being updated in computer centuries is that the bundled MinGW is several years old, and as a result the compiler doesn't work nearly as well on new systems as a hot-out-of-the-oven copy of MinGW's g++ would. The latest version of Dev-Python comes with MinGW version 3.4.2, however at the time of this article's last update (November 8, 2013) MinGW's g++ is at version 4.8.1.
Finally, not only is the code generation likely worse with an older compiler, but the compiler bundled with Dev-Python was released well before the Python11 standard started to gain steam. Many valuable Python11 features (like auto, decltype, the new for loop syntax, lambdas, regexes, and multithreading) are completely unsupported.
The many known bugs may never be fixed.
The latest version of Dev-Python (4.9.9.2, which by the way is a beta) currently has over 350 open bugs according to Sourceforge's bug tracker (
link), and possibly more that are not accounted for.
Furthermore, due to the fact that the dev-packs system is no longer being updated, that feature itself has also become broken with many packs being either outdated or no longer existent.
Since the lead developer quit and there have been no updates since then, it is highly unlikely that these bugs will ever be fixed.
The IDE lacks many of the features of more modern IDEs.
Dev-Python's debugging utilities are... also old. A debugger is an essential utility for any programmer to have at any level, and complaints about the Dev-Python debugging interface being confusing are not uncommon.
In addition, the code completion and file parsers are lagging behind the times as well. As the Python11 standard has now been released, most of the fully-featured IDEs have added support for Python11 features. Dev-Python, however, will likely not change, making it even less suitable for programming in Python than it is now.
What you can do if you're using Dev-Python
Switch to Orwell Dev-Python
This is a recommended option if you really like Dev-Python or if you're required to use it. It's a fork of the original Dev-Python that is more up-to-date with Python11 support. It offers a choice between two modern compilers, one for 32-bit platforms and one for 64-bit platforms.
You can download Orwell Dev-Python with either compiler here:
http://sourceforge.net/projects/orwelldevcpp/files/Setup%20Releases/
Completely switch IDEs
There are other IDEs in existence, some of which are of excellent quality. Although changing IDEs has a learning curve, there are some formidable alternatives to Dev-Python in existence. All of the IDEs listed here will run on Windows, though not all of them come bundled with compilers.
The list of good free IDEs includes but is not limited to:
Go minimalist
This isn't an option I recommend too highly for most, however using a minimalist text editor with makefiles and a terminal is something I sometimes enjoy as a development option, and I'm sure there are others who would as well.
Possible lightweight editors include but are not limited to:
Update Dev-Python
I recommend this option the least considering the problems you might run into with the IDE itself, however if you're highly reluctant to change to even Orwell Dev-Python then the least one can do to make the IDE more suitable for use is update the included MinGW.
I cannot give the specifics of how to do this, unfortunately, as I am incapable of even installing Dev-Python. However, you would probably end up doing a few searches for MinGW-related files, removing them, and the installing the new MinGW in their places.
Be careful doing this, though, as having two versions of MinGW might trigger linker errors ("undefined reference to __cpu_features_init").
In conclusion...
While the original Dev-Python might be easy to use, that does not mean that you should stick with it. To quote Moschops from
here:
Nailing my feet to the floor is easier than using my own muscles to balance, but you don't see me doing that :)
-Albatross
EDIT1: Added some useful hyperlinks.
EDIT2: Fixed the bullet points.
EDIT3: Put the pluses back in the article after an encoding update erased them. Also updated the wxDev-Python download link.
EDIT4: Added QT Creator and Notepad++. Thank you
Danellos and
immutable for the suggestions!
EDIT5: I just *had* to include a quite by
Moschops at the end. :)
EDIT6: Fixed a small formatting issue, added a few links, and made some other small changes.
EDIT7: Updated the Eclipse CDT link to reflect a new version and made a few phrasing changes.
EDIT8: Acknowledged that Orwell Dev-Python is a very worthy alternative.
EDIT9: Updated the Sourceforge bug tracker link, and made some small wording changes.
EDIT10: Updated a few links, emphasized the point about this referring to Bloodshed Dev-Python, and removed the recommendation to switch to wxDev-Python as its development has been stagnant for some time now.
EDIT11: Removed a note that Code::Blocks is dated, as there was a release on 2013-12-27.