This is Part 2 of The Beginner’s Guide To Setting Up a Development Environment.
One of they aspects of being able to successfully manage a number of software projects (regardless of how large they are) is to have a solid development environment.
But if you’re new to the field or are trying to figure out the best place to start, it’s easy to get paralyzed with the amount of tools and information available on setting up and configuring an environment.
Throughout this series, I’m hoping to distill much of that information, define exactly what an environment is, explain why it’s important, and share some of the more common tools for getting an environment setup.
1. Development Environment Defined
A development environment refers to the the suite of applications and tools developers have installed on their machines that helps them to develop their applications, manage profile source files, track progress, debug code, and test their work before launching it into a testing environment and/or production environment.
A development environment often consists of some of the following:
- A Development Stack usually consists of any lower-level software your projects depends on to run. Web applications typically require a server, database, and middle-ware, mobile applications require an emulator and dependent libraries, and desktop applications require an operating system.
- Source Code Editors come in many varieties. Some are plain text editors, others provide advanced behavior such as syntax highlighting and line numbers, and some more advanced applications provide back-end compilation and error reporting.
- Testing Applications include debuggers, code profilers, and other advanced tools that are beyond the scope of this series. These come in handy most when you’re deploying a project to a large customer base on a variety of platforms.
- Version Control refers to a system for keeping track of changes in source code over a long period of time. It allows you – or a team – to make changes to the code base, keep the projects organized, and rollback whenever there are problems.
Note that anyone can setup their own development environment with their own set of tools.
If you’re happy with Notepad and a simple web server, then that’s your environment of choice; however, integrated development environments typically provide much greater control, organization, and functionality when it comes to managing a software project.
2. What’s an Integrated Development Environment?
An integrated development environment (also referred to as an IDE) is a software application tailored for developers that allows them to write, compile, test, and execute code all within the context of a single editor.
There are a wide variety of IDE’s available for every operating system available. Some of the more popular IDE’s include:
- Eclipse for multiple operating systems, multiple languages
- Aptana for multiple operating systems, multiple languages
- Visual Studio for Microsoft Windows, the .NET Framework, and compatible languages
- Coda for OS X, multiple programming languages
- TextMate for OS X, multiple programming languages
- Emacs for Linux, multiple languages
- NetBeans for multiple operating systems, Java, and other languages
- …and many more
The thing is, there is no silver bullet IDE. If there was, then there’d be no reason to have such a variety available. As such, it’s important to evaluate the available tool and your needs and then pick the IDE that best fits them.
This can be somewhat of a daunting task especially if you’re new to development and integrated environments, so if you’ve got questions (or even suggestions), leave them in the comments.
In the next post, we’ll take a look at how we can leverage Dropbox as a way to sync our environments across systems and get simple file version history for free.
Eric J says
notepad++ is my favorite free text editor 😀
Tom McFarlin says
I alternate between it and Eclipse depending on what I’m doing.
Bryan Rankin says
Eric- I am with you on the Notepad++.
Tom- Nice set of articles. I will be bookmarking them and referencing some of the beginner guys(and gals) that I run into your way.
Tom McFarlin says
Sweet, Bryan. Appreciate it!
Emma says
Hello there, I have recently set up MAMP and begun searching for an IDE. I’m running Tiger on Mac OS X 10.4.11 and having trouble finding one that will work on my outdated operating system. I don’t have the time or cash to update my system at present, unfortunately. Can anyone recommend a free IDE that will work on 10.4.11? I tried Eclipse and Netbeans so far – neither would run, despite Netbeans saying it was compatible with 10.4.11 in the documentation – it’s possible I’m missing something else that’s needed on my system. I’m developing a WordPress theme, so PHP is my main concern right now.
Thanks in advance 🙂
Tom McFarlin says
Try Notepad++ with a couple of a plugins (explorer, etc). It works well.
Emma says
Awesome, thank you 🙂 I will try it with the BDGp debugger and let you know how I get on
Emma says
As far as I can tell, Notepad++ is not compatible with mac and there doesn’t seem to be a completed mac version yet – I may have missed something though. I’ve installed Netbeans version 6.8 which seems to work fine. Thanks for your help 🙂