Forum Programmation.autre Quel langage apprendre ?

Posté par  .
Étiquettes : aucune
0
30
juil.
2006
Bonjour,


En dehors du VBA/Excel et du HTML, je ne connais aucun "vrai" langage de programmation. J'aimerai développer des petits programmes et pour ça je suis prêt à apprendre un langage. Seulement voilà, je ne sais pas vers quel langage me tourner.

Deux contraintes : les programmes que je développerai devront être exécutés aussi bien sous Linux que sous Windows et les entrées/sorties du programme devront pouvoir être enregistrées et modifiées ultérieurement.

J'avais pensé à Java, mais je ne crois pas que la deuxième contrainte puisse être satisfaite.

Qu'en pensez-vous ? Avez-vous une bonne idée à me soumettre ? Un conseil ?

D'avance, merci.


Rénald.
  • # Java, python

    Posté par  (site web personnel) . Évalué à 2.

    Je ne vois pas en quoi java ne répondrait pas au deuxième critère, ou bien j'ai mal compris ta demande.

    Sinon, il y a python aussi. Et tu peux faire des interfaces graphiques avec (WXpython si mes souvenirs sont bons... À vérifier)
    • [^] # Re: Java, python

      Posté par  (site web personnel) . Évalué à 2.

      idem, je ne saisie pas le
      les entrées/sorties du programme devront pouvoir être enregistrées et modifiées ultérieurement

      C'est quoi sinon un "vrai" langage ?

      Personnellement j'aime beaucoup Java, et j'aime aussi beaucoup python.

      La syntaxe de python est peut-etre plus "marrante" à apprendre, que celle de java, mais apprendre java c'est apprendre une syntaxe plus passe partout (proche du C/C++/C# notamment)

      Pour les interfaces graphiques sous python en plus de wxPython il y a PyGTK, ou bien TK (par défaut avec python)
      • [^] # Re: Java, python

        Posté par  . Évalué à 1.

        et je rajouterai C# avec mono,php ,perl ...
        C'est un peu vague ta question .
        que doivent faire tes programmes :
        plutot orientés "taches de fond" ou plus orientés "utilisateur final" avec gestion des fenêtres
        • [^] # Re: Java, python

          Posté par  . Évalué à 1.

          Les programmes que j'envisage de développer seront plutot orientés "utilisateur final".

          En fait quand je dis les entrées/sorties du programme devront pouvoir être enregistrées et modifiées ultérieurement, je parle de données entrées par l'utilisateur et de données (résultat) retournées par le programme à partir de formules mathématiques.

          Par exemple on rentre les résultats des matchs de poule de la coupe du monde de foot et on obtient les matchs des huitièmes de finale avec les probabilités de victoire et des choses comme ca... Ensuite, au fur et à mesure des matchs, on entre les résultats effectifs sans avoir à re-rentrer les résultats des matchs de poule et on obtient les matchs de quart de finale, et ainsi de suite... (en réalité ce que je veux faire est beaucoup plus compliqué mais je pense que le foot est un exemple parlant)
          • [^] # Re: Java, python

            Posté par  (site web personnel) . Évalué à 3.

            Je dirais que tu peux te lancer sur du php...

            Tu a deux solutions :
            - utiliser une partie html pour l'intéraction avec l'utilisateur
            - utiliser une partie gtk (qt ?) pour l'intéraction avec l'utilisateur

            Après tu peux utiliser un fichier texte tout bête pour stocker les résultats ou du sql (sqlite, mysql).

            Ça te demandera un navigateur web et des connaissance en (x)html/css/php/sql pour le premier ou gtk/php/sql pour la seconde solution.

            De plus la doc de php est bien faite : http://fr.php.net/str_repeat
            (remplace str_repeat par le nom de la fonction inconue et zou tu a une doc correcte dessus)

            En plus en php pas de gestion de mémoire, si tu tourne en 5 toute assignation est faite par adresse, simple...

            Php est relativement proche du perl (enfin a pas mal de similitude) et est rapide a apprendre (mais long a maîtriser comme tout langage).

            J'ai une certaine aversion pour python, que je trouve très compliqué et d'une syntaxe douteuse...

            Un langage c'est comme tout, teste, vois si ça te plaît et si ça te parait trop complexe regarde en un autre...
          • [^] # Re: Java, python

            Posté par  (site web personnel) . Évalué à 2.

            J'ai une certaine aversion pour python, que je trouve très compliqué et d'une syntaxe douteuse...

            C'est bien une des premières fois que j'entends dire que python est compliqué :)

            Sinon effectivement le mieux est d'essayer un peu tout, et vois la syntaxe qui te plait.

            En revanche, maintenant que j'ai compris ce que tu voulais dire par entrées/sorties, je m'exclaffe : pourquoi diable java ne pourrait-il faire ca ?!

            Ce n'est pas un langage en carton, et n'importe quel langage (même VB !) peut écrire dans un fichier et ensuite relire ce même fichier. Toute la technique est de concevoir le format dans lequel tu vas écrire ces données, pour ensuite savoir le relire efficacement.

            Et si t'es fainéant et que ton programme évolue peu, grâce à java tu peux même sérialisé ton objet CoupeDuMonde dans un fichier. En 2 lignes de codes tout est sauvé dans un fichier, et en 2 lignes de code tout est relu puis remonté en mémoire.

            Bref, tu as l'embarras du choix, si on se base que sur tes seuls 2 "besoins"
          • [^] # Re: Java, python

            Posté par  . Évalué à 1.

            Si je comprends bien, tu veux stocker des informations. Il y a deux solutions :
            - stocker les informations dans des fichiers
            - stocker les informations dans une base de données (MySql ou Postgresql par ex)
            La deuxième option est plus lourde pour un débutant, mais beaucoup plus puissante et "facile" par la suite (recherche et insertion d'informations).

            Dans les deux cas de figure, Java est un bon langage, si tu veux une application autonome. Tu n'auras pas à recompiler ton soft en passant de windows à linux, et tu apprendras un "vrai" langage.

            Si tu t'orientes vers un programme dans une interface web, PHP est plus simple que java.

            Dans les deux cas, la syntaxe s'inspire du C.
            • [^] # Re: Java, python

              Posté par  . Évalué à 1.

              Merci pour toutes vos réponses. Je crois que je vais commencer par étudier Java. C'est un langage qui me parait universel, bien maintenu et qui me permettra eput-etre d'évoluer vers d'autres langages (mais c'est pas prévu pour l'instant)
              Dernière petite question : est-ce que quelqu'un a un ouvrage (papier) à me conseiller pour débuter avec Java ? Je me doute que j'en trouverai dans les rayons spécialisés de la Fnac par exemple, mais si vous avez des mauvaises expériences avec un bouquin, ce serait cool de m'éviter de tomber dedant.
              Merci.

              Rénald
              • [^] # Re: Java, python

                Posté par  (site web personnel) . Évalué à 1.

                Tu ne dis pas trop quel est ton niveau, mais si tu ne connais rien à la programation, il est indispensable de faire quelques gammes (quel que soit le langage).

                Certains trucs peuvent paraitre chiant, mais il est vraiment indispensable de les avoir codés au moins une fois :

                _ la suite de fibonatcci (iteration, récursivité )
                _ le calcul de factorielle (récursivité et récursivité terminale)
                _ la recherche de nombre premiers (méthode brute puis optimisation)
                _ tous les tris (manipulation des s/pointeurs/réferences/g, permutations)
                _ la recherche par dichotomie (parcours d'un tableau)
                _ une pile (structures fondamentale)
                _ une liste chainée (et doublement chainée)
                _ les arbres avl (ajout, recherche, suppression)
                _...

                Je te conseille donc de commencer par un bon bouquin d'algorithmique et d'essayer de traduire les algorithmes présentés en java ou en tout autre langage. C'est pas tres user-friendlly, mais ça dégourdi grandement.



                Voilà, c'était le conseil à deux francs du jour.
  • # En librairie en ce moment

    Posté par  . Évalué à 3.

    Ce mois-ci, le magazine Programmez sort avec un comparatif des différents langages de programmation : "Choisir son langage : de Ajax à XUL"

    Je ne l'ai pas lu, donc, je sais pas ce que cela vaut. Mais sans doute cela pourra t'aider à faire ton choix.
  • # Ruby ?

    Posté par  (site web personnel) . Évalué à 2.

    Et pourquoi pas Ruby ?

    Je connais à peine ce langage et il me semble très très bien. A la fois très objet et orienté script.

    Une référence pour débuter : http://www.ruby-doc.org/docs/ApprendreProgrammer/Apprendre_%(...)

    Ce langage permet aussi de faire du web. Par contre, le risque c'est qu'il y ait peu de FAI qui propose le Ruby.
  • # apprendre Python

    Posté par  (Mastodon) . Évalué à -1.

    Essaye de t'initier à Python avec un livre bien fait:
    http://www.cifen.ulg.ac.be/inforef/swi/python.htm dont la version papier est disponible chez O'Reilly. J'ai trouvé l'approche assez interessante: tu apprendras vite à faire des bouts de code qui marchent, tout en découvrant les charmes cachés du fourche-langue.

    Sinon, dans un autre genre: http://tontonth.free.fr/morefun.pdf :)

Suivre le flux des commentaires

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