Age pour la programmation

Résolu
Bonjour,
je me présente, j'ai 13 ans et j'ai décidé de commencer la programmation.
Ma question est de savoir à quel âge est t-il possible de programmer, et surtout à partir de 13ans ,
jusqu'où est puis je aller dans la programmation, c'est à dire, est ce que je peu aller jusqu'à un niveau qui me permettrai de construire des logiciels.Pour information, j'ai déjà commencer à apprendre comment créé un site web sur le site du zéro et je voulais également savoir si ce site était bien pour un débutant comme moi??

Merci de répondre à mes questions.
Configuration: Windows Vista
Firefox 3.0.3
Nvidia GEFORCE 8600gs
3go RAM
Disque dur:500go

28 réponses

Résumé de la discussion

Le questionnement central porte sur l'âge minimal pour programmer et sur les possibilités pour un débutant de 13 ans d'évoluer jusqu'à concevoir des logiciels autonomes utiles. Plusieurs interventions préconisent de débuter par des langages de haut niveau comme Python, plus accessible et réducteur de lignes, avant d'envisager C/C++ ou Java parmi d'autres. D'autres soutiennent que C et C++ peuvent être utiles pour des tâches spécifiques et des compétences en architecture, mais que les projets modernes privilégient les API et les bibliothèques, et que Python reste efficace. D'autres précisent que l'apprentissage est progressif et qu'il faut aligner le choix du langage sur le type de projet envisagé, avec des ressources adaptées et des projets concrets pour gagner en pratique.

