Before beginning, I must offer my profuse apologies to Shawn Gordon and the rest of theKompany crew. Shawn sent me the Black Adder software several months ago; however, my schedule ballooned beyond all believable bounds and has stubbornly maintained that ludicrous pace; unfortunately. I have not had an opportunity to write this review until recently, so I am sorry for my tardiness. And now to answer the most obvious question; what is Black Adder?Black Adder is theKompany’s Python IDE. However, this simple answer, while accurate, does not do Black Adder justice. Black Adder offers Python developers a convenient interface for managing python files, easily navigating classes, debugging python scripts, database connectivity via mxODBC, and, of course, creating GUIs in Python using pyQT and QT Designer. As an added bonus, it does all this on both Windows and Linux.
Just like every review I write, I will not spend much time discussing the installation. I know many people enjoy pedantic discussions on the thrills and spills of installing software; however, I fail to see the point. It’s like focusing all your thoughts and energy on the processes of getting the screw-top lid off you favorite beverage, to the complete neglect of actually pouring yourself a drink. Therefore, I believe it will suffice to say that installing Black Adder is an easy, predictable, and uneventful process.
I believe first impressions are very important, and Black Adder made a good first impression on me. While meaningless to most developers, the first thing that stood out for me was the fact that Black Adder properly supports Japanese characters (as you can see in the tree view in this screenshot). I was also impressed with the clean look of the layout and the meaningful icons used on the toolbar.
The Console Application
After letting my first impression sink in for a second or two, I immediately jumped into writing a simple console application. All this application would do is recursively check a directory structure and list all the directories and files in a meaningful and attractive way. I will get to the graphical interface portion of it later.
I used the Black Adder project wizard to create a project to hold my test application. The wizard was straightforward and unlike other IDEs I have used, the questions the wizard asked were clear and didn’t leave me puzzling over how to answer cryptic questions.
For the last eight months or so, I have been programming in Python almost exclusively. During that time, I was not able to find a debugger that I really liked (although I must admit I didn’t look very hard). While programming my sample application in Black Adder in order to write this review, I was surprised at how useful Black Adder’s debugger was. I wish I had used it on some of my real projects. If you are writing as much Python code as I have been lately, the debugger alone is worth the purchase price, I think.
Once I fixed all my typing errors and deleted the results of my mental inability to overcome putting semicolons at the end of every line, I ran the program from within the IDE, and for the most part everything went quite well. I did have to make a minor change to my code in order for it to work correctly, but once I made the change, my output was displayed correctly from within the Black Adder IDE.
Although the overall console application experience was a good one, there were a couple of things that didn’t seem to have the same level of polish. The first anomaly I noticed was that whenever I used the project wizard to create a new project, an error message would pop up informing me that the program couldn’t read the floppy drive (Windows). Since my floppy drive is nothing more than a dusty relic from days long past, and hasn’t accommodated a floppy disk for several years, I quickly clicked “Cancel” to close the message dialog. After doing this three times, the wizard proceeded as expected.
There were a couple of other minor quinkydinks that I met along the way. For instance, when you create a new file, it is presented in the IDE, but isn’t actually inserted into the project. You have save the new file and then manually insert it into the project in order to take advantage of Black Adder’s file view and class view.
In spite of these imperfections, the overall experience was a good one. Commands were easy to find in the menu system, the debugger was quite nice, and the IDE as a whole was easy to use and laid out in a logical way. I also liked the Python Console that is incorporated into the IDE. It makes it easy to quickly run a Python command and check its output without having to leave your development environment.
The Graphic Application
After completing my command line tool, I started a new project to create a sexy graphical interface for my redundant utility. One of the features that Black Adder offers is the ability to create graphic applications using the pyQT library and the QT designer (of course it is possible to just use the Black Adder editor and create graphic interfaces using any library you choose).
I have used wxPython and pyGTK in the past to create GUIs; however, this was going to be my first experience with QT.
After using the project wizard again to create a new project, I launched QT Designer from the toolbar in order to create my interface. The tool seemed fairly straightforward, so I went about the task of plopping buttons here, inserting text there, and so forth until I had what looked like the upper limits of my inability to create a decent UI.
Since the QT Designer is a separate application, I won’t spend too much time discussing it. I did find it to be a little confusing at first, but those who are familiar with QT and the QT Designer should feel right at home. After the QT Designer philosophy penetrated my stubborn brain, everything was fine. In spite of the fact that QT Designer is a separate application, I believe theKompany has done a good job of integrating in into Black Adder. Once I got my head wrapped around the QT Designer concepts, building a GUI version of my directory utility was fairly straight forward.
This is the second application from theKompany that I have had the opportunity to review (and after my extended tardiness, probably my last – again, I apologize Shawn and crew). The first program I reviewed was Data Architect. I must say that I have been impressed with theKompany’s attention to detail and the functionality of their software. As with any software, there are a couple of “beauty marks” that need to be worked out, and a couple of enhancements that probably should be made, but overall, theKompany has released a quality development tool with Black Adder.
If you are a Python developer who is looking for a good IDE with a good debugger, I recommend you give theKompany’s Black Adder IDE a try.