Sélectionner une page
Python ou Ruby quel langage choisir ?

Python ou Ruby quel langage choisir ?

Voilà plusieurs mois que je me pose la question : Python ou Ruby ?
je souhaitais depuis un moment me lancer dans l’apprentissage de l’un ou de l’autre sans réellement savoir ce que j’allais en retirer. J’ai fait pas mal de recherche sur le web et finalement je tournais en rond car les questions et réponses que je trouvais ne me correspondaient pas.
Du coup pour faire mon choix je me suis posé quelques questions.

Quels types de projets je peut réaliser ?

En effet, si je souhaite développer une application mobile ou bien un jeux vidéos (voir les deux), ou encore si je souhaite réaliser un réseau social en mode web ou des scripts pour faire dialoguer avec une application mobile et une web app, certains langages sont naturellement plus orienté vers telles ou telles tâches et du coup certains autres sont à proscrire.

Dans mon cas, ne connaissant pas l’avenir, je me suis focaliser sur le présent et donc de mes besoins actuels.
Je me suis arrêté au fait que j’avais besoin d’un langage qui me servirais non seulement pour développer des web apps (voir du mobile) mais également pour faire de l’AdminSys (administration de serveur). En gros, qui pourrait me passer de développeur web (dans une certaine mesure) pour Shyne! et qui me servirai dans mon boulot actuel (création de scripts serveur).
Je fais un peu de PHP depuis pas mal d’années et j’avais envie d’aller voir ailleurs et ces deux langages que sont Python et Ruby m’attirent de plus en plus. Encore une fois, je ne sais pas précisément ce que je voudrai faire, du coup j’ai préféré réfléchir à des « situations » auxquelles je suis confronté la majeur partie du temps.

Ensuite ces deux langages sont suffisamment puissants pour mettre en place de petits projets comme de très grands (Youtube, Google, Instagram, Pinterest, Twitter sont écrit en Python par ex., du côté de Ruby on nommera GitHub, Dreeble, Twitch, Shopify et AirBnB en autre). Il me faut donc un langage qui « donne » des programmes qui s’exécutent le plus rapidement possible et qui peuvent supporter des projets scalables.

Existe-t-il beaucoup de tutoriels et sous quels format ?

Étant seul dans mon coin (physiquement) dans mon apprentissage, si j’opte pour un langage de programmation je m’attacherai au fait qu’il existe beaucoup de ressources gratuites sur le web et dans une langue que je comprends. Là il s’agit de savoir s’il existe une forte communauté pour éviter de passer trop de temps bloqué sur des problèmes de débutant et pour éviter de réinventer la roue à chaque fois.

Python et Ruby bénéficient chacun d’une large communauté majoritairement anglophone mais également francophone. En outre, il existe beaucoup de tutoriels en ligne que ce soit sous forme de billet de blog, de cours en ligne gratuits ou non et de vidéos. Python bénéficie d’une très grande communauté de chercheurs et d’universitaires (mais pas que) ce qui est idéale pour trouver des projets expérimentaux libres pour manipuler du son ou de l’image par ex. ou encore pour l’analyse de données statistique ou administrer ses serveurs Linux.

Python ou Ruby, lequel des deux est plus facile à apprendre ?

Les deux langages sont relativement simples à apprendre. Python est plus explicite (même si très concis le code nécessitera qu’on déclare les objets et fonctions qu’on appelle) et Ruby a un côté magique (lui aussi a un code très concis mais souvent nous ferons appelle a des objets ou fonctions et avec très peu d’arguments nous seront capable de faire ce que l’on veut mais sans trop réellement savoir ce qu’il se passe dans le détail, ce qui peut rendre le debugage très long et compliqué quand on débute).

Puis-je développer en Python ou Ruby sur mes différents OS

La réponse est bien évidemment oui (même sur AmigaOS ou AROS!), utilisant Linux, MacOsX et Windows, je peux installer les environnements de développement sur chacune de mes machines et utiliser DropBox pour héberger mes dossiers de travail, ainsi quelque soit l’endroit où je me trouve je peux reprendre mes développements là où je les ai arrêté.

Ok mon choix est fait : Python

python-wallpapers-linux-wallpaper

