Partage
  • Partager sur Facebook
  • Partager sur Twitter

Une bonne IDE ?

12 août 2018 à 19:10:34

Bonjour,

Je voudrais apprendre le C et le C++ afin de rajouter des cordes à mon arc.

Le problème étant que je n'ai trouvé aucune IDE qui me convient.

Code::Blocks et son interface mal pensée, Visual Studio et son fameux compilateur propriétaire, CLion payant.

Je voudrais savoir donc quelle IDE utilisez-vous ?

Bonne journée

  • Partager sur Facebook
  • Partager sur Twitter
Plus c'est simple moins c'est drôle - Le racisme, c'est bien qu'envers le JS.
12 août 2018 à 19:24:36

Je suis sur visual. Je ne trouve vraiment complet et efficace.
  • Partager sur Facebook
  • Partager sur Twitter
12 août 2018 à 19:36:13

ironwolf151 a écrit:

Je suis sur visual. Je ne trouve vraiment complet et efficace.


Mon problème avec Visual c'est son exclusivité Windows.

Je suis en train de migrer vers Fedora et je ne veux vraiment pas dépendre de Wine pour pouvoir programmer avec Visual de plus avec un compilateur propriétaire

  • Partager sur Facebook
  • Partager sur Twitter
Plus c'est simple moins c'est drôle - Le racisme, c'est bien qu'envers le JS.
Anonyme
12 août 2018 à 19:57:56

Peux etre QtCreator ?

https://www.qt.io/qt-features-libraries-apis-tools-and-ide/

-
Edité par Anonyme 12 août 2018 à 19:58:11

  • Partager sur Facebook
  • Partager sur Twitter
12 août 2018 à 20:49:39

cela fait un bon moment que je suis sur Visual studio et franchement je trouve que c'est un très bon IDE

D'ailleurs si tu apprends le C/C++ ne les apprends pas sur OC, et fais attention du premier coup d'oeil il se ressemble, mais sont en réalité très différent 

  • Partager sur Facebook
  • Partager sur Twitter
12 août 2018 à 20:53:08

Visual Studio est peut être propriétaire, mais il existe des versions portables.

J'ai aussi déjà entendu parler de Net Beans comme IDE portable.

Mais tu pourrais également utiliser un éditeur de code et un compilateur séparément. Visual Studio Code et GCC par exemple.

  • Partager sur Facebook
  • Partager sur Twitter

Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

12 août 2018 à 21:06:45

Salut,

De manière générale, un IDE n'est jamais qu'un outil qui regroupe ce que l'on peut désigner sous le terme d'une "chaine d'outils" destinés à un besoin particulier.

Cette chaine d'outils se compose généralement

  • d'un éditeur de texte "plat" (comprend: qui n'utilise pas d'autres mise en forme comme le gras ou les niveau de titre, bien qu'il soit souvent fourni avec un système de "coloration syntaxique");
  • les outils propres au développement (dans le cas de C et de C++, il s'agit du préprocesseur, du compilateur, de l'éditeur de liens et d'un créateur d'archives, plus quelques babioles)
  • d'un débuggeur éventuel
  • d'un système permettant de décrire et de gérer la notion de "projets"

Certains IDE utilisent une chaine d'outils clairement définie, alors que d'autres permettent de choisir cette chaine d'outils.  Mais tous (ou du moins la plupart) utilisent un système permettant de décrire, de configurer et de gérer la notion de projet qui leur est propre.

Il est, de manière générale, à titre professionnel, toujours intéressant de savoir manipuler tous les différents IDE qui existent, ne serait-ce que parce que l'on se rend compte que certaines boites ne jurent que par un IDE bien particulier.

Mais quand on entre dans la sphère privé, là, le choix de ton IDE est sans doute aussi personnel que le choix caleçons longs / slips ou que celui qui te fera préférer acheter une jeta à une peugeot : c'est une question de gouts et de couleurs.  Et tu sais sans doute aussi bien que moi que cela ne se discute pas ;)

On peut -- éventuellement -- essayer de trouver des points concrets pour orienter son choix, mais le choix final restera malgré tout particulièrement arbitraire, parce que tu aimes ou que tu détestes un aspect bien particulier.