Bobot (l’IA à votre service)
  1. D'accord, merci beaucoup, j'ai eu toutes les réponses que je te demandais. Merci encore.
    1. Modérateur
      Quand on programme, on essaie de résoudre un problème concret.

      Le C est un langage bas niveau, c'est à dire qu'au lieu de résoudre un problème concret, on passe du temps avec des choses accessoires, purement techniques et peu intéressantes (allocation/libération mémoire, etc.)

      Tous les langage de "haut niveau" (C#, Java, Python, Ruby...) ont des mécanismes plus efficaces (le garbage collector pour l'allocation mémoire, par exemple).

      Le langage C et C++ permettent de créé quoi comme logiciels, quel genre ?

      Tout, comme avec pratiquement n'importe quel autre langage.

      Pour toi pourquoi me conseilles tu de prendre le langage python ?

      Plus facile à apprendre.
      Permet d'aborder un par un les différents concepts (variable, entrée/sortie, structures conditionnelles, boucles, fonctions, valeur de retour, récursivité... puis la programmation objet).

      Il est portable (Windows, Linux, MacOSX, etc.)
      Il possède un grand nombre de librairies (graphique, son, réseau...).

      Python s'apprend mieux que les autres langages.

      Pourquoi penses tu que Python est plus efficace que C/C++?

      Pour résoudre un même problème, on utilise en Python généralement 30% de lignes de code de moins que le C/C++.
      Moins de lignes de code = moins de bugs = code plus facile à comprendre = code plus facile à maintenir.
      1. Tout à fait d'accord sur tout ce que tu as dit, je préciserais tout de même qu'un code C (bien écrit évidemment) sera "beaucoup" plus rapide à s'exécuter qu'un code en Python. Bien sûr la différence sera rarement critique (sauf drivers, temps réel...) et c'est sans grande importance pour l'apprentissage, c'était juste pour donner les avantages du C ^^.

        J'ajouterai aussi que le C peut être intéressant à apprendre dans la mesure où le noyau Linux est développé en C ainsi qu'un très grand nombre d'applications.

        Cela dit je plussoie sebsauvage, je te conseille de commencer par Python (c'est beau, c'est propre, c'est un plaisir ^^)
      2. Modérateur
        @pyschopatheun code C (bien écrit évidemment) sera "beaucoup" plus rapide à s'exécuter qu'un code en Python

        Exacte.
        Et également plus efficace en consommation mémoire.
    2. Modérateur
      alors que passer de C à un autre langage parait plus facile.

      C'est pas forcément vrai.
      Appliquer les principes du C à un langage objet, c'est l'horreur (Je le sais pour avoir vu le code de personnes qui ont appris le C et on abordé la programmation C++ avec les principes du C.).

      Dans mon ancien IUT, ayant constaté les dégâts, ils ont arrêté d'apprendre le C avant le C++, et ils ont choisi de commencer par le C++.

      Mon avis sur le C: A part pour certaines tâches spécifique (drivers, bas niveau, embarqué), ça ne se justifie plus vraiment.
      Et la gestion des pointeurs est à l'origine de 90% des failles de sécurité actuelles, sans compter que du point de vu du programmeur, c'est une formidable perte de temps.
      (Je parle d'expérience pour avoir travaillé sur des projet C, C++, C#, Java et Python. Je peux comparer.)

      Anecdote: Bruce Eckel est un développeur connu, membre du comité ANSI C++, et qui a écrit des livres réputés sur C++ et Java ("Thinking in C++" et "Thinking in Java").
      Il dit que depuis qu'il a découvert Python, il a l'impression d'avoir perdu son temps dans les autres langages, et que Python lui permet d'être plus efficace.

      Et puis surtout ça me plairait de faire des jeux en 3D ou des trucs du genre et pour cela il faut plutôt être vers le C/C++.

      Ne te focalise pas trop sur les jeux 3D.
      Les jeux 3D, c'est moins de 1% de toute l'informatique actuelle.

      Pour faire de la 3D, l'important c'est pas de connaître le C/C++, mais surtout les API (DirectX, OpenGL...).

      Bien sûr, tout cela n'est que mon avis, hein.
      Libre à qui le veut de donner le sien :-)
      1. D'accord, merci beaucoup, mais pour mon niveau et ce que je veus faire avec la programmation, ne penses tu pas que les détails que tu m'expliques ne changeraient pas grand chose (pour moi)?Mais surtout pourrais tu être un peu plus clair en parlant de :
        Mon avis sur le C: A part pour certaines tâches spécifique (drivers, bas niveau, embarqué), ça ne se justifie plus vraiment.
        Et la gestion des pointeurs est à l'origine de 90% des failles de sécurité actuelles, sans compter que du point de vu du programmeur, c'est une formidable perte de temps.

        Sa ne veus pas dire que tu n'es pas clair mais pour moi qui n'est que 13 ans, je ne comprend pas tout sa. Mais aussi j'ai encore beaucoup de questions qui me traversent l'esprit.
        -Le langage C et C++ permettent de créé quoi comme logiciels, quel genre ?
        -Pour toi pourquoi me conseilles tu de prendre le langage python ?Car en fait jusqu'ici, tu n'as pas donné de raisons trop précises de pourquoi tu préfèrerais python?
        -Quels sont les inconvénients et les défauts de Python et de C/C++?
        -J'aimerais d'autres conseils aussi sur pourquoi choisir python ou C/C++
        -Pourquoi penses tu que Python est plus efficace que C/C++?

        Voila et si tu avais d'autres idées pour m'aider à me décider, n'hésite pas car la j'hésite vraiment et il me faudrai en savoir sur les 2 pour pouvoir choisir.
        Si jamais cela te dérange de me répondre, dit le moi, mais si jamais tu veus bien répondre à toutes mes questions, j'en serais très heureux.

        cordialement,roro120
    3. Je ne peux pas vraiment donner de conseils ! J'avoue que je n'ai jamais fait que du C "basique", pas de variantes C++ ou C#... et maintenant je n'utilise plus que java. Et je n'ai jamais fait de jeux non plus, donc je ne sais pas ce qui s'utilise pour les jeux.

      Avec l'aide de ton frère et du site du zéro, tu devrais y arriver sans trop de mal pour le C. Quand tu arriveras aux pointeurs, c'est là que les choses se corseront... mais ce n'est pas pour le début !

      Bon courage !
      1. Oui, c'est surtout que je pourrai me faire aider par mon frère, et d'accord on peut trouver plus difficile que le C, mais ce que je veut dire c'est que en commençant par le C, les autres langages paraissent plus facile quand on le maîtrise.La preuve ils en parlent dans un sujet : http://www.commentcamarche.net/faq/sujet 457 programmation comment debuter quel langage
        Regardez ce lien, ils marquent ce que je vient de vous dire et ils disent aussi que quand on fait du langage python, repasser à un autre langage devient vite pesant alors que passer de C à un autre langage parait plus facile.
        Et puis surtout ça me plairait de faire des jeux en 3D ou des trucs du genre et pour cela il faut plutôt être vers le C/C++.
        1. SebSauvage est ironique en disant que le C est beaucoup trop facile. Il veut dire qu'on peut toujours trouver plus difficile... Et aussi que si on fait des outils plus simples à utiliser aujourd'hui, c'est pour nous éviter de "réinventer la roue" : autant utiliser ce qui est déjà fait !

          Moi j'ai commencé en apprenant le C, mais si Python fait un peu plus de choses, c'est sûrement mieux pour commencer. Parce que le C, c'est quand même un peu difficile... Je n'ai jamais fait de Python, mais je te conseille de suivre le conseil de SebSauvage ! (A moins bien sûr que tu veuilles te faire aider par ton frère.)
          1. Donc pour toi, tu trouves que c'est le C qui est le plus facile et qui te mâche le travail??As tu déjà essayer de programmer en C et donc tu n'es pas d'accord avec l'avis de mon frère?
            1. Modérateur
              car il fait beaucoup de choses tout seul et donc est plus facile

              Allons jusqu'au bout du raisonnement de ton frère:

              Le C fait beaucoup trop de chose tout seul, c'est trop facile: Tu devrais carrément faire de l'assembleur, parceque le C te mâche le travail (gestion automatique des registres, de la pile, conversion numérique-->ascii, calculs flottants...)

              :-D
              1. J'ai été très content de toutes vos réponses mais ce matin, j'ai pu parler à mon frère qui commence à programmer en 1ere année d'école d'ingénieur et il m'a conseillé de ne pas commencer par le python car il fait beaucoup de choses tout seul et donc est plus facile. Et donc il ma plutôt conseiller de commencer par le C car il y a plus de subtilités, et donc je serai plus à l'aise par la suite si je changeais de langage et lui aussi commence le langage C donc il pourrait m'aider.
                Voila donc merci de me dire ce que vous pensez de cet avis là.
                1. Au contraire, commencer par un langage pas trop compliqué te permettra de mieux cerner le principe de la programmation, après libre à toi d'apprendre des langages plus proches de la machine ! Par contre effectivement le fait que ton frère connaisse le C peut te permettre d'avancer plus rapidement...
              2. Oui , c'est vrai, kilian a raison, moi j'ai commencé le langage html et css sur le site du zéro et je trouve que c'était très bien.Donc si c'est juste pour dire que le web c'est une poubelle sa sert à rien de venir répondre.
                1. D'accord merci beaucoup et je vien de m'inscrire hier à ciomment sa marche et je ne suis pas du tout déçu car vous me répondez tous très gentiment et rapidement.
                  1. Surtout eviter les sites genre siteduzero (niveau nullissime (matertnelle), mélange de C, C++, QT, SDL, des enormités à tout bout de champ...bref du grand n'importe quoi)
                    il suffit de voir le code pondu par les gosses qui ont lu les tutos catastrophiques et qui sortent "ça y est je connais le C++" : ça fait peur !)
                    Quand ils vont passer des tests d'embauche en client SSII et sortir du QT quand on leur demandera du C++, ils ne vont avoir l'air complètement neuneu)
                    La seule façon d'apprendre est avec les bouquins de Référence, en version US (K&R, Stroustrup, ...)
                    Le Web, c'est devenu une poubelle depuis 10 ans.
                  2. Modérateur
                    @MertexSurtout eviter les sites genre siteduzero (niveau nullissime (matertnelle)

                    Oui c'est le principe du truc: apprendre de zero :-)
                    Pour ce que j'en ai vu, je ne suis pas d'accord. On y trouve d'excellents tutoriaux. Pi si t'es pas content bah fait mieux.
                  3. @MertexTu crois vraiment que les gens qui apprennent l'informatique sur le site du zéro vont passer des tests d'embauche pour une SSII ^^ ? Soyons sérieux, ce site sert principalement à ceux qui veulent apprendre par goût, ce n'est pas une formation supérieure en informatique ! Et contrairement à beaucoup d'autres sites, il donne de bons conseils pour une programmation propre...
                2. Modérateur
                  Python est totalement gratuit.
                  Tu peux même créer des logiciels en Python et les vendre.

                  Il marche sous Windows, Linux, MacOSX et d'autres systèmes.
                  1. Modérateur
                    Java n'est pas mal, mais trop verbeux et lourd, surtout pour apprendre à programmer.

                    Un exemple:

                    En Java:
                    public class HelloWorld
                    {
                        public static void main (String[] args)
                        {
                            System.out.println("Hello, world!");
                        }
                    }
                    


                    La même chose en Python:

                    print "Hello, world!"


                    Java est lourd.
                    C++, pas mieux (et il n'y a pas de lib standard si on fait exception de stl).
                    C, non (non merci les malloc/free).
                    VisualBasic, une horreur.

                    (J'espère ne pas déclencher une guerre de religions).
                    1. Désolé encore mais j'ai une derniere question, est ce que python est payant ??Et sebsauvage merci beaucoup pour tous tes conseils.
                      1. Merci à tous et comme quoi kilian, certaines personnes se posent les même question et pas de problème comme le conseille sebsauvage je vais commencer par python.
                        1. Modérateur
                          python sert à programmer quoi?

                          Tout.
                          Tout ce que tu veux.

                          Par exemple un programme qui assemble des images prises au hasard sur internet:
                          https://sebsauvage.net/webgobbler/

                          Du partage de fichier: BitTorrent est écrit en Python.

                          Des programmes pour surveiller le système (j'en ai écrit un ou deux).

                          Des jeux, même des jeux 3D (exemples avec source sur https://www.pygame.org/news )

                          Des pages web, ou même un serveur web complet.

                          Faire du traitement automatique d'images.

                          etc.

                          On peu à peu près tout faire.

                          php est très orienté web. On peut aussi lui faire faire d'autres choses, mais il n'est pas vraiment adapté.

                          Ce que j'aime avec Python, c'est justement qu'il y a des tonnes de librairies (modules) pour faire plein de choses (par exemple pygame pour faire des jeux, urllib2 pour dialoguer avec des serveurs web, smtplib/imap pour envoyer et recevoir des emails, etc.)
                          1. tout dépend ce que tu veux programmer ,à la fac ,je programme en java car il est facile d'accès et qu'il est un bon compromis entre plusieurs languages de proggrammation. Je ne connais pas trop les autres langages de programmation mais on commence sur java par étudier la façon de programmer. le début est plutot chiant après ça va tout seul.
                            1. D'accord merci beaucoup et python sert à programmer quoi??Car tous les langages ne servent pas à programmer la même chose enfin le même genre de choses????
                              Et merci pour ta réponse sebsauvage
                              1. Modérateur
                                Globalement on est assez d'accord: Python :-)

                                php est assez abomifreux, en fait, même si de premier abord il paraît simple.
                                Python est simple à aborder aussi, mais plus "propre".
                                1. Et pour le langage, vous n'avez pas l'air tous d'accord et donc je voulais savoir vraiment quel langage est le mieux pour commencer et qui permet de faire un certain nombre de choses avec mais qui soit gratuit si possible.
                                  • 1
                                  • 2