Forum Programmation.autre Débuter en programmation

Posté par  .
Étiquettes : aucune
0
1
mar.
2006
Bonsoir,

Cela fait longtemps que je veux développer, aussi bien pour me simplifier la vie (faire des petits programmes rapides qui accomplissent des tâches simples, que pour faire des programmes un peu plus gros (plus tard...), et aussi pour le plaisir.

Je précise que je n'ai pas vraiment de base en programmation, juste un peu de HTML...
Je cherche par quel langage commencer.

Sur Internet et sur les forums, j'ai lu que le C était le plus présent dans le monde OpenSource (linux est bien codé en C ?), mais qu'il était assez difficile à apprendre pour un débutant.
Je veux bien y passer du temps si cela vaut la peine...
Beaucoup de personnes ont commencé en C. Si ce langage a de l'avenir, qu'il est très utilisé et très puissant, pourquoi pas ?


Certains conseillaient plutôt le Python, le Pascal...
Le python me paraît bien mais c'est un langage interprété... ce qui est assez contraignant pour l'utilisateur : obligation d'avoir un exécuteur sur sa machine... cela ne me plait pas trop.


Je préférerais ne pas me lancer dans un langage peu utilisé, ou qui a peu d'avenir. C'est pour cela que je vous demande votre avis.

Et vous, que me conseillez-vous pour commencer ?
Le C ?
Ou autre chose ?

Quels sont les langages qui sont à la fois beaucoup utilisés, simples, puissants, qui ont de l'avenir et qui sont de préférence "compilés" ?

PS : je préférerais un langage compilé parce que je pense que c'est plus pratique, mais si vous êtes d'un autre avis dites le moi...

Merci d'avance pour vos conseils.
  • # Ca depend de ce que tu veux faire :)

    Posté par  . Évalué à 3.

    Disons que chaque langage est plus ou moins adapte a une utilisation precise. Pour prendre l'exemple du C, tu peux a peu pres tout faire avec, c'est parfait pour faire des trucs bas niveau, (noyau, drivers, shell...), mais si c'est pour faire du traitement sur des fichiers, tu iras 10 fois plus vite avec du bash ou du Perl...
    Le python me parait effectivement un bon choix pour debuter, car attaquer direct avec du C, ca fait beaucoup de concept a assimiler en meme temps, et c'est beaucoup d'efforts a faire en plus car il faut gerer plein de trucs a la main (notamment la memoire avec malloc/free).
    • [^] # Re: Ca depend de ce que tu veux faire :)

      Posté par  . Évalué à 1.

      Tout d'abord merci de ta réponse,

      Bon, d'accord pour le C, je ne vais pas commencer par ca, mais plutot par le python.

      Disons que chaque langage est plus ou moins adapte a une utilisation precise. Pour prendre l'exemple du C, tu peux a peu pres tout faire avec, c'est parfait pour faire des trucs bas niveau, (noyau, drivers, shell...), mais si c'est pour faire du traitement sur des fichiers, tu iras 10 fois plus vite avec du bash ou du Perl...

      Et le Python se situe où dans tout ca ?

      Merci
      • [^] # Re: Ca depend de ce que tu veux faire :)

        Posté par  . Évalué à 1.

        Et le Python se situe où dans tout ca ?


        Il y a ce (grand) schéma qui permet de situer le python par rapport aux autres languages :
        http://www.oreilly.com/news/graphics/prog_lang_poster.pdf
        • [^] # Re: Ca depend de ce que tu veux faire :)

          Posté par  . Évalué à 3.

          je dirais que python est un langage généraliste qui permet de faire à peu près tout ce dont un débutant peut avoir besoin sans trop se prendre la tête. Tu peux utiliser les toolkit graphique les plus connus (gtk, wxWidget, qt il me semble), il est assez fourni en bibliothèques/classes additionnelles. Il dispose d'une syntaxe/philosophie plus simple à appréhender que Perl pour le débutant, et te permettra de comprendre facilement les concepts de base de la programmation. Note dans ton apprentissage que ce n'est pas tant sur le langage en lui même qu'il faut se focaliser mais plus sur les concepts qui sont derrière.

          Après selon tes besoins, tu pourraz passer a des langages plus "difficiles".
  • # A propos des langages interprétés

    Posté par  . Évalué à 3.


    Le python me paraît bien mais c'est un langage interprété... ce qui est assez contraignant pour l'utilisateur : obligation d'avoir un exécuteur sur sa machine... cela ne me plait pas trop.


    Avec python comme avec d'autres langages interprétés tu as la possibilité de fabriquer des executables qui embarquent un interpréteur avec le code de ton script. Du coup tu n'a plus pb pour le déploiement vers des utilisateurs éventuels.

    En général, les inconvénients des langages interprétés sont plus du coté des performances (encore que ca devient de moins en moins vrai puisque les runtimes modernes optimisent le code à la volée lors de l'execution)
    Pour tes besoins en tout cas, ca ne devrait pas être significatif.
    L'avantage par contre est que la boucle de developpement est raccourcie (ecriture >test vs ecriture>compilation>test) et parmi ces langages il y en plein qui offrent en général des structures de haut niveau qui te simplifient la vie (dictionnaires, tas, ensembles, ...).
    • [^] # Re: A propos des langages interprétés

      Posté par  . Évalué à 1.

      Avec python comme avec d'autres langages interprétés tu as la possibilité de fabriquer des executables qui embarquent un interpréteur avec le code de ton script. Du coup tu n'a plus pb pour le déploiement vers des utilisateurs éventuels.

      Mais c'est génial ca !
      Ca marche aussi bien que si on avait l'intépréteur python installé ?
      Et c'est assez peu contraignant pour le développeur ?

      En général, les inconvénients des langages interprétés sont plus du coté des performances (encore que ca devient de moins en moins vrai puisque les runtimes modernes optimisent le code à la volée lors de l'execution)
      Pour tes besoins en tout cas, ca ne devrait pas être significatif.

      Oui, pour mes besoins, je ne pense pas que les performances soient un gros souci...

      Pourrais-tu m'en dire plus sur cette possibilité de générer des éxécutables ? Cela m'intéresse vraiment, c'est le seul point qui me fait hésiter avant de me lancer dans python.

      Merci
      • [^] # Re: A propos des langages interprétés

        Posté par  . Évalué à 2.

        Ca marche aussi bien que si on avait l'intépréteur python installé ?
        Ben en fait c'est un programme qui parse ton script et qui vérifie tous les modules que tu utilises.
        A partir de là il génère un programme qui est est grosso modo une version compilée et allégée de l'interprète et qui archive la version semi-compilée des modules dont ton script dépend et le code semi-compilé de ton script.
        Ca génère un exécutable plus volumineux qu'un binaire issu d'un langage compilé (puisque y'a toujours une version de l'interpréteur).

        Le plus connu est dédié à la génération de binaire windows
        http://starship.python.net/crew/theller/py2exe/.
        Il est assez customisable et ru peux choisir de générer un exe et des dll si tu souhaites réuitilser du code.

        Les distribs Linux proposent tjs un interprète python donc le besoin est moindre, mais en fonction de la version de python il peut être préférable de créer des binaires exécutables.
        Tu as plusieurs projets qui proposent de genrerer des binaires mutliplateformes. En cherchant sur google tu devrais en trouver quelques uns
  • # Merci à tous

    Posté par  . Évalué à 2.

    Bonjour et merci à tous pour vos conseils,

    J'ai commencé à essayer quelques trucs en python, d'après le tutoriel de Gérard Swinnen.

    J'avais déjà vu un tout petit peu de C, et il est vrai que le python parait, même à un débutant comme moi, beaucoup plus simple : par exemple pour le typage dynamique. (qu'est ce que c'est bien ca !)

    Ce n'est peut etre qu'une impression... Mais tant mieux !

    Je vous remercie encore,
    à bientot,
    • [^] # Re: Merci à tous

      Posté par  . Évalué à 2.

      Si tu decides d'en faire ton livre de chevet, n'oublies pas de commander un exemplaire. C'est plus pratique et tu récompenseras ainsi son auteur.

      Bon codage !

Suivre le flux des commentaires

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