Les éléments concrets que tu peux envisager sont:

la disponibilité sur différents systèmes d'exploitation :

Si tu aimes passer de linux à windows, il peut être particulièrement intéressant de pouvoir retrouver le même IDE quel que soit le système utilisé. 

Visual Studio est alors mis hors course, car il n'est disponible que sous windows.

Par contre, Code::Blocks, QtCreator, (CLion, je crois) sont disponibles aussi bien sous linux que sous windows.

Il existe également Geany sous linux, mais, lui, n'est -- il me semble -- pas disponible sous windows :p

l'intégration du débuggeur :

On passe toujours énormément de temps à débugger les applications que l'on développe. 

La facilité avec laquelle on y arrive est très certainement un aspect majeur du problème.  

Visual studio a une très large avance sur tous les autres dans ce domaine, bien que QtCreator ne soit pas mal non plus. La capacité de débugger des applications sous Code::Blocks est ... moyenne (bien en decà des deux premiers cités), et je ne connais pas assez CLion pour me faire une idée à son sujet.

L'indépendance des outils :

Nous sommes entrés dans une nouvelle aire en C++ en 2011, dans le sens où la norme est désormais mise à jour à peu près tous les trois ans.

Il est -- à tout le moins -- très intéressant de pouvoir profiter des outils adaptés à la dernière norme officielle (C++17 à l'heure actuelle), voire même de profiter d'outils qui sont déjà en mesure de fournir "certaines fonctionnalités" qui n'apparaitront que dans la "prochaine norme".

Le fait qu'un IDE est indépendant de la suite d'outils qu'il utilise facilite énormément les choses, car il "suffit" le plus souvent de mettre cette suite d'outils à jour pour pouvoir profiter des nouveautés.

QtCreator, Code::Blocks et (je crois) CLion sont indépendants de la suite d'outils utilisée, ce qui leur donne finalement un sérieux avantage sur Visual Studio, qui dépend, quant à lui d'une version bien précise de la suite d'outils "made by microsoft".

De plus, bien que les choses se soient largement améliorées, Visual Studio s'est déjà montré à la traine par rapport au respect des normes récentes : il a par exemple fallu attendre Visual Studio 2017 pour voir apparaitre le support des fonctions delete et default; alors qu'elles étaient supportées depuis bien longtemps par Gcc et par Clang.

Le prix :

Lorsque l'on développe de manière privée, on n'a sans doute pas les moyen de payer nos outils des cents et des milles.  Si les outils peuvent être gratuits pour l'utilisation que l'on en fait, c'est sans doute encore mieux.

Code::Blocks et QtCreator sont gratuits, mais Visual Studio vient tout de suite après car il propose une version gratuite (la version "community") et plusieurs versions payantes.

Il n'y a plus de différence entre la version gratuite et les versions payantes de VisualStudio, si ce n'est d'éventuelles restrictions quant à ce que tu peux faire des projets que tu développe avec la version community (fut un temps où tu n'avait pas accès à toutes les fonctionnalités de la version payante lorsque tu utilisais la version gratuite :p ), si bien que Visual Studio se trouve clairement sur le même pied que Code::Blocks et QtCreator.

CLion est quant à lui payant (quoi que, il me semble que cela dépend encore du système d'exploitation sur lequel tu l'utilises !!!), ce qui peut être un inconvénient majeur ;)

La capacité à utiliser d'autres langages:

Un développeur, même "à titre personnel" aime sans doute jouer avec plusieurs langages de programmation.  Et, tant qu'à faire, s'il peut utiliser toujours le même IDE, il s'y retrouvera souvent bien plus facilement que s'il doit changer d'IDE au  gré du langage qu'il utilise.

Visual Studio prend encore une fois une nette avance sur les autres, car il est le seul (à  ma connaissance) qui permette réellement d'utiliser presque tous les langages.

La spécificité:

Certains IDE ont été développés dans un but bien particulier à la base.  Ce but ayant été atteint, il n'est pas rare de constater qu'il a "débordé" de son objectif de départ afin de s'adapter à d'avantage d'objectifs.  Cependant, l'objectif d'origine reste encore clairement "inscrit dans ses gènes" et peut rendre son utilisation pour "certains objectifs secondaires" moins "naturelle".

