Programmation : découvrez les sept raisons pour lesquelles vous devez apprendre le langage Python
Selon myTectra
Le 2017-05-01 19:22:45, par Malick, Community Manager
Selon le cabinet myTectra, un spécialiste des solutions d'apprentissage, Python est le langage favori d'un très grand nombre de développeurs comparé à d'autres langages comme Java, PHP, C++, etc. Selon lui, cela est principalement dû à la clarté de ses lignes de code et à son efficacité. « Python est un vieux langage certes (la première version est sortie en 1990), mais il n'est pas plus vieux que Cobol ou Fortran . Donc, pourquoi le changer d'autant plus qu'il continue d'être efficace et qu'il existe plusieurs façons de l'améliorer », s'interroge myTectra. Ce dernier estime que la longévité en tant que telle est une bonne chose, car c'est signe de stabilité et de fiabilité.
Dans son analyse, myTectra soutient que beaucoup de développeurs ne considèrent pas Python comme une compétence nécessaire pour entrer dans le monde de la programmation ; cela parce qu'il est facile à apprendre. « Si vous êtes comme beaucoup de personnes qui ont commencé avec Java, C ou Perl, la courbe d'apprentissage de Python est pratiquement inexistante », a ajouté le spécialiste des solutions d'apprentissage.
Citant personnellement son cas, l'ingénieur en informatique Venkatesan affirme que son amour pour Python s'est développé au fil des années. En effet, il soutient qu'il lui a fallu plusieurs années d'apprentissage pour se rendre compte des nombreuses possibilités qu'offre ce langage. Cela dit, afin de convaincre les informaticiens de la nécessité d'apprendre Python, l'ingénieur Venkatesan présente ci-dessous les sept raisons pour lesquelles il est utile pour les développeurs d'apprendre le langage Python.
Python est facile à apprendre
Comparé à plusieurs langages de programmation actuellement disponibles, Python est de loin le plus facile à étudier. La syntaxe des lignes de code présente une certaine clarté, ce qui en facilite la lecture et la compréhension, même si vous n'êtes pas un expert en Python. Venkatesan soutient que l'apprentissage et l'enseignement de Python à travers des cas pratiques constituent une très bonne approche, car la syntaxe de Python obéit à moins de règles par rapport à d'autres langages. En effet, l'accent est principalement mis sur l'objectif à atteindre en exécutant votre code.
Python est un langage de choix, c'est-à-dire à usage général
Python est un langage de programmation interprété, interactif, orienté objet et de haut niveau à usage général. Selon l'ingénieur Venkatesan , Python est aujourd'hui le langage de programmation le plus populaire. Les développeurs ont aujourd'hui la latitude de faire de Python leur langage privilégié dans presque tous les domaines de l'informatique, y compris le développement Web, le cloud computing (AWS, OpenStack, VMware, Google Cloud, etc.), l'automatisation, les tests de logiciels, Big Data (traitement de gros volumes de données), Hadoop, etc.
Python permet de créer plus de fonctions avec moins de lignes de code
Python permet aux développeurs de créer des fonctions avec moins de lignes de code, ce qui ne serait pas le cas avec d'autres langages de programmation. C'est un langage facile à apprendre et avec la pratique, il devient possible de créer rapidement un jeu rudimentaire en deux jours. Un autre facteur qui fait de Python un langage de programmation intéressant pour les novices est sa lisibilité et son efficacité.
Python est un langage polyvalent et multiplateforme
« Python est actuellement âgé de 28 ans. Même s'il est plus vieux que beaucoup de mes lecteurs, il reste très intéressant, car il peut s'appliquer à peu près à tous les types de développement en l'occurrence la conception de logiciels, le développement Web, etc. », a affirmé l'ingénieur Venkatesan. Il ajoute qu'il est également possible d'utiliser Python pour gérer des infrastructures en local ou se trouvant dans le cloud, pour travailler sur des bases de données, pour créer des fonctions personnalisées intégrées aux logiciels d'analyse de données comme Hive ou Pig. Venkatesan soutient également que pour construire un outil à usage personnel, Python est un excellent choix.
« En résumé, investir un peu d'effort pour apprendre Python vous donnera des compétences qui ne feront que vous valoriser sur le marché de l'emploi », déclare Venkatesan.
Python dispose de l'un des gestionnaires de paquets les plus matures : PyPI
D'après Venkatesan, une fois que le langage est assimilé, l'utilisateur sera en mesure d'exploiter pleinement la plateforme. En effet, Python est soutenu par PyPi, un dépôt de plus de 85 000 modules Python contenant des scripts prêts à l'emploi. Ces modules fournissent des fonctionnalités à votre environnement Python local et permettent de résoudre divers problèmes relatifs notamment au fonctionnement des bases de données, à l'analyse de données, à la création de services Web RESTful, etc.
Pour rappel, PyPI (de l'anglais « Python Package Index ») est le dépôt tiers officiel du langage de programmation Python. Son objectif est de doter la communauté des développeurs Python d'un catalogue complet recensant tous les paquets Python libres. Il est analogue au dépôt CPAN pour Perl.
Python est un langage couramment utilisé dans la science des données
Selon Venkatesan, Python, à côté du langage R, est le langage le plus utilisé dans la science moderne des données. La preuve, les offres d'emploi pour lesquelles il est nécessaire d'avoir des compétences en Python sont plus nombreuses que celles qui nécessitent des compétences en R. Venkatesan ajoute que les compétences que vous développez en apprenant Python seront également assimilées à des compétences dans le domaine de l'analytique.
Python est multiplateforme et open source
Python est utilisable sur plusieurs plateformes et est open source il y a de cela plus de 20 ans. Si vous avez besoin d'un code qui fonctionne sur aussi bien Linux que Windows et MacOS, pensez à Python.
L'ingénieur informaticien en l'occurrence Venkatesan a également tenu à mettre en évidence la flexibilité du langage Python. Il rappelle qu'il existe plusieurs implémentations robustes de Python qui sont intégrées à d'autres langages de programmation. Parmi celles-ci, nous avons :
En conclusion, Venkatesan affirme qu'il n'y a pas beaucoup de langages de programmation qui offrent la polyvalence et la simplicité de Python. « Que vous soyez nouveau ou expert en programmation, Python est quelque chose que vous devez savoir », a-t-il déclaré.
Source : myTectra
Et vous ?
Qu'en pensez-vous ?
Voir aussi
Le Stanford CS choisit le JavaScript comme langage d'initiation à la programmation en 2017, cela aux dépens de Java
Dans son analyse, myTectra soutient que beaucoup de développeurs ne considèrent pas Python comme une compétence nécessaire pour entrer dans le monde de la programmation ; cela parce qu'il est facile à apprendre. « Si vous êtes comme beaucoup de personnes qui ont commencé avec Java, C ou Perl, la courbe d'apprentissage de Python est pratiquement inexistante », a ajouté le spécialiste des solutions d'apprentissage.
Citant personnellement son cas, l'ingénieur en informatique Venkatesan affirme que son amour pour Python s'est développé au fil des années. En effet, il soutient qu'il lui a fallu plusieurs années d'apprentissage pour se rendre compte des nombreuses possibilités qu'offre ce langage. Cela dit, afin de convaincre les informaticiens de la nécessité d'apprendre Python, l'ingénieur Venkatesan présente ci-dessous les sept raisons pour lesquelles il est utile pour les développeurs d'apprendre le langage Python.
Python est facile à apprendre
Comparé à plusieurs langages de programmation actuellement disponibles, Python est de loin le plus facile à étudier. La syntaxe des lignes de code présente une certaine clarté, ce qui en facilite la lecture et la compréhension, même si vous n'êtes pas un expert en Python. Venkatesan soutient que l'apprentissage et l'enseignement de Python à travers des cas pratiques constituent une très bonne approche, car la syntaxe de Python obéit à moins de règles par rapport à d'autres langages. En effet, l'accent est principalement mis sur l'objectif à atteindre en exécutant votre code.
Python est un langage de choix, c'est-à-dire à usage général
Python est un langage de programmation interprété, interactif, orienté objet et de haut niveau à usage général. Selon l'ingénieur Venkatesan , Python est aujourd'hui le langage de programmation le plus populaire. Les développeurs ont aujourd'hui la latitude de faire de Python leur langage privilégié dans presque tous les domaines de l'informatique, y compris le développement Web, le cloud computing (AWS, OpenStack, VMware, Google Cloud, etc.), l'automatisation, les tests de logiciels, Big Data (traitement de gros volumes de données), Hadoop, etc.
Python permet de créer plus de fonctions avec moins de lignes de code
Python permet aux développeurs de créer des fonctions avec moins de lignes de code, ce qui ne serait pas le cas avec d'autres langages de programmation. C'est un langage facile à apprendre et avec la pratique, il devient possible de créer rapidement un jeu rudimentaire en deux jours. Un autre facteur qui fait de Python un langage de programmation intéressant pour les novices est sa lisibilité et son efficacité.
Python est un langage polyvalent et multiplateforme
« Python est actuellement âgé de 28 ans. Même s'il est plus vieux que beaucoup de mes lecteurs, il reste très intéressant, car il peut s'appliquer à peu près à tous les types de développement en l'occurrence la conception de logiciels, le développement Web, etc. », a affirmé l'ingénieur Venkatesan. Il ajoute qu'il est également possible d'utiliser Python pour gérer des infrastructures en local ou se trouvant dans le cloud, pour travailler sur des bases de données, pour créer des fonctions personnalisées intégrées aux logiciels d'analyse de données comme Hive ou Pig. Venkatesan soutient également que pour construire un outil à usage personnel, Python est un excellent choix.
« En résumé, investir un peu d'effort pour apprendre Python vous donnera des compétences qui ne feront que vous valoriser sur le marché de l'emploi », déclare Venkatesan.
Python dispose de l'un des gestionnaires de paquets les plus matures : PyPI
D'après Venkatesan, une fois que le langage est assimilé, l'utilisateur sera en mesure d'exploiter pleinement la plateforme. En effet, Python est soutenu par PyPi, un dépôt de plus de 85 000 modules Python contenant des scripts prêts à l'emploi. Ces modules fournissent des fonctionnalités à votre environnement Python local et permettent de résoudre divers problèmes relatifs notamment au fonctionnement des bases de données, à l'analyse de données, à la création de services Web RESTful, etc.
Pour rappel, PyPI (de l'anglais « Python Package Index ») est le dépôt tiers officiel du langage de programmation Python. Son objectif est de doter la communauté des développeurs Python d'un catalogue complet recensant tous les paquets Python libres. Il est analogue au dépôt CPAN pour Perl.
Python est un langage couramment utilisé dans la science des données
Selon Venkatesan, Python, à côté du langage R, est le langage le plus utilisé dans la science moderne des données. La preuve, les offres d'emploi pour lesquelles il est nécessaire d'avoir des compétences en Python sont plus nombreuses que celles qui nécessitent des compétences en R. Venkatesan ajoute que les compétences que vous développez en apprenant Python seront également assimilées à des compétences dans le domaine de l'analytique.
Python est multiplateforme et open source
Python est utilisable sur plusieurs plateformes et est open source il y a de cela plus de 20 ans. Si vous avez besoin d'un code qui fonctionne sur aussi bien Linux que Windows et MacOS, pensez à Python.
L'ingénieur informaticien en l'occurrence Venkatesan a également tenu à mettre en évidence la flexibilité du langage Python. Il rappelle qu'il existe plusieurs implémentations robustes de Python qui sont intégrées à d'autres langages de programmation. Parmi celles-ci, nous avons :
- CPython, une version avec C. Pour rappel, CPython est l'implémentation de référence du langage Python. C'est un interpréteur de bytecode écrit en langage C ;
- Jython, ou Python intégré avec Java. Ce dernier, anciennement nommé JPython, est un interprète Python écrit en Java et créé en 1997 par Jim Hugunin ;
- IronPython qui est conçu pour être compatible avec .NET et C#
- PyObjc, ou Python écrit avec le langage ObjectiveC ;
- RubyPython, ou Python combiné avec Ruby.
En conclusion, Venkatesan affirme qu'il n'y a pas beaucoup de langages de programmation qui offrent la polyvalence et la simplicité de Python. « Que vous soyez nouveau ou expert en programmation, Python est quelque chose que vous devez savoir », a-t-il déclaré.
Source : myTectra
Et vous ?
Voir aussi
-
wiztricksExpert éminent séniorSalut,
Dans WAMP/LAMP, le "P" est l'initiale de PHP, Perl ou Python. Donc en cherchant un peu vous allez trouver des tutos. pour configurer [L|W]AMP avec Python (même si cette "stack" me semble un peu dépassée depuis 2004).
- Wle 01/05/2017 à 21:00 -
RyzenOCInactifil est aussi installé de base sur quasi toute les distrib linux. C'est la raison principale qui fait que je l'avais choisit pour remplacer les scripts bash.
Couteau suisse des langages, il ces tous faire : web, client léger, client lourd, jeux vidéos...
Il s’intègre très bien à d'autre langages/environnement, par exemple on peut l’utiliser dans blender, maya, on peut mette de l'opencl dans ces scripts pythons pour certains calcules lourds...etc.
Il a 3 défauts selon moi :
Les performances, je le compare pas à du C hein, mais à PHP7 par exemple.
Pour le multiplate-forme sur mobile j'ai pas trouvé grand chose, sur IOS que dalle et sur android j'ai pu trouvé 2-3 trucs mais j'ai laissé tombé je comprenais rien, si quelqu'un avait des infos/liens sur le sujet.
La programmation multicœurs qui est vite laborieuse, le langage n'étant pas prévue pour cela à la base, il y'a beaucoup de limitations. Le partage d'un objet entre 2 processus par exemple est très complexe. Si quelqu'un a des solutions simple la dessus sa m’intéresse,
Voici la solution que j'utilise, la seul que j'ai trouvé la plus simple, efficace et souple, pour le coup en C c'est 1000 fois plus simple.Code : 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71import multiprocessing as m import pickle #code "universelle" class Store: pass class Shareable: def __init__(self, size = 2**10): object.__setattr__(self, 'store', m.Array('B', size)) o = Store() # This object will hold all shared values s = pickle.dumps(o) store(object.__getattribute__(self, 'store'), s) def __getattr__(self, name): s = load(object.__getattribute__(self, 'store')) o = pickle.loads(s) return getattr(o, name) def __setattr__(self, name, value): s = load(object.__getattribute__(self, 'store')) o = pickle.loads(s) setattr(o, name, value) s = pickle.dumps(o) store(object.__getattribute__(self, 'store'), s) def store(arr, s): for i, ch in enumerate(s): arr[i] = ch def load(arr): l = arr[:] return bytes(arr) #tes objects ou structure a partager, voici un exemple class Foo(Shareable): def __init__(self): super().__init__() self.f = 1 self.f2 = 1 self.mylist=[0,1,2,3,4,5,6] def foo(self): self.f += 1 """while True: self.f2+=1""" def Otherprocess(s): print("Process2 :") print(s.f) s.mylist=[0] """while True: s.f2+=1""" if __name__ == '__main__': import multiprocessing as m import time s = Foo() print(s.f) p = m.Process(target=s.foo, args=()) p.start() #p.join() p2 = m.Process(target=Otherprocess, args=(s,)) p2.start() time.sleep(1) print("Process1 :") print(s.f) print(s.mylist)
le 01/05/2017 à 21:24 -
martopiocheMembre éclairémod_wsgi pour Apache, wsgi est intégré à Ngnix depuis la 0.8.40…il existe des solutions clés en main pour les windosiens (comme easyphp/wamp and co..) (je précise je suis sous GNU/Linux)
Voilà, bidon… Quand on trouvera un autre langage qui propose des features type listes en intension (ok, Haskell puisque c'en est inspiré…) ou interprétation booléenne des types (je ne vais pas faire toute la liste), bah on en reparle… Déjà, on peut oublier l'indentation automatique.
Mais en plus, je ne trouve pas ça très lisible, surtout la dernière ligne du def.
Il faut vraiment être certain de son indentation, sinon ça ne fera pas du tout la même chose.
De plus, avoir un code trop dense est parfois aussi une cause de problème de lisibilité par d'autres.
Ce serait un argument merveilleux si la plupart des distribs Linux se rappellent qu'on est en 2015 et qu'il serait temps de mettre Python 3 par défaut…*Ah oui, on n'est même plus en 2015…Les performances, je le compare pas à du C hein, mais à PHP7 par exemple.
Pour le multiplate-forme sur mobile j'ai pas trouvé grand chose, sur IOS que dalle et sur android j'ai pu trouvé 2-3 trucs mais j'ai laissé tombé je comprenais rien, si quelqu'un avait des infos/liens sur le sujet.
pour le coup en C c'est 1000 fois plus simple.
Pourquoi faire avec Python ???2. en production, c'est quoi l'équivalent de apache-php / nginx-php ?
le 02/05/2017 à 2:06 -
ZeflingExpert confirméL'exemple est un peu bidon... En PHP :
Code PHP : echo "Hello, world!";
J'ai trouvé un autre langage qui fait la même chose en une ligne.
Ce qui me pose problème en Python, c'est quand je tombe sur ce genre de code (pris sur la page de Wikipédia) :Code Python : 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21def queens(n): a = list(range(n)) up = [True] * (2 * n - 1) down = [True] * (2 * n - 1) def sub(i): for k in range(i, n): j = a[k] p = i + j q = i - j + n - 1 if up[p] and down[q]: if i == n - 1: yield tuple(a) else: up[p] = down[q] = False a[i], a[k] = a[k], a[i] yield from sub(i + 1) up[p] = down[q] = True a[i], a[k] = a[k], a[i] yield from sub(0) sum(1 for a in queens(8))
De plus, avoir un code trop dense est parfois aussi une cause de problème de lisibilité par d'autres. Je suis tombé sur des choses merveilleuses faites en une ligne, et le résultat est que je trouve une expression régulière complexe parfois plus compréhensible.
Après, j'avoue que je suis trop habitué à tout ce qui formatage type qui ressemble à du C (PHP, Java, JS, TS, HaXe et même CSS).le 01/05/2017 à 20:53 -
martopiocheMembre éclairéSauf que tout le monde n'a pas fait de manière innée un autre langage avant, et du point de vue pédagogique, Python avec Swift est le langage qui offre le meilleur contexte d'enseignement.
Si on s'adresse à des développeurs avec un vécu, j'admet que la résistance a été d'une part que le langage ne permet pas une copie conforme des sources de son langage de prédilection et d'autre part qu'on passe sur un langage dynamique et que c'est la panique car le compilateur était utilisé en tant que validateur…mais si tu présentes Python a quelqu'un qui vient d'un langage à EDI/Rad, il te dira "c'est chiant", quand-esct qu'on arrive enfin à la ligne qui créer une interface graphique et qui gère l'accès à la base de données.ps : je suis tjrs à la recherche d'un RAD/EDI à base de python (genre un Visual Python .. , si qqun a des infos)c'est usant et assez stupide de la part de l'auteur de cet article de mettre en valeur le fait qu'on peut en faire plus avec moins de ligne de code car ça rend le code illibile et plus difficule à débugger tellement en une ligne de code (avec des fonctions dont le nom fait 2 ou 3 caractères) mal nommées.Allez donc débugger le code d'une autre personne... et vous verrez bien que ce n'est pas une qualité de pouvoir faire en une ligne de code quelque chose d'apparement "puissant" (puissant dans le sens marketing stupide du terme)euh...là étrangement en 10ans, j'ai jamais eu affaire à manipuler cela. à part installer python via la distrib deb et choisir les bons paquets (apt-get install...etc), je n'ai pas plus d'expérience à apporter dessus.il parraît que c'est vrai, mais je crois que ça vient du lobby des scientifiques à qui ont apprenait python dans la section math sup/inso/spé... donc je ne pense pas que ce soit pour une cause réelle et sérieuse.- c'est noir : bcp trop d'éditeur mal foutu déprimant : vi,vim... de très rares (et tardif) bon éditeur (type EDI sans être rAD) sont venu après mais payant... Ces écrans noirs, au final ça déprime...- le débuggage : merdique , désolé mais les messages d'erreurs sont toujours à 15000 lignes de la ligne de code concernés, surtout quand tu utilises bcp de lib/paq/imports- trop de variances de version/paquets posant de sacrés problèmes de mise à jourle 02/05/2017 à 2:39 -
lulu7InactifPourquoi faire avec Python ???le 02/05/2017 à 8:09
-
hotcryxMembre extrêmement actifJe te comprends, le For pue sévère si on a 2 pages de codes.
Décompose en fonctions/procéduresle 02/05/2017 à 13:32 -
Aurelien.Regat-BarrelExpert éminent séniorJette un oeil à Go : c'est un langage qui s'apprend vite quand on vient de Python, qui est compilé en un exécutable autonome (gros avantage sur Python à mon avis) dont les performances peuvent soutenir une comparaison avec C, et qui intègre nativement une abstraction pour la concurrence (les goroutines).
Pour le big data je sais pas, mais pour les data science Python est clairement un leader. Typiquement Python est utilisé comme wrapper sur des libs écrites en C ou C++ : numpy, igraph, tensorflow, sql... donc on peut avoir de bonnes perf si on l'utilise comme glue pour combiner des briques optimisées. C'est d'ailleurs un domaine où ce langage excelle.
Ce que je lui reproche c'est la galère à redistribuer une application développée avec (lourdeur d'un virtual env, dépendances qui pètent au runtime, ...). Cela dit grâce à Docker (et Jupyter) ça va mieux... sous Linux du moins!le 03/05/2017 à 2:43 -
RyzenOCInactifNon ce qu'il faut c'est imposer l'abandon de Python 2.x
Toute les distrib linux se trimballe encore python 2.7... ils pourrais mettre à jours leurs scripts python depuis le temps... Moi j'ai fait cette effort sa fait 3ans et j'en avais des programmes codé en python 2. Donc ne me dite pas que c'est impossible.le 05/05/2017 à 15:01 -
imikadoRédacteurJe suis désolé, mais autant pour java,c# qui sont des langages précompilés, ou c/c++ sont des langages compilés sont "forcément" plus verbeux, mais php ...
J'aimerai bien voir un comparatif avec php qui est un des langages les plus faciles à apprendre, de plus pour faire du web...
D'ailleurs actuellement, pour faire du python en production on peut utiliser quoi ? il y a un module sur apache, nginx ou autre ?
il existe des solutions clés en main pour les windosiens (comme easyphp/wamp and co..) (je précise je suis sous GNU/Linux)le 01/05/2017 à 20:35