Choisir un language et apprendre

Bonjour.

Question bête: quand on est novice, comment choisir un langage de programmation?
j’ai déjà programmé en « Basic calculatrice TI », un peu en « texte DOS » à l’époque, je suis sous Linux depuis 2 ans environ mais je ne maîtrise pas le « texte LINUX ».

Ce langage proche/dérivé du Basic, utilisable sur Rpi, vous me le conseillez ou pas ?

selon se qui se lit Python serais à la fois puissant, compatible avec tout les systèmes, facile à apprendre, pourtant quand je lis vos programmes, je me sens largué à 100%

Salut,

Je cite @jelopo

Déjà des livres à télécharger ou à acheter sur le net :

Apprendre à programmer avec Python - Gérard SWINNEN (473p.)
Apprenez à programmer en Python - Vincent LE GOFF (418p.)
Programmation python - Tarek ZIADÉ (594p.)

Autres ressources

Référence de documentation française (certains articles non traduits):
3.11.4 Documentation

Apprendre Python
http://apprendre-python.com/1

OpenClassrooms
OpenClassrooms

Perso, je fais des scripts minimalistes en bash (.sh) que j’ai « appris » comme ça, sur le tas.
Je mets bien « appris » car c’est plus de la compréhension et de la tentative d’adaptation de scripts autres afin de parvenir à mes fins.

A priori, python serait un bon choix.

++

1 « J'aime »

Merci pour les infos.
Vu comme ça, ça parait plus simple.

Et entre Python 2 et 3, ça se passe comment?

Salut ,

Le python me parait un bon choix , tous dépend de tes besoin.

Pour ma part et te faire un petit retour d’expérience , j’ai fait un petit peu de python , je trouve se langage intéressant et très facile à appréhender et à déployer par rapport a du C++ par exemple .

Aujourd’hui je ne fait plus du tout de python et j’ai pas mal perdu , car je fais uniquement du shell ( le langage linux ) ,mais c’est une question de besoin , il faut je puisse faire des script le plus proche de mon architecture et j’ai pas envie ni le temps d’intégrée des modules pour se que je fait (des script d’automatisation pour réseaux et serveur au boulot ) vu que pour beaucoup de programme il y a déja pas mal de variable d’environnement propre au programme , faire des script et plus facile .

Par exemple sur openvpn c’est trés complet il ont intégré plein de fonction et de variable pour créer ses script et personnaliser a fond , chose que je ne pourrait pas faire en python (moins naturellement car c’est pas prévu ) et que j’ai pas besoin d’un interpréteur suplémentaire , se qui fait c’est plus rapide à coder , l’autre point fort c’est que tu apelle des programme au lieu de librairie et que tu peux compléter avec des option (intégrer ces programme a des fonction aussi ) en gros ta pas besoin de recoder .

Donc tout dépend de se que tu a besoin mais python est un trés bon choix pour exploiter le raspberry en plus c’est plus portatif comme tu l’a dit plus haut .

il y a quelque différence notable , pour moi un truc qui m’a fait m’arracher les cheveux lors du passage du 2 à la 3

c’est la déclaration des types de variables python 3 est très stricte dans ses opérateur de comparaison et par exemple il ne reste que un seul type d’entier dans python 3 , alors que python 2 était vachement plus souples (attention je dis pas que c’est une qualité )

pour te donner un exemple dans python 2 tu pouvais comparer une variable contenant des chiffre avec une autre comprenant des chaînes de caractères (des lettres) sans déclaration au préalable du type de variable python 2 se débrouillait se qui pouvait donner des incohérence dans certain cas , se qui n’est plus le cas aujourd’hui sur python 3

il y aussi les cas de print (je m’y suis fait très vite )

dans python 2 tu écris comme sa

print "salut alynx "

et dans 3 tu rajoute des parenthèse

print ("salut alynx ")

sa peur paraître anecdotique ces 2 exemple (les type de variable et le print )

mais si tu dois passer de 2 à 3 tu dois récrire l’intégralité du code .

Moi j’ai commencer par le 2 car à l’époque le python2 était l’interpréteur par défaut dans les distrib linux .

Je ne saurais te conseiller entre le 2 et le 3 (car jsui pas dev python ) , si tu commence par le 2 et que tu passe au 3 tu trouvera celui la plus difficile .

Salut,

Très bonne réponse de @jojo comme toujours.
Je ne juge pas sur le fond puisque je n’y connais rien, mais c’est intéressant et explicite.
Si je fais le parallèle à mes « auto-apprentissages », je conseille le langage le plus strict (donc Python3 ici).

En effet, les exemples de @jojo me font penser à mes début de « codage » en html puis la migration en Xhtml strict 1.0 (je voulais un site internet respectueux des normes et des gens, notamment en handicap) :
Les trucs qui passaient ne passent plus (erreurs) et tu dois TOUT reprendre/retravailler.
Alors que si c’est directement respectueux des règles les plus fortes = ça passera avec les moins contraignantes :slight_smile:

Après, c’est une façon de voir les choses.
Dans la vis, faut parfois démarrer simple et pousser le vice au fur et à mesure.
Par exemple, tu apprends à te tenir debout ; tu apprends à marcher ; tu apprends à courir ; et ensuite, si tu te mets à la course à pied si tu veux et tu ne feras pas à 21 km comme ça tout seul dès la naissance !
Mais dans les codes (je ne suis en rien un codeur mais un bidouilleur), je ne suis pas partisan de cette démarche.
Je pense que si tu sais intégrer les règles les plus strictes (quitte à en baver au début), alors tu sauras faire plus souple.
D’ailleurs, les animaux savent courir dès le début car ils doivent répondre à la règle la plus stricte = survivre :smile:

++

Salut,

Dans tous les cas, Python (2&3), est un langage très utilisé dans le monde du Raspberry pi.
Nous évoquons souvent sur le forum, le logiciel Motion dédié à la détection et la vidéosurveillance. Il est écrit en Python.
Perso, je m’intéresse à OpenCV, une application qui permet de réaliser de la détection et reconnaissance d’objets, animaux et visages. Les programmes sont réalisés majoritairement en Python, même si l’on trouve l’équivalent en C++.
SenseHat, le petit module à matrice Led (mesure de T°, pression…) à insérer dans le GPIO, utilise aussi Python.
Pour conjuguer Python et le Raspberry, ce livre a une bonne approche pédagogique : Libérez le potentiel de votre Raspberry Pi

Python good choice :snake:

Ok, bah, alors je vais essayer d’apprendre le Python 3.

Question « bête » quand ont a des programmes Python qui tournent, ils renvoient une information au truc qui effectue leur instructions (ça s’appelle un « interpréteur de commande », c’est bien ça?) pour leur dire qu’il est écrit en 2 ou en 3?
La compatibilité se gère comment?
On peut faire tourner sur la même bécane du Python 2 et du 3?

Arrête de te poser des questions et lance toi :stuck_out_tongue_winking_eye:

2 solutions

1)Soit en lançant l’interpréteur

Si tu veux du 2 tu tape dans ta console

python2 script.py

et pour le 3

python3 script.py

remplace script par le nom de ton script .

  1. si tu lance en cliquant dessus ou a travers des script ou autre console

à la premier ligne de celui si tu mets

#!/usr/bin/python3

@jojo: merci pour l’info!
@Gpapig: je vais m’y mettre :wink:

Je suis sous Ubuntu 16.04 et Python 2 (2.7.12) est déjà installé par défaut, je vais donc installer Python 3.