Apprendre à coder : C++ ou Python ?

Créations

sylvain

il y a 5 ans

Le Python arrive sur Gamebuino, c’est l’occasion pour vous de découvrir ce langage pas si récent, mais de plus en plus à la mode ! Pour fêter ça, nous vous offrons la possibilité de gagner une Gamebuino META : dépêchez-vous d’aller participer à notre tirage au sort, il ne vous reste que quelques jours !

Mais, pourquoi choisir de programmer en Python ?

Si vous avez déjà parcouru quelques-uns de nos tutoriels, vous le savez déjà, le C++ était jusque-là l’unique langage supporté par la Gamebuino. Mais ce n’est bientôt plus le cas avec l’arrivée du Python ! Il y a bien entendu des similitudes entre le C++ et le Python : les deux sont orientés objet, et font parties des langages les plus utilisés en 2019. Les deux vous permettront d’apprendre la programmation, et de créer des jeux de plus en plus poussés. Toutefois, voici quelques points qui vous feront peut-être choisir le Python si vous débutez dans la programmation.

Une syntaxe plus claire
De par sa syntaxe bien moins complexe que celle du C++, il est plus simple pour un débutant de comprendre le sens d’un algorithme.

Un langage interprété
Contrairement au C++, qui doit être compilé, le Python peut être exécuté immédiatement, ce qui accélère grandement les tests : vous pouvez lancer votre jeu instantanément, sans avoir à le compiler.

Un typage dynamique
En Python, on n’a pas besoin de déclarer pas le type d’une variable avant son utilisation. Le typage est dynamique, ce qui signifie que le type n’est pas précisé explicitement. Il est implicitement lié à l'information manipulée. Cela rend le code moins lourd et plus simple à aborder pour les débutants.

Pas besoin de logiciel à installer
Contrairement au C++ pour lequel l’installation de l’IDE Arduino est requise, avec Python vous n'avez pas besoin de compilateur. Vous pouvez donc vous contenter d'utiliser votre éditeur de code favori, et simplement glisser le fichier vers votre Gamebuino pour tester.

Moins de lignes de code
Tous les points précédents vont dans le même sens : avec Python, vous codez de manière plus synthétique en écrivant moins de lignes de code. Vous allez pouvoir programmer vos prototypes de jeux beaucoup plus rapidement, et arriver très vite à un résultat !


Au final ?

 Vous l’aurez compris, Python propose de nombreux avantages pour faciliter l’apprentissage de la programmation pour les débutants. Mais il permet aussi la création de programmes très poussés ! Le C++ reste néanmoins un langage très puissant et très performant que nous conserverons sur la Gambuino. Vous n'aurez que l'embarras du choix !


Participez à notre tirage au sort dès maintenant !

Voir la création

Martisse

NEW il y a 5 ans

Ça je l'avais remarqué, pour du python il suffit d'écrire print("Hello World") , pour du c++ ( programme console) il faut 7 lignes de codes !

alxm

NEW il y a 5 ans

Impressive work, I look forward to trying it out when it's ready!

davehoran

NEW il y a 5 ans

I'm excited to use Python on the Meta!

elefas

NEW il y a 5 ans

That's great news, looking forward to it, cause C++ is very powerful, but Python is much more easier and friendly. Python will boost up the community!

jicehel

NEW il y a 5 ans

Yes, have we already the date of the Python launch ?

Steph

NEW il y a 5 ans

Snake could be a perfect tutorial for launching Python ;-)

jicehel

NEW il y a 5 ans

Yes, pong solo, pong duo, wall breaker, snake, ... easy examples are alot but all fine to learn

Steph

il y a 5 ans

I meant Snake because... well... Python! You need to get some sleep jicehel ;-)


Steph

NEW il y a 5 ans

jicehel jicehel

I meant Snake because... well... Python! You need to get some sleep jicehel ;-)


jicehel

NEW il y a 5 ans

Yes, i missed it...  lol.. Well done Steph  ;)

JPBONNAFOUS

NEW il y a 5 ans

Et ça arrive qd MicrPython sur META ? trop Hate

jicehel

NEW il y a 5 ans

Normalement c'est prévu d'ici une semaine / quinze jours mais à confirmer par l'équipe  ;)

Xoff

il y a 5 ans

I was thinking the same thing, but infos below make me doubt:

Un langage interprété
Contrairement au C++, qui doit être compilé, le Python peut être exécuté immédiatement, ce qui accélère grandement les tests : vous pouvez lancer votre jeu instantanément, sans avoir à le compiler.

Xoff

NEW il y a 5 ans

what about performances between Python (interpreted) and C++ (compiled) ?
in game developement, depending on the game, performance could be a determinant factor..

any ideas ?

eriban

il y a 5 ans

I would assume that to run on the Gamebuino the Python code is compiled and uploaded as binary, just as C++. Given the fairly limited CPU and memory resources of the Gamebuino, I would be surprised if it is interpreted there. I am not sure though, and happy to have that either confirmed or denied though.

eriban

NEW il y a 5 ans

Xoff Xoff

I would assume that to run on the Gamebuino the Python code is compiled and uploaded as binary, just as C++. Given the fairly limited CPU and memory resources of the Gamebuino, I would be surprised if it is interpreted there. I am not sure though, and happy to have that either confirmed or denied though.

Sorunome

il y a 5 ans

The python port is based on CircuitPython, which, in turn, is based on MicroPython, and thus the code is actually interpreted on the device itself

Thierry

il y a 5 ans

It is possible to precompile your python to reduce memory footprint and improve performance.

That's what libraries uses.

I believe the tool is mpy-cross.

more details on Adafruit website.

Xoff

NEW il y a 5 ans

jicehel jicehel

I was thinking the same thing, but infos below make me doubt:

Un langage interprété
Contrairement au C++, qui doit être compilé, le Python peut être exécuté immédiatement, ce qui accélère grandement les tests : vous pouvez lancer votre jeu instantanément, sans avoir à le compiler.

eriban

il y a 5 ans

It could be that you test via an emulator, without uploading to your Gamebuino, in which case is interpreted. However, reading the announcement text more carefully, it also says that installation of software is not required, which suggests that there is no emulator nor a compiler. I then not only wonder about performance, but also about error handling. A benefit of compilation is that syntax errors are caught before uploading to the Gamebuino. We just have to wait and see, I guess. 

eriban

NEW il y a 5 ans

Xoff Xoff

It could be that you test via an emulator, without uploading to your Gamebuino, in which case is interpreted. However, reading the announcement text more carefully, it also says that installation of software is not required, which suggests that there is no emulator nor a compiler. I then not only wonder about performance, but also about error handling. A benefit of compilation is that syntax errors are caught before uploading to the Gamebuino. We just have to wait and see, I guess.