Python, pour une programmation plus simple

Indentation de Python
Le code Python doit être indenté
(Monty Python à l'oeuvre)

Une journée suffit pour démarrer la programmation avec Python et vous pouvez écrire en quelques heures des scripts requérant des jours avec d'autres langages. C'est un langage interprété largement utilisé et portable .
Il a des fonctionnalités puissantes comme les listes, les tuples, les dictionnaires, cela vous permet de traduire vos idées en lignes de code très facilement.
Ces listes intégrées en font un successeur de Awk et tout autre langage de traitement de texte.  

L'origine du nom est un hommage au groupe humoristique "Les Monty Python", mais le serpent homonyme est néanmoins devenu le symbole du langage.
L'auteur du langage, Guido Van Rossum, a été employé de Google de 2005 à 2012 et travaille pour Dropbox depuis. Cependant, en 2014, Dropbox a converti une grande partie de ses programmes en Go, une tendance actuelle dans les services web.

Evolution

Conçu sur la base du langage ABC qui était un modèle quand à la simplification d'un langage de programmation (les variables conservaient même leur valeur d'une session à l'autre), Python est au départ un langage très simple à lire.
Mais les programmeurs ne résistent jamais longtemps à leur mauvais démon qui les incite a écrire du code de plus en plus alambiqué et crytographique, ce qui amène le langage a connaître une évolution dans la complication qui avec le temps le rapproche du langage C++. La même fonction dans le même langage peut devenir de moins en moins compréhensible, pour le plus grand plaisir du "génial programmeur".

Bien qu'apparu en 2008, Python 3 est toujours moins utilisé en 2016 que à Python 2. L'incompatibilité avec les précédentes version sans apporter de gain en performance décourage la transition. La peur que les bibliothèques existantes ne soient pas compatibles, ce qui est souvent le cas, freine aussi son adoption.
C'est pourquoi une version non officielle de l'interpréteur, Python 2.8 (la dernière version officielle est la 2.7) est apparue qui apporte à Python 2 de nouvelles capacités introduites dans la 3 comme async/await par exemple.

Plusieurs projets ont pour but d'accélérer Python, en le compilant en C avec CPython, ou avec une machine virtuelle avec Jython. Le projet Unladen Swallow de faire fonctionner Python sur LLVM a été abandonné en raison des obstacles techniques, notamment la compatibilité impossible avec les bibliothèques en C.

En fait Python, comme langage d'entreprise est dans une impasse: l'interpréteur standard, n'est pas conçu pour l'environnement moderne de processeurs à multi-coeurs. Il est trop lent. On peut utiliser des implémentations alternatives dont une qui utilise un JIT. Mais dans ce cas on perd la compatibilité avec les extensions et bibliothèques, qui sont en fait la première raison de choisir ce langage.

Scripting dynamique

Ce langage de script peut être utilisé sur le serveur, ou comme langage d'application.

Python 3.0 change la syntaxe du langage ce qui la rend partiellement incompatible avec les précédentes versions, au point qu'on le considère un peu comme un nouveau langage parmi les anciens utilisateurs.

Ce que l'on reproche souvent au langage, quelle que soit la version:

On peut comparer la syntaxe de Python, Ruby, PHP pour mieux juger de la lisibilité.

Des exemples de code...

Afficher les lettres d'un mot:

s = "demo"
for c in s:
  print c

Afficher les éléments d'une liste:

listdemo = [1,2,3] + [4,5]
subdemo = listdemo[1:3]
for num in subdemo:
     print num

Doit afficher: 2 3 4...

On peut réaliser des programmes en Python plus facilement avec un EDI gratuit comme Eclipse pour lequel on trouvera de nombreux exemples d'utilisation sur le Web, ou si on est plus impliqué, un logiciel commercial comme PyCharm.

Voici une liste des principaux outils pour écrire des scripts Python:

Langages de programmation et de données Asm.js - Basic - C - C++ - C# - Dart - Eiffel - Go - Java - JavaScript - Julia - Pascal - PHP - Python - Ruby - Scala - Scriptol - TypeScript - HTML - Wasm - XML - XAML - SQL