Je pense par exemple à QtCreator, qui a -- à  la base -- été conçu pour permettre l'utilisation de la bibliothèque Qt, et dont l'ensemble des possibilités qu'il offre reste très emprunt de cet objectif primaire.

L'ouverture vers l'extérieure:

Nous vivons dans un monde où l'on demande de plus en plus aux développements d'atteindre certains objectifs de portabilité; dans lequel je souhaite peut-êre arriver à compiler sous QtCreator un projet que tu aurais créé sous Visual Studio (ou l'inverse).

Des outils extérieurs, comme CMake fournissent une base solide pour atteindre cet aspect de la portabilité.  Si un IDE est en mesure de récupérer un projet décrit au format CMake, cela ne peut qu'être bénéfique, même si cela t'oblige à apprendre comment décrire ton projet avec CMake.

QtCreator, CLion et Visual Studio offrent ce genre de capacité, et cela peut être considéré comme un avantage majeur ;)

Et tout le reste:

J'ai essayé dans ces lignes d'être aussi objectif que possible, mais, comme je l'ai dit plus haut, le choix d'un IDE reste quelque chose de particulièrement personnel.

La meilleure solution est donc de les essayer, de les aimer ou de les haïr, avant de passer à un autre si l'on n'a pas trouvé "ce qu'on voulait".  Car il n'y a clairement qu'en les essayant que tu pourras trouver "chaussure à ton pied" ;)

Une alternative:

Sinon, il reste également une alternative qui mérite d'être citée: celle de n'utiliser absolument aucun IDE, mais bien quelques outils spécialement sélectionnés pour te permettre de faire ce que tu veux.

En installant -- par exemple -- MinGW-w64, Notepad++ (éventuellement doxygen) et CMake sous windows, ou en utilisant (selon tes préférence) Vim, nano ou n'importe quel éditeur de texte intégré à ta distribution linux avec Gcc, doxygen et CMake (ou les autotools), tu peux arriver "très facilement" à gérer les projets les plus complexes, et c'est aussi le genre d'aptitude qui peut s'avérer utile dans la vie professionnelle ;)

  • Partager sur Facebook
  • Partager sur Twitter
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
13 août 2018 à 1:23:34

Deedolith a écrit:

Eclipse ?


J'ai jamais trop accroché, je trouve que ce n'est vraiment pas ergonomique
  • Partager sur Facebook
  • Partager sur Twitter
Plus c'est simple moins c'est drôle - Le racisme, c'est bien qu'envers le JS.
13 août 2018 à 8:10:04

Ce qu'on utilise? Vim, avec une conf très personnelle.

Mais est-ce que je conseillerai ça à un débutant? Pas vraiment. QtCreator sera bien plus accessible.

  • Partager sur Facebook
  • Partager sur Twitter
C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
13 août 2018 à 10:49:19

Qt Creator.

Personnellement je suis sous vim avec quelques plugins conviviaux (vim-cmake, lawrencium, gutentags).

  • Partager sur Facebook
  • Partager sur Twitter

git is great because Linus did it, mercurial is better because he didn't.

13 août 2018 à 11:11:01

Notepad++

Non, je deconne. Qt Creator

EDIT : tu as une liste assez complete (mais pas totalement) https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C/C++ (il manque par exemple sublime text ou atom)

-
Edité par gbdivers 13 août 2018 à 11:19:23

  • Partager sur Facebook
  • Partager sur Twitter
13 août 2018 à 11:47:39

Bonjour,

Doublon

Les doublons nuisent au bon fonctionnement du forum et sont donc interdits. Si vous vous êtes trompé de section, il suffit de signaler votre sujet au staff pour qu'il le déplace au bon endroit.

Je vous invite à continuer la discussion sur l'autre sujet : https://openclassrooms.com/forum/sujet/les-bonnes-ide-c-c

Je ferme ce sujet. Me contacter par MP si besoin.

  • Partager sur Facebook
  • Partager sur Twitter

Moderateur forum || FAQ 3D || discord 3D francophone || OC Tweak script