A la découverte de Go!


En surfant sur le Web, j’ai découvert un langage de programmation informatique qui a suscité ma curiosité, le bien nommé langage Go…

Le langage Go a été développé par Google pour aboutir en 2012 à la première version de Go. Il s’agit donc d’un langage relativement récent, qui plus est open source depuis 2009.

A l’origine, le langage Go est destiné à la programmation système mais il est vite devenu un langage dit « généraliste ».

Wikipédia reprend un des objectifs de Go, dixit un de ses trois fondateurs, Rob Pike, à propos des développeurs inexpérimentés :

« Ils ne sont pas capables de comprendre un langage brillant, mais nous voulons les amener à réaliser de bons programmes. Ainsi, le langage que nous leur donnons doit être facile à comprendre et facile à adopter« 

Les applications de Go sont multiples ; on peut ainsi citer le cloud computing. Go a permis aussi de bâtir le logiciel Docker.

Voici un exemple de code permet d’afficher à l’écran le traditionnel « hello world » :

package main

import "fmt"

func main() {
    fmt.Println("hello world")
}

On remarque le mot-clé func, diminutif de function, qui permet de rédiger une fonction, une fonction principale en l’occurrence.

Pour déclarer une variable, il conviendra d’utiliser le mot-clé var, pour ensuite lui assigner une nature (nombre entier avec int, chaîne de caractère avec string etc.).

A noter que le mot-clé for est le seul moyen d’effectuer une boucle (pas de while etc.).

L’import du package fmt permet d’utiliser des fonctions d’entrée / sortie comme en langage C, afin de lire et restituer (Println) des données.

Ressources :

Le Go par l’exemple

The Go Programming Language [en]

Go (langage) — Wikipédia

Publicités

Retrogaming avec Recalbox


Recalbox est un système d’exploitation gratuit permettant, avec nostalgie, de jouer aux consoles datant du début des jeux vidéos.

Vous pourrez ainsi jouer à des jeux disponibles sur Master system, Nintendo, Game Boy Advanced etc.

J’ai testé Recalbox avec sur une machine virtuelle pour prendre des captures d’écran. Je l’ai également installé sur ma carte micro-SD pour l’utiliser sur ma Raspberry Pi.

Un conseil, comme pour les consoles, munissez-vous d’une manette !

Site officiel : https://www.recalbox.com/fr/

Premiers pas avec Scratch !


Scratch est un logiciel d’apprentissage de la programmation pour les plus jeunes. Disponible en ligne, c’est-à-dire avec un navigateur internet comme Mozilla, ou téléchargeable pour l’installer sur un ordinateur, Scratch fonctionne avec des briques et blocs, qui permettent de créer un programme, voire un jeu vidéo.

La section « à propos » en dit plus sur Scratch :

Avec Scratch, vous pouvez programmer vos propres histoires interactives, jeux et animations – et partager vos créations avec d’autres dans la communauté en ligne.

Scratch aide les jeunes à apprendre à penser de façon créative, à raisonner systématiquement et à travailler de manière collaborative — des compétences essentielles pour vivre au 21e siècle.

Scratch est un projet du groupe Lifelong Kindergarten au MIT Media Lab. Il est fourni gratuitement

Scratch peut être utilisé dans l’enseignement également (exemple : tutoriel académique sur Scratch).

Je me suis lancé dans l’aventure Scratch pour débuter et tester un premier script.

Les possibilités de customisation sont grandes : modification de l’arrière-plan, du personnage central (le « sprite »), briques de programmation classées en grandes catégories, etc.

Voici la fenêtre principale de Scratch en ligne :

Pour coder, les briques sont disposées en grandes catégories : mouvement (du personnage), ajout de son, création de variables etc. :

Puis par un cliquer-glisser, on peut créer des séquences de code :

Enfin, on peut exécuter le programme et l’afficher dans la fenêtre dédiée :

Le personnage principal peut aussi voir son apparence (costume) modifiée…

… tout comme l’arrière-plan sur lequel évolue le personnage :

En conclusion, les possibilités de création avec Sratch sont riches et il s’agit d’un excellent moyen d’apprendre à créer des programmes.

Site officiel : https://scratch.mit.edu/

L’intelligence artificielle


Il s’agit d’un terme que l’on entend fréquemment dans les médias, porteuse d’innovations et de craintes, l’intelligence artificielle, ou Artificial Intelligence IA en anglais.

L’intelligence artificielle est une notion introduite par Alan Turing en 1950 dans son ouvrage Computing machinery and intelligence, et qui consiste à imiter une forme d’intelligence réelle. En d’autres termes, les machines, ou ordinateurs, peuvent-ils penser ?

En matière d’échecs, la machine (DeepBlue) a battu Garry Kasparov en 1997. 20 ans plus tard, l’autre machine, AlphaGo,bat le champion du monde de jeu de Go.

Devant ces succès des machines sur l’humain, faut-il y voir l’avènement de la supériorité des machines sur l’Homme ?

AlphaGo est un mélange de plusieurs domaines : « deep learning » (ou apprentissage profond), recherche de Monte-Carlo, et des techniques d’analyse massive des données (big data). 

Mais revenons sur la notion de deep learning/d’apprentissage profond, dont on entend parler en matière d’IA, à côté de l’apprentissage automatique, ou Machine Learning. Le deep learning, dérivé du Machine Learning, se base sur les réseaux de neurones artificiels à l’image du cerveau humain.

Google a ainsi mis à disposition à la portée de tous, Tensorflow, un framework open-source de Machine Learning, utilisant le langage informatique Python en particulier.

Mais l’exemple le plus parlant et le plus proche en matière d’intelligence artificielle, consiste pour l’internaute, à converser avec un « chatbot », ou agent conversationnel, disponible sur les sites grand public et destiné à répondre aux interrogations du (futur) client.

Bref, les domaines d’application de l’IA sont variés (Big Data etc.) et porteurs de progrès technologique.

Bande-annonce d’A.I. Intelligence Artificielle de Steven Spielberg (2001)



Alger la Noire


 

Voici ma dernière lecture, et plus précisément d’un polar. Ce polar se déroule en Algérie, peu avant l’indépendance de l’Algérie, en 1962. On y suit l’enquête d’un inspecteur de police qui doit résoudre avec son collègue un double meurtre commis sur la plage d’Alger.

On découvre, outre une enquête policière, l’Algérie de l’époque française. Paco, le personnage principal, évolue dans Alger marquée par les « évènements » post 2nde guerre mondiale, avec l’intervention de l’armée française, la présence de l’OAS etc.

Ce roman-polar est suivi de deux autres « tomes » et a même été adapté en bande-dessinée.

Bref, je vous recommande la lecture de ce livre si le mélange histoire/polar ne vous fait pas peur. Le cheminement de l’histoire m’a tenu en haleine, et une fois n’est pas coutume, je vous recommande la lecture de « Alger la Noire ».

Une fiche sur l’auteur (babelio.com)

J’ai ressuscité Windows95 !


En surfant sur le Web, je suis tombé sur cet article qui pointe vers GitHub en mettant à disposition une version « live » de feu Windows 95. Moments de nostalgie non dissimulés, vous pourrez utiliser le lecteur de disquette, jouer au solitaire jusqu’à la fin de la nuit etc.

J’ai toutefois tenté de surfer sur le Web avec Internet Explorer sans réussite. Le lancement de MS-DOS n’a pas fonctionné non plus.

Moralité, Linux a de beaux jours devant lui !

Lien GitHub :

https://github.com/felixrieseberg/windows95/releases