Now that I’m back at University for the start of a new semester I have a lot of classes that require the planning of and the development of applications. To be as successful as possible in this development it is a key requirement to have all the tools you need at your disposal and that each tool is properly configured to be able to work right away especially when your deadline is looming and you need to develop quickly and well. Speed is not the only factor however, quality is also important. The better the development environment you have setup the better your code. I’m not saying great code can’t be developed using just notepad, but I am saying that it makes my life a lot easier to use a wide range of tools to help me develop.
What do I mean by an integrated development environment? Wikipedia’s definition of a development environment (which redirects to Integrated Development Environment or IDE) states:
In computing, an integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, a compiler and/or interpreter, build automation tools, and (usually) a debugger. Sometimes a version control system and various tools are integrated to simplify the construction of a GUI. Many modern IDEs also have a class browser, an object inspector, and a class hierarchy diagram, for use with object oriented software developemtn.
So basically an IDE is a software application that gives a programmer help to make an application. Some of the best known IDE’s are Eclipse and NetBeans. Some people like to pick an IDE that gives them everything and say okay, that’s me. I’ll just use all the features in this one. Personally I like to mix and match. I’ve found some applications better than another for certain things.
My main development language is Java but I also develop in PHP, Perl, C or anything else I’m asked to write code in.
For Java I usually prefer using Kate or emacs but since the applications I’m developing are becoming more complex I use Eclipse to keep it all together and give me quick access to the code I’ve already developed. Its auto-complete feature is extremely useful. It even knows the methods you can use from other classes and allows you to auto-complete them and if it can’t find the method it can tell you right away as it compiles the program as you type. Being able to pick up such errors as you code is a godsend. You can immediately see where the problem lies and debugging becomes less of a chore.
For Java GUI design/mockups I decided not to use Eclipse’s built in editor, I find working on the GUI in such a busy window distracting and it makes abstraction more difficult. So I opt to use NetBeans IDE . It’s very simple to startup and get straight into dragging and dropping swing components into a JFrame. You can also quickly run the GUI you’ve created to see it in action. Aligning components is very precise and it has a very wide choice of swing and ADT components to use.
For UML diagram creation I use two tools: violet and Eclipse UML. I use violet for when I wish to create a quick and dirty diagram, usually when it’s I’m not using Java and I use Eclipse UML for more complex diagrams where dependencies and inheritance are more important.
For a PHP server I have a few options. I could use the department’s web servers, mcinroy.org, or a locally installed Apache/PHP/MySQL install. I choose the latter as it’s not dependant on a working internet connection (which always goes down when you need it the most) and because of the fact that I usually develop by trial and error and making small code changes and then uploading them every time is sometimes painfully slow.
The package I use to provide Apache/PHP/MySQL is xampp. There are many packages available, such as EasyPHP or wampserver but for me, xampp (xampp lite to be exact) provides just what I need. You can easily start and stop each service individually and the installation/configuration is easy as pie.
To actually write my PHP code I use Notepad++, basically because it provides good syntax highlighting and a nice clean cut editor window without any bells and whistles to distract from work.
Also for any image manipulation or creation I need to do I use Adobe Photoshop CS3.
There you have it, that’s all the tools I use to make my life a lot easier and to make my applications better. I know I’m probably not using the best applications for the job but they get me along just fine. If you have any recommendations on any other software you use to develop leave a comment, or use my contact page.
No Comments
Leave a Comment
trackback address