Outils pour utilisateurs

Outils du site


issue64:c_c

Ceci est une ancienne révision du document !


This month, I thought I would move away from the tutorials for once, and instead introduce my readers to the concept of an Integrated Development Environment (IDE), and explain a few of the reasons why an Integrated Development Environment could be useful for programmers. Following this, I will name the IDEs I use, and also name the languages for which I don't feel I need an actual development environment.

What is an IDE?

An IDE is basically an editor that also contains a compiler/interpreter and easy access to documentation, and usually offers plug-ins for debugging and testing. Some of the more advanced ones also offer various forms of auto-completion.

Why use an IDE? • Learn languages • Makes managing larger projects easier • Easy access to compiler/interpreter, debugger, and testing environments

Using an IDE can make it much easier to start using a language, as it can offer corrections for typos (or point out when you use function calls from a different language). If your IDE doesn't highlight mistakes, it will at least make it easy to quickly compile/execute the code to check for exceptions and run-time errors.

When you're working on larger projects, it's usually helpful to use an IDE that offers an integrated file tree to keep track of what files are where, and because they offer tools to make debugging easier. Once you have more than 100-200 lines of code, I would generally not recommend trying to do your debugging manually, and instead use an actual testing and debugging framework.

The sole exception to this, for me, is Java. I always try to use Eclipse with Java where possible, simply because a number of functions have long names, and auto-completion can make life easier. An alternative to this is simply redefining functions into shorter names, but that can get extremely complicated. Since I'm already in Eclipse when working with Java, I tend to use the integrated debugger regardless of file size. Using something like jUnit is overkill for most basic projects – I use it only when I have multiple files of a few hundred lines of code – or if I'm required to do so for class, or work.

What IDE should I use?

Ultimately, it comes down to what you want to use. There are some very advanced environments like Eclipse (for Java or C++), which will take up more space than a basic IDE. The current version of Eclipse requires just over 200MB of space in Linux. Keep in mind that the more features you have running at a time, the more RAM is used. Due to this, I find Eclipse too unwieldy. I use it with Java, and Java alone, simply because that's what my university required, and as such it's what I'm used to. Netbeans is another option for Java/C/C++/PHP development. However, I tend to not write many large programs, and I find a text editor and a terminal to be sufficient for C, C++, and PHP. Similarly with Python, although I tend to use the interactive interpreter for testing ideas before I start coding.

The bottom line is simple. Think about what you want to have easy access to, how large your programs usually are, and weigh the pros/cons of learning a new interface. Also, if you have time-constraints, you may want to use an IDE, as they can cut down development and testing time (so long as you are comfortable with the interface). Once you've picked out your reasons, find a few IDEs that fulfil them, and try them out. Repeat this until you find one you're comfortable with (or that meets your needs perfectly).

Light Table: A new IDE concept

I recently saw a post by Chris Granger on his take on an IDE called Light Table. For a link, see the Further Reading section below. Since that post, he has successfully funded the project on Kickstarter, promised Python support after Clojure, and released a prototype (the “Light Table Playground”). I'm extremely interested in the final product. He's introduced some new ideas (such as his “light” workspace), and offered extremely appealing implementations for all other ideas. I've been using the Light Table playground since it came out, and I find the interface to be cleaner than any other interface I've ever seen. At the moment, most of the functionality in the concept video is unavailable, offering mainly Instant Feedback at this time. However, for anyone who's fond of Clojure, or just wants to take a look at something new, I would recommend having a look.

I hope some of you have found this article interesting, and that I have answered at least a few of your questions concerning IDEs. If you have any more questions, comments, or requests, you can email me at lswest34@gmail.com. If you decide to email me, please include “FCM” or “C&C” in the subject line, so that it doesn't get lost in my inbox.

Further Reading:

http://www.chris-granger.com/2012/04/12/light-table---a-new-ide-concept/

http://app.kodowa.com/playground – Light Table playground

http://www.eclipse.org/downloads

http://netbeans.org/

issue64/c_c.1347569935.txt.gz · Dernière modification : 2012/09/13 22:58 de fredphil91