Forum général.cherche-logiciel Editeur de code pour débutant

Posté par  . Licence CC By‑SA.
5
10
mai
2021

Bonjour,

Je me suis lancé dans l'initiation à la programmation pour des individus dont la moyenne d'âge est de 11 ans et qui ont déjà une petite expérience de l'utilisation des logiciels libres tournant sous Linux.

L'objectif principal doit rester la capacité à rapidement développer un logiciel utile tout en s'amusant et poser des bases solides de programmation indépendantes du langage adopté.

Quel type d'éditeur de code pourriez vous conseiller à ces entités, de manière à ce que la prise en main de cet outil indispensable ne vienne pas perturber cet objectif principal ?

Il est évidemment hors de question de les introduire à Vim ou Emacs pour un premier contact avec le développement.

Mes recherches m'ont amené vers Bluefish, mais je suis preneur de tout autre partage d'expérience.

Merci

  • # Quel langage ?

    Posté par  (site Web personnel) . Évalué à 5 (+3/-0).

    Hello,

    Sais-tu déjà quel langage tu souhaites initier ? Ça pourrait guider certaines propositions.

    J'ai souvenir d'avoir débuté entre autre avec Notepad++ pour du PHP/HTML, mais c'était sous Windows et ce n'est pas vraiment un IDE.

    Ensuite, on avait fait un peu de C et là (vers 15-16 ans je pense), j'avais pu utiliser Code::Blocks qui était pas mal. Le C était utilisé pour faire des maths appliquées, alors on n'avait pas utilisé beaucoup de fonctionnalités, mais on avait pu tester le debugger.

    • [^] # Re: Quel langage ?

      Posté par  . Évalué à 2 (+0/-0).

      je n'ai pas encore décidé, mais j'imagine qu'on va s'orienter vers du PHP ou du python.

      Ce commentaire passe-t-il les trois tamis de Socrate ? -- https://linuxfr.org/suivi/autoriser-la-correction-limitee-de-commentaires-apres-les-5min

    • [^] # Re: Quel langage ?

      Posté par  . Évalué à 1 (+0/-0).

      Ah que de souvenirs bien que ne les ayant utilisé que très brièvement…
      Code::Blocks ; phpStorm ; Komodo ; phpEdit ; SlickEdit ; en face CodeLite et QuantaPlus.

      C'est sûr qu'en connaissant le langage on peut recommander un IDE qui le prend en charge. Mais les IDE c'est pas top pour bien apprendre…

      • [^] # Re: Quel langage ?

        Posté par  (site Web personnel) . Évalué à 2 (+0/-0).

        Mais les IDE c'est pas top pour bien apprendre…

        Pourquoi ?

        Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

        • [^] # Re: Quel langage ?

          Posté par  . Évalué à 3 (+2/-0). Dernière modification le 13/05/21 à 04:32.

          Ma réponse était à nuancer évidemment.
          Un truc dont le boulot est de masquer ce qui se passe réellement (par exemple quand tu appuis sur le bouton Compiler) ne te fait pas apprendre ce qui se passe vraiment. Et quand tu dois le faire par toi-même il y a toujours quelque chose qui ne marche pas et tu ne comprends pas trop pourquoi. Pas plus tard qu'hier matin, j'ai vu un collègue qui avait vendu sa maîtrise de Git en entretien ne pas savoir comment résoudre un conflit d'un autre collègue suite à un git pull si ce n'est de lui conseiller d'utiliser l'environnement qu'il utilise et qui gèrerait bien ce problème tout seul.
          On me dira que parfois on veut se focaliser sur le code et non tout le reste autour. Même là, je pense que l'IDE ne sera utile pour pisser du code que lorsqu'on aura acquis les bases, sinon ça va juste cultiver la pente naturelle de la paresse tout en donnant une impression de connaissance qui s'évanouira sans qu'on ait à gratter fort
          Le truc est tel que certains ne savent plus faire des trucs basiques sans leur IDE et que celui-ci est parfois tellement associé au langage que je vois des gens utiliser un IDE spécifique pour chaque langage dans lequel ces gens doivent développer.

          Attention, ce n'est pas que je sois contre ces outils dit de « productivité » mais juste que ce sont des trucs qui doivent venir après… (sinon on reproduit la même hérésie des formations de traitement de texte qui finissent par être synonymes de formation msword…)

          • [^] # Re: Quel langage ?

            Posté par  (site Web personnel) . Évalué à 3 (+1/-0).

            Sauf pour des passionnés (mais dans ce cas ils s'y seront mis tous seuls), est-ce qu'à 11 ans tu ne vas pas les dégouter en les confrontant directement aux trucs de cuisine interne autour de la programmation ?

            L'aspect résultat rapide est quand même un moteur pour démarrer, quitte — si on s'y intéresse plus — à entrer dans les machins plus techniques ultérieurement.

            Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

            • [^] # Re: Quel langage ?

              Posté par  . Évalué à 2 (+1/-0).

              Il y a des langages pour lesquels la cuisine interne est un peu nécessaire. Raison pour laquelle je ne les mettrai pas au C ou au Java à cet âge, mais on ira directement sur un truc interprété pouvant être interactif. J'ai de bon souvenirs d'avoir fait pratiquer des jeunes de cet âge, avec des résultats rapidement, avec : Locomotive BASIC, LSE au lycée, Logo, HyperTalk, etc.
              Le dernier cas cité est plus un RAD (comme on a connu avec Borlan Delphi) qu'un IDE et on retrouve ça avec des langages de programmation graphique/visuel (est-ce pour ça que nombre de RAD sous Fenêtre, à l'époque où c'était de mode, avaient Visual dans leur nom ?) Similairement, pour ces âges (et plus) on a : Scratch, Blockly, Snap!, etc.

              • [^] # Re: Quel langage ?

                Posté par  (site Web personnel) . Évalué à 2 (+0/-0).

                je ne les mettrai pas au C ou au Java à cet âge, mais on ira directement sur un truc interprété pouvant être interactif.

                Quoique en relativement interactif, ludique et très "Java", il y a Processing, bien documenté et que j'ai déja utilisé avec succès pour des ateliers de découverte de la programmation. C'est en gros multi-os et ça s'installe facilement depuis le site.

                • [^] # Re: Quel langage ?

                  Posté par  . Évalué à 1 (+0/-0).

                  Je ne connaissais pas. Au début, sur la page d'accueil, en lisant

                  Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.

                  Je me suis dis tiens, c'est exactement ce que je disais :

                  […] des langages de programmation graphique/visuel ([…]) Similairement, pour ces âges (et plus) on a : Scratch, Blockly, Snap!, etc.

                  Mais en regardant la vidéo, ça confirme plutôt ce que je disais : on a un éditeur simple mais avec assistance syntaxique (ce n'est pas réservé aux EDI et je n'ai pas vu l'introspection de code et la complétion qui fait interférence) et une console pour tester (donc quasiment interactif)
                  Non, je vais au bout de la vidéo et c'est bien un EDI mais au sens des RADS. En tout cas ça montre qu'il faut trouver la chaîne (langage et outils) qui va bien pour la cible : j'ose pas imaginer le même public avec les mêmes exemples depuis Eclipse par exemple (en tout cas dans l'idée que j'avais d'utiliser un IDE)

                • [^] # Re: Quel langage ?

                  Posté par  . Évalué à 3 (+1/-0).

                  on tape quand meme dans le dur en leur montrant directement du code pour leur apprendre la programmation.

                  tout bon programmeur saura d'abord écrire une algorithme (une logique, decomposition de son probleme en probleme plus petits, etc)

                  le langage ne devient alors plus que la traduction de cette logique…

                  et je penses qu'il ne faut pas utiliser un langage pour apprendre la programmation, mais bien apprendre une logique, pour construire un algorithme, qui deviendra ensuite du code.

                  • [^] # Re: Quel langage ?

                    Posté par  (site Web personnel) . Évalué à 3 (+1/-0).

                    Attention à ne pas confondre un apprentissage pour devenir un "pro" d'un apprentissage pour découvrir et se faire plaisir.

                    Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

                    • [^] # Re: Quel langage ?

                      Posté par  . Évalué à 3 (+1/-0).

                      a 11ans, c'est quand meme plutot de l'apprentissage loisir, pour jouer plutot que de l'apprentissage PRO.

                      donc les outils comme scratch et autre montre bien la "logique" avant la programmation

  • # chacun ses gouts

    Posté par  . Évalué à 2 (+1/-0).

    perso j'use de cudatext ( qt2 et/ou gtk2 )
    https://www.fosshub.com/CudaText.html
    mais bon, chacun ses goûts et les vaches seront bien gardées

    tout ce qui est dans mon message : lettres, chiffres, caractères de ponctuation, signes typographiques... est entièrement libre de droit.

  • # humm...

    Posté par  . Évalué à 1 (+2/-4).

    Il est évidemment hors de question de les introduire à Vim ou Emacs pour un premier contact avec le développement.

    Pourquoi? À partir du moment où tu ne veux pas présenter un IDE t'a juste à présenter différents éditeurs de texte, vim, emacs, kate, notepad++… et les laisser faire leur choix; certes emacs gagne en puissance si on connaît déjà un peu le shell, mais sa séparation des buffers d'édition simple; et dès qu'on travaille sur plusieurs fichiers c'est vraiment pratique d'avoir tout le code sous les yeux dans une seule fenêtre; vim et kate le permetent aussi j'ai pas notepad++ mais il doit aussi le faire, et si c'est pour la programmation c'est cool d'avoir une reconnaissance auto des sorties du compilo pour cliquer et arriver sur la bonne ligne.

    Bref présentes les éditeurs et laisse les choisir.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

    • [^] # Re: humm...

      Posté par  . Évalué à 5 (+3/-0). Dernière modification le 10/05/21 à 15:49.

      initiation
      débutant
      ne pas perturber cet objectif principal

      Bref le but n'est pas de multiplier les quêtes secondaires.
      Je préfère qu'ils soient à l'aise avec l'essentiel avant de se perdre dans l'expérimentation de leurs outils.

      Ce commentaire passe-t-il les trois tamis de Socrate ? -- https://linuxfr.org/suivi/autoriser-la-correction-limitee-de-commentaires-apres-les-5min

      • [^] # Re: humm...

        Posté par  . Évalué à 2 (+1/-0).

        Ça n'invalide aucunement la réponse donnée : tout éditeur de texte fera l'affaire, et ce n'est pas le choix qui manque, que ce soit en interface graphique et selon le bureau utilisé qu'en console.
        Atom, bluefish, brackets, Code, CudaText, FeatherPad, Geany, GEdit, gViM, Kakoune Code Editor, Kate, Kwrite, Leafpad, Lime, Light Table, Medit, Notepadqq, SublimeText, VisualStudioCode, etc.

        • [^] # Re: humm...

          Posté par  . Évalué à 1 (+0/-0).

          Pardon, %s/aucunement/pas vraiment/ Si les unes et les autres ne doivent pas choisir pas de souci, à toi de faire le choix. Ça tombe bien, tu es mieux placé pour savoir ce qui leur sera simple ou pas, et surtout tu feras un choix sur lequel tu peux les accompagner (car excepté MS notepad.exe et encore, il n'existe rien de vraiment simplet si on n'a jamais utilisé un éditeur de texte)

        • [^] # Re: humm...

          Posté par  (site Web personnel) . Évalué à 2 (+0/-0).

          A cette belle liste, je rajouterais mousepad, le petit éditeur de texte de Xfce.

          Certains le qualifient de rudimentaire, d'autres de minimaliste, mais je l'utilise au quotidien, et globalement il fait bien le job, tant qu'on reste dans l'édition de code source, quelque soit le langage (sauf peut-être APL).

          Il a bien quelques petits défauts, quelques lacunes, mais pour le moment, c'est ce que j'ai trouvé de mieux pour des gens de la vrai vie qui veulent juste écrire 20 lignes de bash.

      • [^] # Re: humm...

        Posté par  . Évalué à 4 (+1/-0). Dernière modification le 14/05/21 à 10:03.

        initiation
        débutant
        ne pas perturber cet objectif principal

        Justement, si ils son débutant, quel que soit l'éditeur, s'ils n'ont pas les réflexes des autres l'un ou l'autre ne change rien mis à part vi/vim qui sont un peu particulier, mais qui séparent bien l'édition de la visualisation (codage/réflexion)

        Quand tu ouvre ton emacs, sauf configuration particulière tu as les icônes pour sauvegarder, ouvrir, même pas besoin d'aller les chercher dans des menus…

        Utiliser emacs est à la portée du premier venu; la maitrise est un autre histoire.

        Bref tu décide toi même ce qui va les perturber ou non.

        Lorsque j'ai appris l'informatique, les 'anciens' nous ont recommandé vi ou emacs, j'ai pris emacs parce que ça avait une fenêtre séparée et que je ne maitrisait absolument rien. ça ne m'a pas perturbé dans mon apprentissage, je ne faisait qu'ouvrir, sauver, rechercher; et même maintenant il y a moyen d'avoir les raccourcis standard dans emacs…

        Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • # Langage vs. IDE

    Posté par  . Évalué à 2 (+0/-0).

    Puisque l'objectif est bien de les initier à la programmation et non à l'utilisation d'un IDE, à mon avis, il suffit d'un simple éditeur de texte avec coloration syntaxique + un analyseur de code source basé sur exuberant ctags. Par exemple gedit avec les bons greffons sur Gnome. À la rigueur aller un peu plus loin avec Geany pour un greffon gestionnaire de projet.

  • # le scratch

    Posté par  . Évalué à 2 (+0/-0). Dernière modification le 10/05/21 à 16:15.

    L'objectif principal doit rester la capacité à rapidement développer un logiciel utile tout en s'amusant et poser des bases solides de programmation indépendantes du langage adopté.

    le SCRATCH c'est des briques de puzzle indenpandant du langage, facile apprehender

    Quel type d'éditeur de code pourriez vous conseiller à ces entités, de manière à ce que la prise en main de cet outil indispensable ne vienne pas perturber cet objectif principal ?

    => le SCRATCH
    => https://scratch.mit.edu

    Il est évidemment hors de question de les introduire à Vim ou Emacs pour un premier contact avec le développement.

    bon sinon n'importe quel éditeur de texte est un éditeur de code
    mais tu n'as alors pas la coloration syntaxique pour valider que le code existe
    tu n'as pas d'outils pour valider que le code va fonctionner.

    ensuite tu passes le code au compilateur spécifique du langage, et il te dit si y a des erreurs.

  • # Commentaire supprimé

    Posté par  . Évalué à -2 (+0/-3). Dernière modification le 27/05/21 à 16:52.

    Ce commentaire a été supprimé par l’équipe de modération.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.