Choix du langage de programmation (débutant)
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Choix du langage de programmation (débutant)



  1. #1
    VIDAL_TECH

    Choix du langage de programmation (débutant)


    ------

    Bonsoir tout le monde,

    J'ai besoin en ce moment, et de plus en plus, de savoir programmer. J'ai déjà programmé de choses simples en python, Arduino, Processing, et JAVA ( avec eclipse ). Et voila le problème ; je suis en Génie civil, et j'aimerais savoir quelle serait le langage de programmation le plus adapté à cette fonction.

    Quelque chose d'assez polyvalent (pas comme Arduino), qui me permettrai de réaliser des graphiques, des calculs d'airs et de volume en fonction de données relevées en topographie, calcul de prix, calcul de flexion en fonction du béton, de l'acier etc etc... Pour l'instant j'utilise principalement Excel qui me permet de faire de choses relativement simples avec des fonctions (=si() =choisir() =index()..)

    Si quelqu'un pourrait donc me conseiller un langage de programmation ressemblant un peu au modèle Excel ( ou bien si celui ci est celui qu'il faut (VBA par exemple )) ?

    J'attends vos avis et vos expérience, merci d'avance.

    -----

  2. #2
    lou_ibmix_xi

    Re : Choix du langage de programmation (débutant)

    Salut

    je suis en Génie civil, et j'aimerais savoir quelle serait le langage de programmation le plus adapté à cette fonction.
    Les plus à même de répondre à cette question sont des professionnels du génie civil, ou des prof. Je ne suis ni l'un ni l'autre.

    Quelque chose d'assez polyvalent (pas comme Arduino), qui me permettrai de réaliser des graphiques, des calculs d'airs et de volume en fonction de données relevées en topographie, calcul de prix, calcul de flexion en fonction du béton, de l'acier etc etc...
    Je dirais MATLAB, c'est de l'interprété haut niveau (je pense un peu comparable à python), mais très orienté calcul numérique. C'est en plus une référence dans le monde académique et industriel (en tout cas celui que je côtoie). Bien sûr MATLAB est (très) cher, mais il existe sont clone gratuit (et à 99% compatible) OCTAVE.
    Puisque tu connais déjà python, il existe JULIA qui a la côte mais que je ne connais que de nom. J'ai déjà un peu joué avec R qui est très utilisé en statistique.

    Pour l'instant j'utilise principalement Excel qui me permet de faire de choses relativement simples avec des fonctions (=si() =choisir() =index()..)
    Si quelqu'un pourrait donc me conseiller un langage de programmation ressemblant un peu au modèle Excel ( ou bien si celui ci est celui qu'il faut (VBA par exemple )) ?
    Un tableur et un langage de programmation sont deux outils différents, adaptés à des problèmes différents.

    Pour la faire courte, et en précisant que c'est ma vision des choses, le tableur tu stockes et "dégrossis" tes données matérialisées dans un fichier formaté (.xls par exemple), puis avec ton outils de programmation tu utilises tes données, avec éventuellement une nécessité d'enregistrer le résultat dans un format proche pour optimiser le "flux de travail" (working flow).

    Pour faire le lien entre les deux mondes, tu as effectivement la "méthode MICROSOFT", donc tes données EXCEL (ou ACCESS ou autre), et .NET pour la programmation. Mais tu peux également accéder à EXCEL (au moins) avec MATLAB si tu achètes la boîte à outils. Je ne sais pas si une telle boîte à outils existe pour OCTAVE...

    Pour résumer: peux-tu (veux-tu) te passer d'EXCEL?
    Non: vérifie qu'il y a un moyen de lire/écrire des fichiers EXCEL avec le langage que tu veux utiliser.
    Oui: tu as certainement plusieurs manières de faire, perso j'utilise des fichiers type "csv", du bash pour faire en gros ce que je ferais sous EXCEL (pré-traitement ligne-à-ligne, graph simples), et OCTAVE pour les plus gros calculs. Les moyens de communiquer entre tout ce beau monde étant les entrée et sortie standard (stdio). L'intérêt que j'y trouve est que ça rends l'intégration des "communications textuelles" (trames NMEA des GPS, modem, http...) quasiment transparente, et ça me facilite souvent la vie.

  3. #3
    Paraboloide_Hyperbolique

    Re : Choix du langage de programmation (débutant)

    Bonsoir,

    Je conseillerais également Matlab ou l'équivalent gratuit octave. Le langage est un peu spécial (vectorisation) par rapport à d'autres langages plus "traditionnels". Ce logiciel est très utilisé dans le monde de l'ingénieur (dont mon département). De plus les toolbox Matlab développées par et pour les ingénieurs pullulent sur le net.

    Je rejoint l'avis de lou_ibmix_xi quant-à excel: c'est un tableur, pas du tout conçu pour le calcul numérique. Une fonction aussi "simple" que le tracé de fonctions est déjà problématique dans excel: il n'y a qu'à voir la fonction "signe".

  4. #4
    Bluedeep

    Re : Choix du langage de programmation (débutant)

    Bonsoir

    Je ne serais pas aussi affirmatif que les deux intervenants supra.
    Je ne connais rien aux besoins du génie civil, mais la question est : as tu besoin de faire du calcul formel ou pas ? ou ton besoin est il limité au calcul numérique ? as tu des besoins de calcul de type modélisation sur de très grandes séries de données ?

    - dans le premier cas (calcul formel), je suis d'accord Matlab est une solution.

    - sinon, beaucoup de langages conviennent (par exemple, les modèles réalisés en temps très contraint pour le calcul financier sont souvent "torchés" en VBA - quand on a besoin de faire du "quick and dirty" c'est très adapté - le "quick" ici s'applique au temps de réalisation, pas à la performance en exécution -quant un trader a besoin d'un "solver" pour demain, ou mieux hier, son équipe IT va travailler en VBA).

    - Si tu dois travailler sur des modélisations utilisant de grandes séries de données, ni Matlab ni VBA ne conviennent : pas assez performant, sauf à pouvoir faire tourner des programmes de modélisation pendant 48h (ou plus).

    Bref, un peu plus de précision sur tes besoins sont nécessaires. (sachant que les moyens de calculs à ta disposition rentrent en ligne de compte : si tu dispose de fermes de calcul où tu peux demander instantanément la création d'une VM 8 CPU, des langages peu performants mais puissant comme Python conviennent très bien).

    Bref, il faut connaitre les contraintes (la règle générale étant que plus un outil permet de réaliser rapidement une réponse à un besoin, moins il est performant dans l'exécution).
    Dernière modification par Bluedeep ; 02/06/2014 à 21h24.

  5. A voir en vidéo sur Futura
  6. #5
    VIDAL_TECH

    Re : Choix du langage de programmation (débutant)

    Bonsoir,
    Pour commencer, merci pour vos réponses, j'y vois déjà plus clair. C'est vrai que maintenant il y à tellement de logiciels de programmations, et, comme tout, ça suit des modes, donc on ne sait plus trop le(s)quelle(s) choisir. Je suis novice dans ce monde, mais de ce que j'ai entendu, le langage le plus répandu, dans le monde de l’ingénierie en tout cas, est le C, je me trompe ?

    il existe JULIA qui a la côte mais que je ne connais que de nom. J'ai déjà un peu joué avec R qui est très utilisé en statistique.
    Justement, ces deux logiciels ne sont ils pas trop tournés vers la réalisation de statistiques. D'après ce que j'ai lu, c'est dans ce domaine qu'il sont spécialisés. Il est pratique pour la récupération de codes déja fait puis partager par le créateur. Mais en Génie civil, les stats, on en fait très peu. Surement qu'il sait faire autre chose, mais Octave m'à l'air plus apte pour ce que je fais. Graphique dans l'espace, et dans le temps, avec convergence des courbes, et matrice. (n'est il pas trop "mathématique" celui ci ? Tout comme toi lou_ibmix_xi, j'aimerais faire un mixe de deux logiciels, Excel qui trie, et le second qui analyse. Excel + Otave ca m'a d'être la solution.

    excel: c'est un tableur, pas du tout conçu pour le calcul numérique.
    En effet, et un problème simple par exemple : lorsque je rajoute 1 conditions il faut que je modifie 4 cellule, lorsque j'en rajoute encore 1, il faut que j'en modifie 8 etc etc.. J'atteinds vite saturation.

    as tu besoin de faire du calcul formel ou pas ? ou ton besoin est il limité au calcul numérique ?
    Et bein justement, je fais des deux. C'est très large le Génie Civil c'est pourquoi j'aimerais un logiciel "souple". On fait de la thermodynamique, de l'hydro, de l'elec, de la mécanique des structures, de l’étude de prix, planification et optimisation, topographie et j'en passe !

    Bref, un peu plus de précision sur tes besoins sont nécessaires
    Je travaille sur une centaine de données maximum, la precision n'est pas primoriale (10^-10 suffit amplement), je possède un ordi portable core i7 1.9/2.4 GHz 6G de ram Windows 8.1 x64.

    Donc voila Un logiciel de programmation souple tourné vers l'ingenierie qui se couple bien avec Excel, où la rapidité est privilégiée à la qualité.

    Merci de vos reponses encore, et bonne soirée à vous.

  7. #6
    lou_ibmix_xi

    Re : Choix du langage de programmation (débutant)

    Je suis novice dans ce monde, mais de ce que j'ai entendu, le langage le plus répandu, dans le monde de l’ingénierie en tout cas, est le C, je me trompe ?
    La réponse courte est non... Il y a bien longtemps, on a créé le FORTRAN pour faciliter la vie aux ingénieurs et autres physiciens lorsqu'ils devaient faire faire à un ordinateur du calcul. Puis le C est apparu, et par son histoire il a remplacé (en partie) FORTRAN auprès du public technico-scientifique. Mais c'était il y a bien longtemps... Entre temps les machines sont devenues beaucoup plus rapide (ce qui rends utilisable des langages interprétés comme MATLAB), et le nb de langage de programmation a explosé. Le C reste certainement LE langage le plus utilisé dans l'informatique "bas niveau" (ce qui est UN domaine d'ingénieurie parmis une foultitude d'autre), mais pour le reste à chaque domaine d'expertise son langage privilégié... R pour les stats, langages formels/fonctionnels en mathématique, perl/php/python/javascript pour les appli web... Utiliser le C pour autre chose que de la programmation bas-niveau n'est certainement pas approprié, et c'est un fan de C qui parle.

    Justement, ces deux logiciels ne sont ils pas trop tournés vers la réalisation de statistiques.
    Ce ne sont pas des logiciels mais des langages de programmation. Ces langages sont tous deux orientés "ingénieurie", mais R a eu un succès certain dans le monde des stat (d'où effectivement la présence de bibliothèques essentiellement pour ce domaine). JULIA semble plutôt être un "remplaçant potentiel" de ce type de langage orienté "ingénieurie" (R, MATLAB...) car il s'appuie sur PYTHON (donc permet certainement de faire également de la programmation plus générale), il semble pouvoir s'interfacer facilement avec du C/FORTRAN (ce qui n'est pas évident en général pour les langages interprétés), etc...

    n'est il pas trop "mathématique"...
    ...Et bein justement, je fais des deux. C'est très large le Génie Civil c'est pourquoi j'aimerais un logiciel "souple". On fait de la thermodynamique, de l'hydro, de l'elec, de la mécanique des structures, de l’étude de prix, planification et optimisation, topographie et j'en passe !
    Je ne sais pas ce que tu entends par "mathémathique". Il existe 2 familles de calcul, le calcul numérique (faire des calculs) et le calcul formel (simplifier des équations), dit autrement, un logiciel de calcul numérique va calculer le résultats d'une intégrale par une méthode d'approximation (0.78540 par exemple), celui de calcul formel trouvera la fonction primitive pour évaluer l'intégrale et donner le résultat sous forme symbolique (PI/4 par exemple). Le calcul formel ne sert que très rarement dans nos métiers d'ingénieurs. Pour faire du calcul formel tu as par exemple MATHEMATICA ou MAXIMA, mais tu peux également en faire avec MATLAB (si tu as la boîte à outils pour).

    Tout comme toi lou_ibmix_xi, j'aimerais faire un mixe de deux logiciels, Excel qui trie, et le second qui analyse. Excel + Otave ca m'a d'être la solution.
    Je pense que tu n'as pas compris ce que je voulais dire... Il faut séparer le problème en deux: le format des données et le traitement des données. Puisque ces données sont stockées sous un certain format il te faut une passerelle pour y accéder. EXCEL est une solution potentielle mais que personnellement je trouve peu pertinente dans une immense majoritée des cas (je pourrais en détailler le pourquoi si ça t'intéresse). Le fait qu'EXCEL trie ou puisse faire quelques prétraitements n'est qu'accessoire.

    Donc voila Un logiciel de programmation souple tourné vers l'ingenierie qui se couple bien avec Excel
    Comme je te le disais dans mon précédent poste, si tu t'imposes l'utilisation EXCEL alors il faudra vérifier que le langage que tu veux utiliser possède de quoi lire / écrire des fichiers EXCEL, et c'est loin d'être évident (sauf si tu pars sur .NET que je déconseille également). Si tu fais comme moi et que tu t'appuies sur des formats de données triviaux (fichiers texte), ou pseudo standard (fichier WAV, CDF...) alors tu n'est plus contraint.

    où la rapidité est privilégiée à la qualité.
    Rapidité de quoi ? de développement ? d'éxécution ?
    Qualité de quoi ? de l'environnement de travail ?
    Ce n'est de toute façon pas la bonne façon de voire les choses. En général il faut choisir entre vitesse de développement et vitesse d'exécution (bien que JULIA semble être justement bon dans les deux). Pour ce qui est de la qualité je ne vois pas trop ce à quoi tu fais référence... Un langage est un outils, comme tout outils il sera plus ou moins adapté à ton problème, et comme tout outils il aura ses qualitées et ses défauts, ses compromis pris lors de sa conception...

  8. #7
    toothpick-charlie

    Re : Choix du langage de programmation (débutant)

    Dans mon domaine (écologie et génétique des populations) les gens utilisent surtout R. Il me semble que les physiciens utilisent plutot Matlab (ils sont plus riches que les biologistes faut croire). Je pense qu'en général on a intérêt à utiliser les outils les plus répandus dans sa discipline.

  9. #8
    deyni

    Re : Choix du langage de programmation (débutant)

    Je pense qu'il faut plutôt matlab, il devient presque incontournable dans tous les domaines. Je connais des étudiants en mécanique, qui utilise beaucoup matlab. Je pense (mais je peux me tromper je ne suis qu'étudiant), qu'il faut matlab (octave).

    @toothpick-charlie: je doute que c'est parce qu’ils sont plus riches le physiciens, je pense qu'ils cherchent plutôt une "licence libre sur internet".
    Deynid'oiseaux partout !! :rire:

  10. #9
    lou_ibmix_xi

    Re : Choix du langage de programmation (débutant)

    Dans mon domaine (écologie et génétique des populations) les gens utilisent surtout R.
    Tu fais beaucoup de stat dans ton domaine ?

  11. #10
    VIDAL_TECH

    Re : Choix du langage de programmation (débutant)

    Bonsoir tout le monde,

    Si je ne répond que maintenant, c'est que j'ai pensé qu'il était préférable de tester les langages de prog plutôt que d'en parler, vaut mieux se faire son propre avis. Et je dois dire que Octave m'a agréablement surpris, outils de calculs numériques, c'était ce qu'il me fallait ! Des graphiques faciles à mettre à obtenir, un langage relativement simple à apprendre. J'ai déjà attaqué le calcul dans les structures métalliques !!

    Merci beaucoup pour tous vos conseils ! Encore merci ! A bientot !

Discussions similaires

  1. langage ladder, débutant.
    Par inviteca90353a dans le forum Électronique
    Réponses: 13
    Dernier message: 01/07/2017, 13h35
  2. Besoin d'aide sur le choix d'un langage de programmation
    Par 4lexO dans le forum Programmation et langages, Algorithmique
    Réponses: 23
    Dernier message: 05/09/2011, 17h15
  3. débutant PIC 16F628 en langage C
    Par invitee0b95ad8 dans le forum Électronique
    Réponses: 11
    Dernier message: 18/03/2011, 10h07
  4. choix d'un langage de programmation
    Par pierrerichard dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 22/11/2009, 20h45
  5. Langage Ladder : débutant
    Par invite36ee2dcb dans le forum Électronique
    Réponses: 3
    Dernier message: 30/08/2009, 15h04