Donc j’ai choisi de me lancer dans la programmation Python. J’ai les ressources et les matériels qu’il me faut. Je peux commencer à programmer sur mon Windows 10, poursuivre sur un portable sous Ubuntu ou sur un mac grâce à la synchronisation de mon dossier DropBox (ok le client DropBox pour Linux c’est le bordel la dernière fois que j’ai essayé… mais au pire je peux utiliser une autre solution ou bien monter mon serveur webdav et bosser dessus… à voir..)

Un des sites qui m’ont définitivement fait pencher en faveur de Python est Sam et Max, qui a publié une page listant de manière totalement non exhaustive le genre de chose que l’on peut faire avec Python.

Ce qui est également très intéressant avec Python c’est que pas mal de gros projets permettent de créer des plugins afin d’étendre leurs possibilités ou des scripts pour pouvoir les manipuler à sa guise (MineCraft, Battlefiled 2, Blender, …), piloter une wiimote ou un kinect… : http://sametmax.com/quest-ce-quon-peut-faire-avec-python/. Saviez-vous que le client BitTorrent et DropBox étaient écrit en Python ? Même la NASA l’utilise dans l’analyse de données. C’est dire la diversité des usages de ce langage!

Un autre point particulièrement intéressant est Kivy, qui permet de créer des applications Android en programmant en Python.

Voici par exemple, un Sudoku pour Android écrit en Python.
Et pour en savoir plus sur le développement d’applications Android en langage Python rendez-vous sur Quora.

J’ai recherché quelques tutos sur le web et j’en ai trouvé de très bien faits.
Je vous conseille si vous débutez totalement en programmation la chaine « les teachers du net » qui contient beaucoup de tutoriels de toutes sortes. Voici une playlist qu’ils ont créé et qui s’appelle « Initiation à la programmation avec Python » (d’une pierre deux coups : on apprend les principes de base en programmation tout en découvrant Python)

Si vous souhaitez aller plus vite voici une autre vidéo vraiment super sympa pour apprendre à programmer en Python de la chaine « MatteReal » (elle aussi très clair mais qui peut être un peu compliquée si vous n’avez aucune notion de base en programmation) :

Après avoir suivis les vidéos ci-dessus qui vous apprendront les bases de la programmation en Python, vous pourrez vous amuser à créer votre premier jeu vidéo en Python grâce à Pygame. Dans la série de vidéos publiées par Alexandre Ghelli, dont voici la première partie ici, vous apprendrez à créer clone de Flappy Bird

Il existe également un cours OpenClassRoom dédié à la création de jeux vidéos grâce à Pygame

Si cela vous intéresse, voici un article intéressant expliquant pourquoi, notamment, les data-scientists préfère Python à Ruby.

Voilà, à présent plus d’excuses, si vous souhaitez vous mettre à la programmation et que vous ne savez pas par où commencer, vous n’avez qu’à faire un premier pas en commençant avec Python qui est un langage particulièrement puissant, multiplateforme, gratuit et très léger (un vieux pc ou mac tout pourri fera l’affaire). Et si par la suite, vous souhaitez toucher à Ruby et bien lancez-vous, ce que vous aurez appris avec Python vous servira puisque Ruby qui est un langage un peu plus jeune, a été influencé par Python dans son élaboration.

Si cet article vous a plu, n’hésitez pas à le partager autour de vous !

Comment l’ennui peut vous aider à prendre de bonnes décisions

Comment l’ennui peut vous aider à prendre de bonnes décisions

A force de l’ouvrir on ne s’entend plus…. mais à force de la fermer aussi…

Imaginez que vous entrez dans une salle de classe comprenant 30 élèves. Vous vous tenez en face d’eux en silence. Tous parlent en même temps, de sujets divers et variés. Les voix sont fortes, basses, fluettes, graves, hésitantes, pleine d’assurance…

C’est un mélange assourdissant de sons dissonants. Considérons que ce qui se passe en ce moment dans cette classe est normal, habituel.

Comment voulez-vous que dans de telles conditions il soit possible pour cette classe d’obtenir de bons résultats ? Il est inutile de s’attendre à des moyennes satisfaisantes, qui témoigneraient d’un certain niveau d’accomplissement de leur programme annuel. C’est évident n’est-ce pas ?

A présent imaginez que cette classe est votre tête. Remplacez les 30 élèves par 60 000 tout aussi bruyants. Vous avez alors une bonne représentation de l’esprit de la plupart des gens (moi compris).

