Avantages du Python ?
Bah ça ressemble à du BASIC ?
Logiciels / Programmation

HerbertP Membre non connecté
-
- Voir le profil du membre HerbertP
- Inscrit le : 25/06/2015
- Groupes :
Je viens de me rappeler l'existence de ce fil : vous prendrez bien un peu de python pour finir l'année, j'ai fait mes propres recherches sur le net alors que j'aurais pu passer vers ce lien d'abord

J'ai longtemps été un programmeur "à la petite semaine" en BASIC, sans chercher à apprendre autre chose, et j'ai donc une vue très floue du fonctionnement des langages de programmation. Dans les commentaires que j'ai pu lire au fil du temps au sujet du BASIC, on dit que c'est nul, que c'est lent, que c'est interprété, et que ce n'est pas du tout un langage conseillé pour la programmation. etc...
J'ai voulu regarder Python, pour voir si je pourrais accrocher, ou pas. Or, en parcourant les pages disponibles sur https://docs.python.org/fr/3/tutorial/index.html je trouve que ça ressemble furieusement à un langage BASIC : on y parle de l’interpréteur python, on y trouve des IF, des FOR, des WHILE, des PRINT, etc... comme dans mon BASIC favori. Question de débutant qui n'y connaitrien : qu'est ce qui fait que Python est mieux qu'un BASIC ? C'est un BASIC amélioré, sérieux ? C'est une grosse machine dont les instructions ressemblent à du BASIC mais qui n'ont rien à voir avec ?
Christophe - Probablement sur une autre planète
Mageia 9 - 64 bit - 4 * Intel Core i5-4460 CPU @ 3.20GHz - Mem 7,7 Gio - GeForce GTX 1050 Ti/PCIe/SSE2
Mageia 9 - 64 bit - 4 * Intel Core i5-4460 CPU @ 3.20GHz - Mem 7,7 Gio - GeForce GTX 1050 Ti/PCIe/SSE2

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
En terme de structures, je dirais que tous les langages ont des syntaxes simialires, on retouvera toujours des if, des boucles "tant que", des boucles for, etc...
Une des différence, c' est que certains sont interprétés (basic, javascript, python,bash, perl(?)...).
D' autres sont compilés et sont donc en théorie plus rapide car plus rapidement executable par le processeur (c, c++, c#,...).
D' autres sont semi compilés et nécessitent un machine virtuelle pour l' éxécution (java par exemple).
Il semblerait que certains sont mixtes. Par exemple Python justement... il y a des fichiers .py qui sont probablement interprétés et des pyc qui sont compilés (mais sur ce point je m' avance un peu trop, ne connaissant pas trop ce langage).

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Entre :
Mais non, ça n'a rien à voir, c'est complètement différent !
Et :
Forcément ! Ce sont deux langages de programmations, donc ils partagent tout le nécessaire, les structures de contrôle ( if, while, for, …

Cependant, en regardant wikipedia, je vois que c'est extrêmement procédurale, avec des GOTO, alors que le python, même si on peut faire des scripts procédurales, c'est un langage de programmation orienté objet, ce n'est pas le même paradigme !
Autre point, python est encore en vogue, et c'est un langage que commence à avoir de la bedaine. Il a plus de 30 ans ! Sa notoriété fait qu'il bénéficie d'une grosse bibliothèque logiciel permettant de développer rapidement des logiciels complexes.
Vous souvenez vous de FretsOnFire ? Un clone de guitardhero qui doit avoir 15 ans, c'est du python ! De la radio (sdr) avec gnuradio ? C'est du python ! (Et du c++). De l'IA ? C'est fort probablement du pytfon aussi. Et le traitement du signal ? On me dit matlab, détrompez vous, les professeurs sont entrain de convertir leurs cours pour se baser sur du python, plus riche, plus flexible… et déjà des bibliothèques présentes.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Yuusha Membre non connecté
-
- Voir le profil du membre Yuusha
- Inscrit le : 04/07/2017
- Groupes :
-
Modérateur
-
Administrateur
-
Forgeron
Je crois que Jybz a tout dit. Le Python est plus moderne. C'est-à-dire qu'il utilise des paradigmes de programmation plus récents. Il a des syntaxes plus nombreuses et puissantes (on peut ouvrir un fichier, le lire et chercher avec une expression régulière sur la même ligne). Pour sa vitesse, tout dépend de ce que l'on souhaite faire. C'est la plupart du temps invisible à l'utilisateur. Par contre, pour un logiciel de simulation par exemple, on va rapidement voir la lenteur du Python par rapport au C, C++ ou encore Fortran.
Jybz :
JEt le traitement du signal ? On me dit matlab, détrompez vous, les professeurs sont entrain de convertir leurs cours pour se baser sur du python, plus riche, plus flexible… et déjà des bibliothèques présentes.
Je nuancerai en disant que c'est vrai dans les domaines académiques, un peu moins en entreprise. Là, il peut y avoir des contraintes, notamment dans certains domaines qui imposent l'utilisation du Matlab. Ça peut changer, mais c'est long puisqu'il faut trouver l'équivalent en Python et revalider toute la chaine de calcul pour vérifier ses résultats. Et même en laboratoire, on peut avoir encore un peu de Matlab si une toolbox complexe et libre existe en Matlab et n'a pas d'équivalent en Python.

moment magnetique Membre non connecté
-
- Voir le profil du membre moment magnetique
- Inscrit le : 06/10/2012
- Groupes :
python est aussi utilisé pour des scripts dans blender et avidemux ( il doit y avoir pleins d'autres logiciels qui le permettent ) . plutôt pratique !

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Pour l' eventuelle lenteur de Python c' est peut être du à l' implémentation des algorythmes sous jacent et leur complexité (une implementation en n³ n' est pas forcement très bonne ! (Et ceci quelque soit le langage utilisé)?
https://fr.m.wikipedia.org/wiki/Analyse_de_la_complexit%C3%A9_des_algorithmes
Pour revenir à la structure des langages,même le prolog (qui m'a laissé laissé de mauvais souvenirs) a une fonction if (même s'il n' a pas la même finalité qu' un Pyhton ou un basic).

HerbertP Membre non connecté
-
- Voir le profil du membre HerbertP
- Inscrit le : 25/06/2015
- Groupes :
Donc l'un des avantages de Python est qu'il est répandu et utilisé depuis longtemps, et chacun ayant apporté sa pierre par le développement de bibliothèques, il est devenu une sorte de standard bien commode et qui permet d'aller loin. dans des gros projets ou dans des scripts pour étendre les capacités d'un logiciel.
Alors que mon BASIC, qui me va très bien pour mon activité de dilettante, est nettement plus confidentiel, et dépend de la personne ou de l'entité qui l'a créé. Pour les curieux, c'est JustBASIC, la version gratuite de LibertyBASIC. C'est un programme Windows que j'ai gardé par attachement sentimental, et qui fonctionne bien avec Wine)
Donc si un jour je veux partager mes créations, ce sera avec Python.
Ci-dessous quelques remarques pour lesquelles je ne suis pas très sûr de moi, mais on peut en discuter :
nic80 :
Une des différence, c' est que certains sont interprétés
Au départ, tel que je me souviens, et en gros, l'interpréteur traduisait les instructions BASIC en langage machine au fur et à mesure qu'il les lisait dans le listing, et le temps de cette traduction était la cause de la lenteur de l'exécution, mais les BASICs d'aujourd'hui compilent d'abord le listing avant de lancer l'exécution, il n'y a plus de traduction durant l'exécution et on va plus vite.
Jybz :
c'est extrêmement procédurale, avec des GOTO, alors que le python, même si on peut faire des scripts procédurales, c'est un langage de programmation orienté objet, ce n'est pas le même paradigme !
Meme en BASIC, le GOTO est peu usité, on utilise des GOSUB et des sous-programmes. J'ai pu constater, à l'utilisation, que mon JustBasic habituel est parfois faussement linéaire dans l'exécution du listing (peut-être l'effet de la pré-compilation).
On a des instructions pour gérer des fenêtres, des listes déroulantes, des boutons, tout ce qu'on trouve dans une fenêtre d'ordi, mais aussi des boites de dialogue système pour afficher une arborescence de disque ou modifier une couleur, autant d'objets qu'on trouve dans un système d'exploitation. Est-ce suffisant pour placer ce BASIC dans la catégorie de la programmation orientée objet ? Peut-être que j'appréhende mal le concept, car j'ai déjà entendu parler d'héritage de classe, de parent, d'enfant, pour des langages de programmation, sauf pour mon BASIC.
Christophe - Probablement sur une autre planète
Mageia 9 - 64 bit - 4 * Intel Core i5-4460 CPU @ 3.20GHz - Mem 7,7 Gio - GeForce GTX 1050 Ti/PCIe/SSE2
Mageia 9 - 64 bit - 4 * Intel Core i5-4460 CPU @ 3.20GHz - Mem 7,7 Gio - GeForce GTX 1050 Ti/PCIe/SSE2

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
HerbertP :
On a des instructions pour gérer des fenêtres, des listes déroulantes, des boutons, tout ce qu'on trouve dans une fenêtre d'ordi, mais aussi des boites de dialogue système pour afficher une arborescence de disque ou modifier une couleur, autant d'objets qu'on trouve dans un système d'exploitation. Est-ce suffisant pour placer ce BASIC dans la catégorie de la programmation orientée objet ? Peut-être que j'appréhende mal le concept, car j'ai déjà entendu parler d'héritage de classe, de parent, d'enfant, pour des langages de programmation, sauf pour mon BASIC.
Non, il faut le voir autrement.
Par exemple, un langage
On peut imaginer un système de porte. On définit une structure avec ses propriétés et pour modifier ses propriétés, on utilise une fonction :
Code TEXT :
structure_porte={ etat, couleur }; Fonction_ouvrir(instance_porte){ instance_porte.etat=ouvert; } Maporte=structure_porte; Fonction_ouvrir(Maporte);
Avec un langage de programmation objet, c'est différent. On définit non pas une simple structure, mais un objet qui contient des propriétés et des méthodes pour s'auto-modifier :
Code TEXT :
Objet_porte { etat, couleur, Methode_ouvrir(){ etat=ouvert; } } Maporte=Objet_porte(); Maporte.Methode_ouvrir();
J'espère que cet exemple "sur le pouce" est assez parlant pour comprendre la grande différence, le changement de paradigme.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Yuusha Membre non connecté
-
- Voir le profil du membre Yuusha
- Inscrit le : 04/07/2017
- Groupes :
-
Modérateur
-
Administrateur
-
Forgeron
Par exemple le BASIC est resté longtemps le langage de programmation des calculatrices Texas Instruments car il était suffisant. Alors que le Python était déjà utilisé dans plein de domaines. Je suppose, outre le fait qu'il soit orienté objet, que les fonctions avancées du Python ne sont pas disponibles en BASIC.
Après si tu me dis : je veux faire une calculatrice en BASIC. Je pense qu'il n'y a aucun problème. On avait un puissance 4 sur notre TI avec un ami en prépa.
Par contre si tu veux développer un code éléments finis ou une IA en BASIC, ça risque d'être trop limité.
Peut-être que le BASIC manque aussi d'interopérabilité avec d'autres langages. Par exemple, le Fortran, le C et donc le C++ peuvent se parler (en fait C et Fortran se comprennent via leurs pointeurs). Donc je peux faire un back-end en Fortran et un front-end en C++. Et par extension en Python vu que C et Python peuvent communiquer. Si le BASIC n'a pas cette possibilité, il de peut qu'il est été progressivement abandonné pour cela pour les gros projets.

Yuusha Membre non connecté
-
- Voir le profil du membre Yuusha
- Inscrit le : 04/07/2017
- Groupes :
-
Modérateur
-
Administrateur
-
Forgeron
En tout cas d'après Wikipédia le Python est impéeatif et orienté objet.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Wikipedia n'aide pas. Section paradigme :
https://fr.wikipedia.org/wiki/Langage_de_programmation
Impératif (ou procédural)
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

vouf Membre non connecté
-
- Voir le profil du membre vouf
- Inscrit le : 16/08/2008
- Groupes :
Vu que c'est dans l'air du temps : La popularité de Python continue de monter en flèche : Python reste plus populaire que C et Java
Mageia 9 64 bits Plasma - Asus Prime Z690-P D4 -Intel Core i5 12600 K- 32 Go Kingston Fury Renegade DDR4-3600 Mhz- Gigabyte Nvidia RTX 3060 - Go-M2 Samsung Evo 970 1Tb-SSD 512 Gb Samsung Evo 960 -SSD 512 Gb Crucial M5

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Il existe même la possibilité de compiler son module écrit en Python pour qu'il soit plus rapide.
Yves

Meuz Membre non connecté
-
- Voir le profil du membre Meuz
- Inscrit le : 06/08/2011
- Groupes :
Ma pratique du BASIC remonte à loin, mais je ne lui trouve pas de ressemblance à Python. Ils ne sont pas de la même époque.
La plupart des langages dispose de conditions if then else. Bash par exemple.
Un programme interprété est toujours plus lent qu'un programme compilé, mais vu la puissance des processeurs d'aujourd'hui pour l'usager standard c'est négligeable.
Python est multiparadigme (impératif, orienté objet, fonctionnel) et son code est très lisible. Des atouts pour l'enseignement. Et si les profs renoncent à MATLAB, c'est d'une part à cause de la richesse des bibliothèques python, et d'autre part sa gratuité.
Quant à BASIC :
- il fallait insérer des numéros de lignes. Pas très souple
- La récursivité est possible ?
- Quels typage et quels types : int, float, string, mais les tableaux ?
- Plus généralement quelles structures de données ?
Le code BASIC était vraiment touffu. Les langages se sont orientés vers du code plus clair, plus lisible pour des raisons de maintenance.
P.S. Python est installé par défaut dans Mageia :
Code BASH :
[meuz@bureau ~]$ python3 Python 3.8.12 (default, Sep 12 2021, 19:57:22) [GCC 10.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> 5+6 11 >>>
Édité par Meuz Le 24/08/2022 à 11h45

steven Membre non connecté
-
- Voir le profil du membre steven
- Inscrit le : 18/05/2018

Perso, la 1ere "programmation" d'une IA que j'ai conçu début 90, était en basic,
elle fonctionnais très bien...
reconnaissais qui était au clavier.
apprenais a apprendre
en tirais des "conséquences" et prendre des decisions,
pouvais tenir une conversation de plus de deux cent mots..( + que certains hommes

est pas mal d'autres exécutions..
Puis après je l'ai passé en visualbasic en 91/92,
après quoi, mon I.A. devenue autonome, je suis passé a autres choses (lisp (leasp))...
Juste pour l'histoire,
aujourd'hui encore, (34 ans apres), des "écoles" "d'informatique", cherche encore comment avec du simple basic,
j'ai pu concevoir la reconnaissance au clavier

Et a cette époque on ne parlais pas de python etc

No Comment ...
Merci de ne pas 'rebondir' sur mes post's
Censor => 2025




Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie