Outils pour utilisateurs

Outils du site


issue64:c_c

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.

Ce mois-ci, j'ai pensé que je pourrais m'éloigner des tutoriels pour une fois et à la place, présenter à mes lecteurs le concept d'un Environnement de Développement Intégré (EDI - Integrated Development Environment IDE), afin d'expliquer quelques-unes des raisons pour lesquelles un EDI pourrait être utile pour les programmeurs. Après cela, je citerai les EDI que j'utilise, ainsi que les langages pour lesquels je ne sens pas réellement le besoin d'un environnement de développement.

Qu'est-ce qu'un EDI ?

Un EDI est essentiellement un éditeur qui contient également un compilateur/interpréteur et un accès facile à la documentation ; il offre généralement des greffons pour le débogage et les tests. Quelques-uns des plus avancés proposent également diverses formes d'auto-complétion.

Pourquoi utiliser un EDI ? • Apprendre les langages. • Faciliter la gestion de projets de grande envergure. • Accès facile aux compilateur/interpréteur, débogueur et aux environnements de test.

L'utilisation d'un EDI peut rendre beaucoup plus facile le démarrage avec un nouveau langage, car il peut proposer des corrections de fautes de frappe (ou signaler que vous utilisez des appels de fonction d'un autre langage). Si votre EDI ne met pas en évidence les erreurs, au moins il rendra facile la compilation rapide et l'exécution du code pour vérifier les exceptions et les erreurs d'exécution.

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.

Lorsque vous travaillez sur des projets plus importants, il est souvent utile d'utiliser un EDI qui offre une arborescence de fichiers intégrée pour garder une trace de l'emplacement de chaque fichier et parce qu'il offre des outils pour un débogage plus facile. Une fois que vous avez plus de 100-200 lignes de code, je ne recommanderais généralement pas d'essayer de faire votre débogage manuellement, mais, à la place, d'utiliser un cadre réel de test et de débogage.

La seule exception à cela, pour moi, est Java. J'essaie de toujours utiliser Eclipse avec Java lorsque cela est possible, tout simplement parce qu'un certain nombre de fonctions ont des noms longs et l'auto-complétion peut rendre la vie plus facile. Une alternative à cela est de simplement redéfinir les fonctions avec des noms plus courts, mais cela peut devenir très compliqué. Comme je suis déjà dans Eclipse lorsque je travaille en Java, j'ai tendance à utiliser le débogueur intégré quelle que soit la taille du fichier. Utiliser quelque chose comme jUnit est excessif pour la plupart des projets de base ; je l'utilise seulement quand j'ai plusieurs fichiers de quelques centaines de lignes de code, ou si je suis obligé de le faire pour la classe ou au travail.

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).

Quel EDI dois-je utiliser ?

En fin de compte, ça revient à ce que vous souhaitez utiliser. Il y a quelques environnements très avancés comme Eclipse (pour Java ou C++), qui tiendront plus de place qu'un EDI de base. La version actuelle d'Eclipse nécessite un peu plus de 200 Mo d'espace sous Linux. Gardez à l'esprit que plus vous avez de fonctionnalités en cours d'exécution à la fois, plus la quantité de RAM utilisée augmente. Pour cette raison, je trouve Eclipse trop difficile à manier. Je l'utilise avec Java, et Java seul, tout simplement parce que c'est ce que mon université demandait, et en tant que tel c'est ce à quoi je suis habitué. Netbeans est une autre option pour le développement Java/C/C++/PHP. Cependant, j'ai tendance à ne pas écrire beaucoup de grands programmes, et je trouve qu'un éditeur de texte et un terminal sont suffisants pour le C, le C++ et le PHP. De même avec Python, mais j'ai tendance à utiliser l'interpréteur interactif pour tester des idées avant de commencer à coder.

La conclusion est simple. Pensez à ce que vous voulez atteindre facilement, la taille habituelle de vos programmes, et pesez les avantages et inconvénients de l'apprentissage d'une nouvelle interface. De plus, si vous avez des contraintes de temps, vous voudrez peut-être utiliser un EDI, car ils peuvent réduire le temps de développement et de test (si vous êtes à l'aise avec l'interface). Une fois que vous avez défini vos raisons, trouvez quelques EDI qui s'y appliquent, et essayez-les. Répétez jusqu'à ce que vous trouviez celui avec lequel vous êtes à l'aise (ou qui répond parfaitement à vos besoins).

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.

Light Table : Un nouveau concept d'EDI

J'ai récemment vu un commentaire de Chris Granger donnant son avis sur un EDI appelé Light Table. Pour un lien, voir la section « Pour aller plus loin » ci-dessous. Depuis ce commentaire, il a financé avec succès le projet sur Kickstarter, il a promis la prise en charge de Python après Clojure, et sorti un prototype (le « Light Table Playground »). Je suis très intéressé par le produit final. Il a introduit de nouvelles idées (comme son espace de travail, clair, léger et prêt à vous épauler), et a offert des implémentations très attrayantes pour toutes les autres idées. J'utilise Light Table Playground depuis qu'il est sorti et je trouve l'interface plus propre que toute autre interface que j'ai jamais vu. À l'heure actuelle, la plupart des fonctionnalités de la présentation vidéo du concept ne sont pas disponibles, offrant principalement le commentaire instantané pour le moment. Cependant, pour tous ceux qui aiment Clojure, ou qui veut simplement jeter un œil à quelque chose de nouveau, je vous recommande d'aller le regarder.

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/

J'espère que certains d'entre vous ont trouvé cet article intéressant et que j'ai répondu à au moins quelques-unes de vos questions concernant les EDI. Si vous avez d'autres questions, commentaires ou demandes, vous pouvez m'envoyer un email à lswest34@gmail.com. Si vous décidez de me contacter, merci d'inclure « FCM » ou « C&C » dans la ligne d'objet, de sorte qu'il ne se perde pas dans ma boîte de réception.

Pour aller plus loin :

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.txt · Dernière modification : 2012/10/09 14:51 de andre_domenech