En songeant au fait qu’environ 60 000 pensées surgissent dans notre esprit tous les jours, bien que vivant dans le même monde physique, nous vivons tous dans des univers différents, puisqu’en définitive, ce qui détermine notre expérience des évènements est notre point vue. Et comment se construit-il ? Par notre façon de pensée.

Si nous sommes incapables d’avoir une certaine maitrise sur ce que nous pensons, nous ne pouvons faire autrement que réagir et tandis que nous pensons avoir des opinions réfléchis, nous nous contentons de réagir, ainsi nous ne sommes ni plus ni moins qu’un paquet de nerfs et de réflexes. Nous pourrons prétendre être libre, avoir le choix, il n’en est rien. Comme la plupart des gens nous sommes prévisibles et manipulables. Et comment cela se fait -il ? Nous n’avons aucune maitrise de notre pensée.

Alors dans un tel contexte, comment est-il possible de prendre de bonnes décisions ? Je ne parle pas de décisions « raisonnable » ou « du cœur » (il a bon dos). Je parle de décisions qui témoignerait d’un regard plus large, d’une plus grand vision de l’ensemble. De décisions issues de l’intuition, de l’instinct.

La réponse est simple : commencer par observer ses pensées.

Pour cela, il faut bien entendu, éviter toute distraction (télévision, radio, smartphone, réseaux sociaux, jeux vidéo, la musique, etc.). La plupart des gens évitent l’ennuie, ils le fuient. Aujourd’hui ce sont les smartphones, avant c’était des journaux, les magazines ou autre chose. Faire la queue dans une file d’attente, prendre les transports en commun, se balader dans la rue, … En réalité chaque occasion est bonne pour profiter d’un moment calme pour observer ses pensées.

Mais ce n’est pas facile, il faut apprendre à observer sans se laisser emporter. Mais à force de pratique, comme dans tout les domaines, on fini par y arriver, une fois, puis deux, puis trois etc. On peut se dire que c’est trop difficile, et qu’on ne va pas y arriver, que c’est dur : encore une fois on se laisse emporter par notre pensée, on présume du résultat sur la base de notre point de vue initial, sans même commencer à le faire. La meilleur façon de faire serait de le faire, sans y penser….juste le faire.

Ainsi, on comprend mieux ce qui se trame dans notre esprit, les schémas que nous reproduisons, les stratagèmes que nous mettons en place en raison d’un manque ou d’une crainte. Nous voyons alors pour la première fois, très clairement, très simplement, ce qui se trame à l’intérieur de nous.

L’ennui est tellement propice à ce genre de « séance d’observation » et ses bienfaits sont si indiscutables, que nous devrions tous par moment, nous accorder ce privilège qui ne nous coûte rien et qui a tant de valeur. D’ailleurs c’est bien connu que l’ennuie favorise l’imagination et est indispensable pour le bien être des enfants.

Ne dit-on pas « la vérité sort de la bouche des enfants » ?

Voilà!

Voilà!

Alors voilà, j’ai décidé de me lancer dans le blogging … enfin presque, j’avais déjà lancé deux autres blogs perso, mais là c’est différent.

Quand je pense à ces dernières années, je me rends compte que, tout comme la plupart des gens, je n’imagine pas à quel point ce que je pourrais désigner comme « ma petite expérience personnelle sans importance », peut en réalité aider beaucoup plus de monde que je pourrais le penser.

On a tous quelque chose en nous, une idée, un point de vue, une expérience (succès ou échec) qui pourrait aider quelqu’un, quelque soit le domaine. On a pas besoin de se poser en « expert » pour oser partager ce que l’on vit à titre personnel ou professionnel.

En repensant à ces dernières années et aux personnes que j’ai aidées ou qui m’ont aidé, à celles que j’ai pris le temps d’écouter lors de conférences ou qui m’ont demandé d’intervenir pour présenter mes expériences, mes projets, mes points de vues, aux côtés de personnes qui, vue de l’extérieur, semblent si « accomplies » et « successful », je me dis : « ok, en fait on est tous pareil ».

Alors j’ai décidé de faire ce blog pour partager mes avancés et mes échecs, mes réflexions, mes astuces et j’espère que tout ça pourra t’aider (et m’aider) à saisir, totalement, l’unique promesse infaillible de cette vie : on va tous mourir.

 

😀