Bonjour à tous,
Pas de Pascal ou Delphi ?? :weird:
Arduino tourne avec C ou C++ !!
Cordialement
Version imprimable
Bonjour à tous,
Pas de Pascal ou Delphi ?? :weird:
Arduino tourne avec C ou C++ !!
Cordialement
Bonjour,
Il est possible de générer des application HTML5 en C++
avec QT 5 :P :mouarf:
Langage simple, compliqué c'est juste des détails.Je pense que tout part d'une bonne logique algorithmique et les reste bon...:mouarf:
Bonjour à tous,
Voilà mon avis :
Tout d'abord, je dirais que le langage le plus simple pour débuter serait le BASIC des années 80... mais bon, hem oui, c'est d'un autre temps (retrouvé un vieux to7 et quand je l'ai fait tourné... ouch, on voit la différence avec les ordis actuels :mrgreen:).
Depuis, bien que les ordinateurs ont grandement évolué, les systèmes d'exploitations fonctionnent en multi-tâches (ou pseudo multi-tâches) et en fenêtrés et en protégé, si bien que la programmation est devenu ardue et plus difficile à comprendre pour un débutant actuellement que pour un débutant des années 80. Impossible par exemple d'afficher un pixel en vert sur son écran actuel, sans avoir défini une fenêtre préalable pour lui (ou peut-être qu'il y a moyen, mais ce ne sera pas en une seule ligne de code).
En tant qu'amateur, je suis resté au bon vieux Pascal (freepascal sous ubuntu) car c'est le seul langage que j'ai trouvé n'ayant pas besoin d'un projet de plusieurs sections/pages ou fichiers, juste pour dire bonjour. Je sais que ce n'est plus le langage à la mode, mais il me satisfait pour ce que je veux faire (gestion de fichiers, graphiques en 1280x1024x16bits couleurs avec ptc, ...). Par sa simplicité, et bien que j'ai eu du mal à m'adapter avec son IDE (je n'utilise pas Lazarus) et à comprendre la documentation (trop technique et en anglais), je trouve que c'est un bon langage bien que ce ne soit certainement pas le meilleur pour ce qu'il peut faire par rapport aux autres.
Dernière chose pour finir : après avoir scruté dans les unités disponibles, je me suis aperçu que les librairies étaient grosso-modo les mêmes pour tous les langages (ou copiées puis adaptées). Donc quelque-chose me dit que le choix du langage n'a pas d'importance, mais je ne suis pas expert pour le confirmer.
Le c.
L'algo commun aux langages,la rigueur ++ d'un langage typé,un peu de pointeurs,etc bref les bases.
On passe ensuite aux langages o objet,en se disant ,ouf je me repose..Et on finit avec les vues/ dev web,ouf je suis en congés, pour faire de la description (je préfère présentation)avec son gamin qui s'amuse comme un petit fou.
Je ne suis pas un développeur, je bidouille du code par plaisir et parfois par nécessité.
Je me suis essayé aux "langages web" : php/html/javascript/css" (rayez les langages de description), Vb.net (j'adore ce langage) pour faire des winforms et un plugin word. Un peu de VBA de temps à autres, et récemment Python.
J'avais commencé par le Pascal avec Delphi que j'avais découvert sur ce site, mais j'ai arrêté par manque de rigueur personnelle.
Je trouve Python vraiment bien, et incroyablement rapide à prendre en main. certes j'ai aujourd'hui une plus "grande d'expérience de la programmation" qu'à mes débuts, mais je crois sincèrement que j'aurais plus vite progressé si j'avais commencé par là.
Je rejoins certains forumeurs sur le fait qu'il peut-être utile de comprendre le fonctionnement d'un ordinateur pour programmer et que certaines connaissances hardware/OS peuvent vraiment être utiles. J'ai passé cinq ans à, réparer des PC d'amis, retaper des PC de récup par plaisir, j'installais des linux Mepis, Kaella, Ubuntu à ses débuts en m'aidant des Linux Magazines et autres... et franchement ça m'a aidé, rarement de manière directe mais c'est un bagage essentiel à mon avis.
Après, il ne faut pas se cacher derrière son petit doigt... Je suis venu à Python parce qu'un de mes scripts php consommait trop de ressources (un import "massif" [plus de 200 000 fichiers dans des répertoires différents] de données XML vers une base Mysql comprenant plusieurs tables, je sais c'est pas le meilleur choix...). J'ai donc trouvé mon bonheur avec Python, mais vous savez quoi, je me suis aperçu que je pouvais faire mieux en php et résultat je suis revenu à php. Et en vous écrivant ces lignes je me demande si je ne vais pas transposer...
Tout ça pour dire le langage n'est pas responsable des manques du programmeur/bidouilleur, à mon humble avis... Comme dirait le chanteur populaire "Quand on est con, on est con", même si cette fois, le temps a eu prise sur ma bêtise.
Je pense que plus qu'un langage, un débutant doit commencer par apprendre et comprendre l'algo, UML/merise avant de se lancer, ne serait-ce que pour s'éviter des déconvenues et travailler proprement, mais plus encore pour appréhender les concepts qui transcendent les langages.
Après, le choix est parfois imposé par le besoin, je comprends que beaucoup de personnes se tournent vers php et java, ça correspond plus ou moins au marché actuel et à une certaine réalité économique. Je pense que l'ASP aurait eu plus d'adeptes si les hébergements ad'hoc avaient été meilleur marché lors de l’essor du web (je crois que n'est plus très vrai aujourd'hui, à confirmer).
Bonne soirée à tous et merci à la communauté, j'apprends beaucoup en vous lisant et je ne le dis pas assez.
Depuis le début du topic, et également dans d'autres topics, plusieurs personnes ont suggéré l'idée qu'il valait mieux commencer par faire apprendre de l'algorithmique (ok, mais à condition de faire faire de la programmation en parallèle) ou des choses de plus haut niveau (conception, architecture logicielle, UML) avant de faire écrire la moindre ligne de code.
C'est juste une idée stupide.
L'étudiant a besoin de mettre les mains dans le cambouis dès le départ ! Est-ce que vous vous voyez, si on remonte des années en arrière, faire plein de modélisation UML et étudier des algos poussés sans avoir écrit la moindre ligne de code dans le moindre langage de programmation... et vos profs, tout d'un coup, après six mois de formation "théorique", de vous demander d'écrire une application en partant de zéro... échec garanti.
Bon, sinon, j'en remets une couche de mon troll préféré : commencer par Python, ou, pire, par les langages à la con du web, c'est cool, mais vous ne deviendrez jamais aussi bons que ceux qui ont commencé par du C.
Ma question risque de paraître stupide mais :
Quel langage permet d'être recruter à l'heure d'aujourd'hui que je peux apprendre ?
J'ai débuter la "programmation" et on m'a orienter vers le HTML/CSS + Php.
Mais, cela n'est pas vraiment suffisant et j'aimerai développer mais compétence ?
Donc , quand je vois ce tableau, pourquoi pas apprendre le Java ou le C ?
Lequel permet de manger sous 4mois d'apprentissage (par exemple ?) Ou il faut minimum 1an d'école/apprentissage autodidacte pour permettre d’accéder a un travail ou du free lance ?
Merci pour l'article et les éventuels réponses.
bonjour,
je voudrais programmer une application bien précise . N'ayant qu'une très faible notion de programmation (un peu de php) je sollicite votre avis quant au langage qu'il faudrait que j'utilise. Mon but est de créer une application et non de devenir une bête de programmation.
Voici le style d'application que je voudrais coder:
Je possède un parc de véhicules. je voudrais créer une application qui me permettrait, via un graphique de parking , de placer mes véhicules sur ce graphique avec leur numéro de série, plaque d'imat..etc..etc.
Je voudrais par exemple mettre un moteur de recherche pour savoir ou se trouve un véhicule donné. Mon application nécessiterait alors un langage permettant de gérer du graphique et des bases de données.
Quel langage devrais-je apprendre . un langage simple qui me permettrait de faire une application de ce type.
J'avais bien aimé php mais est il forcement exécutable qu'au travers d'une page web ou peut on l'utiliser dans une fenêtre dédiée?
Merci de votre aide.:P
Je précise;imagine que tu développes un truc simple en java avec quelques classes.Ok.Tu arrives aux méthodes:là l'algo est essentiel.Le reste c'est du remplissage,peu importe le langage,tu traduis,transcris,c'est du kif kif.Mais la logique applicative,le moteur passe par les cellules grises......qui chauffent en automatique avec l'expérience.
Salut
La plus grosse difficulté risque d'être le graphique, à moins de trouver tout de suite la bibliothèque de fonctions qui fera le boulot à ta place. C'est en tout cas une difficulté supplémentaire.
Mon conseil (qui vaut ce qu'il t'inspire, rien de plus) : commence par tout faire sans le graphique. Tu te fais un dessin en texte (avec des '|', '-', &c.) pour représenter ton parc de stationnement, tu ajoutes un symbole pour figurer tes véhicules (genre '*', '#'...) & tu développes ton programme complet. Quand ça fonctionnera en mode texte, tu pourras t'attaquer au mode graphique, qui sera une simple couche applicative de présentation, mais qui ne modifiera pas ton algorithme.
Juste une difficulté du mode texte : pas de menu contextuel pour afficher les informations supplémentaires (immatriculation, modèle...), à moins d'utiliser des bibliothèques comme TurboVision. mais là, on complique. Alors, tu peux décider de l'afficher en bas d'écran (tu te réserves la dernière ligne à cet effet) à la suite d'un clic droit ou gauche.
D'autre part, je pense que tu peux avantageusement te mettre à l'objet : pour ce genre d'application, ça me paraît idéal. Mais absolument pas indispensable.
Bref, le langage a peu d'importance, pourvu qu'il te convienne. J'aurais tendance à préconiser le Pascal, vu qu'il impose quelques règles de base en programmation & qu'il est très structuré, par défaut. Ceci dit, si tu veux programmer salement le compilateur ne t'en empêchera pas. D'autre part, il dispose de quelques outils sympa comme les ensembles : tu peux définir un ensemble de caractères, par exemple, & vérifier que les saisies au clavier sont correctes. Mais à part ça, je le répète, tout langage convient.
Bon courage !
Etant dans le dév web, je confirme que HTML n'est pas un langage de programmation, mais un langage de description...donc c'est pas avec ça qu'on pourra faire un algo.
Personnellement, j'ai appris la programmation, enfin l'algorithmie avec le langage ADA...et ma fois, si ce n'est qu'il n'est pas du tout objet...c'est un langage simple et qui me paraît tout à fait convenir pour débuter.
Je n'en ai pas refait depuis, mais je pense que pour apprendre la logique et les bases, bref, pour prendre de bonnes habitudes de programmation, mieux vaut prendre un langage structuré et typé.
Sinon, pourquoi pas Java, que je trouve relativement intuitif à comprendre, même si je n'en ai que des bases.
Ada est un excellent langage. Malheureusement avec de grosses lourdeurs, en particulier pour l'affichage des chaînes de caractères. Et il ne possède pas la notion d'ensemble, si pratique. Néanmoins, il existe des moyens de les émuler.
Et il est encore plus rigoureux que Pascal. Donc, un très bon choix, effectivement, si on prend le temps de décrypter les messages abscons du compilateur.
ADA, c'est un peu un langage pour autiste je trouve... (désolé pour le troll)
C'est vrai qu'annoncé comme ça, sans argument... 8-)
Assez ironique de la part de qqn qui promu TypeScript, a bon entendeur ;)
Ceci dit vu la complexité que pour représenter la manipulation de données avec Ada, il est vrai qu'il me semble pas naturellement prédisposé pour l'enseignement. Surtout quand on voit l'utilisation, relativement importante, de Python comme langage d'apprentissage.
Question de point de vue. Certains préfèrent effectivement le côté bidouille/laxiste que l'on va avoir en Python pour les types. D'autres au contraire veulent quelque chose d'hyper carré et vont foncer vers Ada, Haskell/CamL à contrario de Python. Pour l'industrie, je préfère le carré. Pour l'enseignement, je ne sais pas ce qui est le plus propice à l'initiation.
A ce sujet, je suis tombé sur ce "témoignage" cette semaine: http://www.reddit.com/r/cpp/comments..._write/co276tx
Je ne fais pas la promotion de TypeScript, j'explique. Nuance ! 8-)
En introduction à la programmation, si on veut faire fuir les étudiants, Ada est un excellent choix :mouarf:Citation:
Ceci dit vu la complexité que pour représenter la manipulation de données avec Ada, il est vrai qu'il me semble pas naturellement prédisposé pour l'enseignement. Surtout quand on voit l'utilisation, relativement importante, de Python comme langage d'apprentissage.
Sans conteste, le langage à apprendre est celui qui permet de tuer les IS (Intelligences Simulées). Le livescript qu'on appelle maintenant le javascript à tort.;)
il faudra connaitre le live script pour detruire les IS (intelligences simulées) ;)
Je suis un ancêtre qui a appris à programmer en Basic (sur une machine de 8K de ram !), turbo-basic et s'est réveillé avec le pascal de Borland et finalement Delphi.
Depuis lors, je me suis plus intéressé au Web avec javascript et Php.
J'ai été vraiment motivé par le pascal qui permet de faire beaucoup de chose y compris dans la gestion de la mémoire et des pointeurs.
Le projet Lazarus m'a réconcilié avec Delphi depuis que je suis sous Linux.
Bref, pendant des années, on ne jurait que par les vertus pédagogique du Pascal et je m'étonne un peu de ce revirement et des pertes en compétances pédagogiques que cela entraine.
J'ai l'impression que la mode est au quick'n'dirty pour pondre des scripts et voir ce qu'il font. Avant cela, on a eu une mode du fonctionnel en France avec OCaml & cie.
De plus, je pense que Pascal a souffert du manque de maintenance et de moyens (APIs, bibliothèques) pour s'intégrer rapidement avec tel ou tel outil ou techno.
Démarrer par de l'algorithmie ce n'est pas pondre un algo "poussé", mais comprendre les mécaniques communes à tout les langages : les types de données, les traitements sur les données, les boucles, etc..
C'est la base fondamentale pour pouvoir comprendre ce qu'est la programmation. Par contre je suis d'accord avec toi sur le fait que la conception ou l'architecture logicielle n'a aucun lieu d'être dans les premiers pas en programmation. Les notions de classes, d'héritages, etc.. ne peuvent être réellement comprises que par la pratique.
Ensuite pour le langage, tant qu'il est un minimum structuré il conviendra à l'apprentissage.
Cette mode "quick'n'dirty" n'a rien de neuve pour moi. Les débuts de l'informatique dans les écoles étaient truffées de bidouilles en basic sous DOS dont l'utilité était tres relative.
Je pense que cela n'a pas eu que des côtés négatifs en ce que cela a pu déclencher un intérêt pour la programmation et le désir d'en savoir un peu plus.
On était très fiers de nos petits programmes de quelques dizaines de lignes qui permettaient de résoudre une équation du deuxième degré ou de jouer à OXO.
Pour ce qui est du manque d'outils, je suis assez d'accord .
Les types génériques sont vus durant l'algorithmie et la programmation en générale.
Les notions liées au compilateur sont, selon moi, à aborder dans un second temps d'apprentissage d'un langage. Dans un premier temps, on se familiariserait avec la structure propre au langage, ses particularités, etc.. Et dans un second temps un vue plus approfondie pour découvrir comment fonctionne ce langage "en vrais".
Je sais pas si le C est un bon langage pour débuter, car sa risque de dégoutter la personne de la programmation.
Moi par exemple j'ai commencer par le python, sa ma fait aimer la programmation. Je sais que si j'avais commencer par le C, je ne serais jamais devenue informaticien, quand on commence dans un domaine, il veut mieux commencer par quelque chose de simple.
C'est comme pour conduire, il veut mieux commencer par une petite voiture, qu'un camion de 6tonnes avec 2 remorques.
Va expliquer a un néophyte ce qu'es un pointeur, et on verra ce qu'il pense de l'informatique.
Par contre je déplore la loi du gouvernement, qui veut faire apprendre le html a des enfants, je ne considère pas le html comme un langage, pour moi c'est du gaspillage de temps, de connaissance et d'argent. Si le langage C pour débuter et discutable, le html je suis ferme la dessus, sa ne sert a rien si l'on veut apprendre a programmer.
Un contre-avis: :mrgreen: moi j'ai commencé par du Pascal pour basculer en C et ensuite C++ et plus tard Java (pour les langages importants pas comme le SML, LISP, Prolog ...)
Et au contraire, commencer par du C, cela t'apprend l’algorithmie (et un peu la relation de performances/ code): listes simplement et doublement chaînées, arbre en tout genre, les tris, la récursion (les tours de Hanoi, le jeu de la vie), ...
Et ensuite, je suis passé à des choses encore mieux de la compression (table de Huffman), de la 2D/ 3D (bruit de perlin, algorithme de De Casteljau), ...
Parce que toi avec ton Python tu fais quoi :mrgreen:: c'est plus apprendre par cœur la bibliothèque native et c'est fini ( :troll: )
Alors c'est vrai que le C est assez rigoureux: les pointeurs (aussi bien la destruction que le passage de paramètres avec des doubles pointeurs), les débordements de tableaux, ...
Et que cela dépend du bonhomme aussi :whistle:
Affirmation davantage applicable à Java... :mrgreen:
Sinon les "moi je", c'est pas vraiment un argument valable. Si tu avais commencé par Python ou un autre langage, qui sait, tu aurais peut-être eu le même parcours.
Difficile de généraliser son histoire personnelle.
J'ai commencé avec C++ et j'avoue que j'aurais préféré commencer à l'époque avec Pascal par exemple ;)
EDIT : Non en réalité j'ai commencé avec GW-Basic en fait, mais bon, je ne l'ai jamais considéré réellement comme un langage de programmation digne de ce nom... Mais il a eu ses vertus pédagogiques aussi.
Tu fait beaucoup plus de chose en python qu'en C, python est un langage touche a tous, tu peut tous faire (logiciel, jeu, calcule scientifique, web...).Citation:
Parce que toi avec ton Python tu fais quoi : c'est plus apprendre par cœur la bibliothèque native et c'est fini ( :troll: )
Python a une pléthore de bibliothèque (coder en C...:roi: pour des raisons de perf) qui t'évite de ré-inventer la roue un n-ieme fois.
Avec python tu apprend les bases de l'algo (boucle, condition, structure, fonction...), sans te soucier de la gestion de la mémoire et autre qu'un néophyte ne comprendrais de toute façon pas.
Python permet un développement simple et rapide, idéal donc pour encourager un débutant a poursuivre ces efforts, la ou il le souhaite (jeu 2D-3D, web, calcule scientifique...)
Pour le java, sa impose a la personne de comprendre ce qu'es la programmation Objet, pas forcement simple pour un débutant, qui ne sait probablement pas ce qu'est une simple fonction.
Sa dépend de la personne, quand j'ai débuter, il y'a 10ans, je ne connaissais pas grand chose de l'informatique, je savais pas ce qu'étais la notion un objet, une fonction, des boucles... si la personnes a un niveau un peu plus évoluer, il connais la notion d'allocation de mémoire, de fonction, de boucle...etc, alors oui je l’inciterais plutôt a aller voir du coté du C.
As-tu des exemples ? Une chose possible en python et impossible en C ?
Pourquoi ne comprendrait-il pas ?Citation:
Avec python tu apprend les bases de l'algo (boucle, condition, structure, fonction...), sans te soucier de la gestion de la mémoire et autre qu'un néophyte ne comprendrais de toute façon pas.
De plus, on a pas nécessairement besoin de se soucier de la gestion de la mémoire quand on débute, on a pas nécessairement besoin d'allocation dynamique.
Certes, cependant, il faudra bien un jour qu'il sache ce qu'il fait et que tout cela n'est pas magique.Citation:
Python permet un développement simple et rapide, idéal donc pour encourager un débutant a poursuivre ces efforts, la ou il le souhaite (jeu 2D-3D, web, calcule scientifique...)
Cela dépend aussi de l'objectif que se donne l'apprenant.
S'il veut juste faire un petit jeu et rien de plus, pourquoi pas. S'il veut apprendre à programmer, autant commencer par le C ou le C++ où il pourra voir plusieurs notions différentes absente en Python.
Apprendre à programmer, ce n'est pas tant apprendre un langage que de comprendre comment tout cela marche et d'être capable de s'adapter à tout autre langage.
Il y a plus de 200 langages, certains sont plus adaptés que d'autres dans certains contextes, on ne pourra pas tout faire en Python et on ne peut pas décemment apprendre ces 200 langages. Mais si on comprend que rien n'est magique et comment tout cela fonctionne, on peut s'adapter plus facilement à un nouveau langage.
Après cela dépend du contexte (amateur ? étudiant ?), de l'âge (5 ans ? 20 ans ? 80 ans ?), … comme cela a déjà été dit dans les pages précédentes.
C'est un langage de description.Citation:
je ne considère pas le html comme un langage
Cela permet déjà de se familiariser avec le XML, de voir un peu de CSS ou du JavaScript, de ne pas avoir besoin de compilateur ou d'interpréteur, juste d'un navigateur auquel sont déjà familier les enfants.Citation:
le html je suis ferme la dessus, sa ne sert a rien si l'on veut apprendre a programmer.
D'avoir un résultat graphique encourageant très tôt, … de faire son propre petit site qu'on montrera à ses grand-parents.
À ce niveau, c'est plus une initiation qu'un apprentissage je pense.
Ouais. Vas écrire des applis haute performance en Python... ou un système d'exploitation... ou du logiciel embarqué dans un avion...
Si le C t'a dégouté, c'est ton problème, tu n'es pas informaticien.
Python c'est un langage de programmation conçu pour ceux qui n'aiment pas programmer.
Dans ce cas fait ton OS, vas s'y je te regarde....Citation:
Ouais. Vas écrire des applis haute performance en Python... ou un système d'exploitation... ou du logiciel embarqué dans un avion...
Tu crois que y'a que les performances qui compte dans un logiciel ?, pourquoi beaucoup de personne codent en java dans cas ?
Alors tu te trompe royalement, python fonctionne très bien dans l'embarquée, exemple, je ne compte même pas le nombre de soft qu'il y'a sur le raspberry en python.
Qu'es ce qui est fait en C concrètement ?, le noyaux des OS, et a part cela ?, les jeux sont en C++, ou en tous cas les moteurs, civilization4 est codé en python.
Fais moi ton serveur web en C si tu est si malin, en python tu peut faire du web.
Les lourds calculs scientifiques sont fait en python, c'est du vécu ayant travaillée pour le cnrs, j'ai du tous coder en python, niveau perf sa fonctionnait très bien.
Enfin, non je ne suis pas dégoutté du C, si tu lisait correctement mes posts, j'ai dit que si j'avais commencée par le C je ne serait jamais devenu informaticien, je sais aujourd'hui codé en C, car avant d'apprendre le C j'avais des connaissance pointu en C++, voila mon parcours, python, java, C++, et aujourd’hui je fais des programmes en assembleur pour être exécuter sur des simulateurs., pour apprendre le fonctionnement d'un ordinateur, l'assembleur et le meilleur langage pour débuter, je sais pas si tu en as déjà fais, mais si j'avais débuter avec l'assembleur je n'aurais plus jamais toucher a un ordinateur.
Python c'est un langage conçue pour les personnes qui n'ont pas envie de se casser la têtes, qu'ils veulent programmer un logiciel tous simplement, sans prise de tête.
C'est accessoirement ce que l'on se tue à dire : le C en premier langage dégoute beaucoup de monde. Il est de fait parfait pour filtrer et ne garder que les motivés. Du coup selon le public (genre un ado qui veut découvrir la programmation), c'est une catastrophe.
Et j'ai encore revu passer l'argument fumé sur la rigueur. Il n'est pas rigoureux, il est exigeant. Et pour ceux qui voudraient ressortir qu'il enseigne la rigueur, re-re-re-cf mes contre-arguments précédents => il exige la rigueur, mais son enseignement ne permet pas de l'acquérir -- sa pratique acharnée va finir par l'inculquer toutefois (liens en ordre inverse)
-> http://www.developpez.net/forums/d14...n/#post8046558
-> http://www.developpez.net/forums/d14...n/#post8045041
-> http://www.developpez.net/forums/d14...n/#post8041589 <-- c'est là qu'est que sont les arguments principaux
C'est un débat sans fin.
Il y aura toujours des individus pour défendre que le C est idéal pour débuter parce que eux ont débuté avec le C. Imparable comme raisonnement :mouarf:
@sazearte : tu loupes totalement l'argument de CodeurPlusPlus.
On parlait de ta phrase : "Tu fait beaucoup plus de chose en python qu'en C".
Sauf qu'il existe des domaines où on ne peut pas se contenter d'un langage interprété.
Tes "bibliothèques pythons écrites en C pour plus de performances" sont écrites en quoi à ton avis ? En Python ou en C ?
Ton interpréteur Python, il est écrit en quoi ? En Python ?
Il y a des logiciels où les performances sont plus qu'importants, ou sont destinés à des supports très contraints.
Ce n'est pas parce que tu codes sur un raspberry que tu fais de l'embarqué. On compile pour un support donné et on ne fait pas du tout dans le portable. Ce sont parfois des facteurs x1000 qu'on essaye d'atteindre juste en déroulant des boucles, en indiquant des directives préprocesseurs spécifiques, etc. Je ne pense pas qu'on puisse non-plus gérer la mémoire et les caches à la main en Python par exemple. Et parfois, on ne va pas créer le logiciel pour une machine donnée, mais carrément construire la machine pour le logiciel.
Les scientifiques ne sont pas souvent informaticiens, et ils sont capable de faire un algorithme et de le faire tourner une semaine sur un super-calculateur sans résultats quand une réécriture de l'algorithme avec une complexité plus faible permet de le faire tourner en quelques minutes sur un i7.
Oui, on peut compiler du Python pour gagner un peu en performance, mais ce ne sera pas toujours suffisant.
Regarde aussi le classement des langages utilisés dans l'embarqué, tu trouveras en tête le C, le C++ et l'assembleur, ce n'est pas pour rien.
De plus, pour faire du Python, il faudrait déjà que ce soit rendu possible par les SDK des fondeurs. À moins bien sûr d'adapter le code source d'un interpréteur Python, mais bon, il faut aussi que le support ai assez de mémoire pour stocker le script Python.
Sans recoder son OS, on peut créer de nouveaux modules en C. On ne va surtout pas le faire en Python.
Donc oui, il y a des choses possibles en C, non-envisageable en Python.
Après, bien sûr, si tu utilises des bibliothèques Python écrit en C qui font l'essentiel du travail, c'est normal d'avoir de bonnes performances, mais ces bibliothèques, il a bien fallu les écrire.
Cela me gêne de ne pas pouvoir éditer mon post :?
Je voulais rajouter qu'un raspberrypi, c'est presque un ordinateur. Cela n'a rien à voir par rapport au processeur à 10c qu'on peut trouver partout, dans ta souris, ton lave-linge, etc.
Et je ne pense pas que sur ce genre de processeur, on s'amuse à faire tourner un interpréteur Python :aie:.