IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation pour enfants Discussion :

langage moderne pour manipuler des données mathématiques


Sujet :

Programmation pour enfants

  1. #1
    Expert éminent sénior
    Profil pro
    Inscrit en
    décembre 2007
    Messages
    6 716
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : décembre 2007
    Messages : 6 716
    Points : 31 483
    Points
    31 483
    Par défaut langage moderne pour manipuler des données mathématiques
    Bonjour. Je suis un dinosaure, qui a surtout programmé sur COBOL et VBA/EXCEL

    Ma fille est en 3ème, c'est une brute en maths (meilleure de tout son collège, et de loi,), et elle adorerait que je lui apprenne à manipuler des chiffres et que je lui apprenne à programmer pour ça. Bien évidemment, j'ai tout de suite pensé à VBA EXCEL que je maitrise et qui répond en gros au cahier des charges...mais en fait, je crains que ça ne soit obsolète. Il vaudrait sans doute mieux que je la forme (et moi par la même occasion) sur un langage plus pertinent dans le monde moderne.

    Mais je ne sais pas vers quoi me tourner. Python me parait trop lent. Des idées?
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  2. #2
    Membre confirmé
    Homme Profil pro
    web a11y
    Inscrit en
    avril 2014
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : web a11y
    Secteur : Service public

    Informations forums :
    Inscription : avril 2014
    Messages : 120
    Points : 536
    Points
    536
    Par défaut
    Bonjour,

    La "lenteur" de Python est un sujet récurrent. J'ai tendance à dire "faut voir", car en fait une bonne partie des fonctions, on les appelle bien depuis Python, mais derrière ça a été compilé en C. Il est d'ailleurs prévu de pouvoir déclarer ses propres fonctions en Python et d'appeler derrière du C que l'on a fait soi-même. C'est une raison de son interfaçage "facile" avec d'autres langages. et puis, cela dépend de la taille des calculs à faire…

    Pour Python, j'avancerai surtout qu'il sera utilisé au lycée dans la plupart des séries, et en post-bac dans plein de filières. Seuls ceux qui choisissent une option franchement teintée informatique (au lycée) pourront être amenés à croiser du C ou du C++ (et encore, cela dépendra du niveau du prof).

    Perso, j'hésiterai entre Python et C/C++, mais selon le niveau de l'élève et ce qu'il/elle vise. Je ne peux pas opter clairement sans connaître l'élève.
    Pour un(e) élève "normal", je conseillerai Python.
    Pour un(e) élève qui "fonce" et capte vite, j'hésiterai aussi avec C/C++. La raison est que l'élève risque de très vite se barber avec le cours de Python vu l'avance qu'il ou elle aura.
    D'un autre côté, l'élève peut en profiter pour entrer dans les finesses de la programmation fonctionnelle, ou du moins des "pythoneries" avancées. Bref, des modes de pensées qui se retrouveront dans d'autres langages.
    Et puis, se retrouver à faire les deux, c'est prendre de l'avance sur la considération qu'il y a d'un côté l'algorithmie, et de l'autre la traduction dans un langage donné.

    Nota : j'ai à portée de patte une enseignante math + initiation info en lycée. Une des questions est aussi : a-t-elle déjà une idée de son orientation ? C'est juste pour avoir une idée de ce qui pourra être rentable sur le long terme (sans tomber sur la mode des rectorats demandant aux élèves de début de collège d'avoir déjà un "plan de carrière").

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    mai 2011
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2011
    Messages : 249
    Points : 642
    Points
    642
    Par défaut Excel vs Python
    Si Excel se scripte toujours en VBA le langage n'est pas obsolète. En plus utiliser un tableur qu'on connait déjà pour une initiation ça me semble pertinent. De base on dispose de toute une bibliothèque mathématique sans parler des possibilités graphiques et évidemment des fonctionnalités du logiciel. Je me souviens aussi que j'avais apprécié de jongler avec JavaScript à une époque compte tenu des similitudes entre les langages. Python est assez similaire et ça n'est pas pour rien si il s'est très développé dans des milieux comme le scientifique. Des biblios riches, de bonnes performances avec plein d'opportunités d'optimisation, beaucoup de ressources sur le sujet…

    Donc pourquoi pas s'intéresser aux solutions alternatives mais déjà je pense qu'avec Excel il y a de quoi s'amuser. Le plus important serait sans doute de trouver des exercices/projets sympas.

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    26 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 26 236
    Points : 186 026
    Points
    186 026
    Par défaut


    MATLAB est entièrement prévu pour des maths (d'où son nom, d'ailleurs : matrix laboratory), mais est payant. Mathematica est renommé entre autres pour le calcul symbolique, mais est payant. Tu peux aussi regarder du côté de Julia, d'abord prévu pour des maths en remplacement de MATLAB. Pour le calcul symbolique, SymPy en Python ou Symbolics en Julia.

    Sinon, tu as d'autres environnements libres et gratuits, mais bien moins répandus, comme Maxima (calcul formel) ou Octave (équivalent de MATLAB).

    C, oui, mais non : on ne s'amuse pas avec des maths en C, on se tape la tête aux murs avec des pointeurs (en très gros). Si elle veut se lancer dans la programmation, pourquoi pas, mais oublie le C pour des maths (en tout cas, pour commencer).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Expert éminent sénior
    Profil pro
    Inscrit en
    décembre 2007
    Messages
    6 716
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : décembre 2007
    Messages : 6 716
    Points : 31 483
    Points
    31 483
    Par défaut
    OK, merci les gens. Je vais creuser tout ça avec elle.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Programmeur des cavernes
    Inscrit en
    août 2017
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Programmeur des cavernes
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2017
    Messages : 343
    Points : 1 204
    Points
    1 204
    Par défaut
    Vu son âge, Python devrait être un excellent compromis pour commencer, qu'elle compte devenir une grande mathématicienne ou une grande informaticienne, ou encore autre chose.

    PS : bon courage si tu te donnes comme mission de lui enseigner toi-même tout cela
    Sur Youtube, je publie le 1er de chaque mois une vidéo qui montre l'avancement de mes projets.
    Je crée des jeux, à l'ancienne et en ne sachant pas dessiner

    Mes deux chaînes principales :
    https://www.youtube.com/channel/UC5C...Hdt9ORG6lL0xcw

    https://www.youtube.com/channel/UCSz...bYl_pSNMv_zerQ

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Installation d'ORACLE pour manipulation des données
    Par rushcr dans le forum Installation
    Réponses: 4
    Dernier message: 15/11/2016, 01h21
  2. Quel langage choisir pour manipuler des images?
    Par TiJean2910 dans le forum Débuter
    Réponses: 2
    Dernier message: 16/09/2009, 11h58
  3. Réponses: 7
    Dernier message: 04/04/2008, 10h16
  4. Quel langage pour manipuler des entiers très longs ?
    Par mis_dj dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 10/05/2006, 21h12
  5. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo