Java, le langage de programmation

À la Une

Outre l’île de Java en Indonésie, Java est un langage de programmation créé en 1995 dans sa 1ère version et largement répandu dans la sphère de la programmation informatique.

Même si le langage python gagne en popularité et en diffusion (cf. Index Tiobe), Java présente une consommation en énergie plus faible que python. Java se situe dans le top five de ces langages alors que python se retrouve en bas du classement.

Armé de ma curiosité et d’une bonne dose de courage et d’enthousiasme, j’explore le langage à travers divers ouvrages.

Java, quel est ce langage ?

Java, pour fonctionner, nécessite la présence sur votre poste de travail d’une « machine virtuelle » appelée JVM pour Java Virtual Machine. La JVM interprète le pseudo-code ou bytecode produit par la compilation du code source. Le compilateur traite un fichier portant l’extension .java en un fichier avec l’extension .class qui correspond au bytecode. Quel est l’intérêt d’utiliser une machine virtuelle me direz-vous ? Et bien c’est là l’intérêt de Java : le code source peut être utilisé (=compilé, via la commande javac) sur n’importe quelle plateforme : Linux, Unix, Windows etc. c’est ce que l’on appelle la portabilité.

Outre la portabilité, Java est un langage orienté objet ou OOP (Object Oriented Programming). Voici la définition d’un objet selon le site internet communautaire Mozilla pour les développeurs (MDN) :

Un Objet est une structure contenant des données et des instructions en rapport avec ces données. Un Objet correspond parfois à des choses du monde réel, par exemple à une voiture ou à une piste dans un jeu vidéo de course.

Lors de la conception d’un logiciel, l’analyse préalable à la rédaction du code informatique va s’attacher à déterminer, généraliser certains éléments.

Petit exemple : je dois informatiser une librairie et plus particulièrement la gestion des ventes de livres. Le livre va représenter un objet dans le code informatique et disposer de membres que sont les propriétés du livre (sa date de parution, son prix de vente, sa disponibilité etc.) qui caractérisent ce livre, et de méthodes que l’on peut qualifier d’actions sur l’objet (le livre) ou comportements, comme l’affichage dans notre (futur) logiciel du prix du livre, de la mise en indisponibilité du livre suite à une vente etc.

La gestion de la mémoire est automatique en java grâce au garbage collector ou ramasse-miettes, processus lancé en arrière-plan qui récupère la mémoire non utilisée des objets. C’est une facilité pour le développeur qui peut ainsi se concentrer sur d’autres aspects de la programmation.

Je reviendrai dans d’autres articles pour explorer ce langage 😎.

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/

Je découvre… Python !


homepage

Je me suis intéressé récemment aux langages de programmation. Toutefois, par lequel commencer ?

Il est vrai que les langages informatiques de type « procédural » m’étaient un peu connu (comme le BASIC ou le Turbo Pascal), mais je souhaitais découvrir les langages informatiques de type programmation orientée objet (P.O.O.), qui permettent de créer des bouts de code nommés classes qui pourront être réutilisés (comme une bibliothèque en quelque sorte).

La notion de P.O.O. fait appel à plusieurs notions qui peuvent paraître abstraites, mais, lorsque l’on comprend l’intérêt de ces notions/concepts, on saisit alors les possibilités de l’utilisation et la puissance d’un langage informatique faisant appel à la P.O.O.

Je connaissais un peu le langage C++ pour l’avoir aborder au cours de mes études . Je souhaitais connaître un nouveau langage, JAVA, et à travers plusieurs livres dénichés en bibliothèque je débutais mes lectures.

Mais pour apprendre rapidement un langage avec P.O.O., je me suis rabattu sur celui enseigné dans les lycées et en classes préparatoires, le bien nommé PYTHON. Pour commencer avec Python, je ne saurais trop vous conseiller la lecture de tutoriels sur la Toile. Entre autres, je me suis basé sur celui-ci Introduction au langage de programmation Python 3.

Python is powerful… and fast;
plays well with others;
runs everywhere;
is friendly & easy to learn;
is Open.

Me voilà rendu sur python.org de la « Python Software Foundation ». On peut y retrouver de multiples ressources :

Python dispose aussi (comme JAVA) d’un module pour concevoir une interface graphique à votre programme, le module Tkinter. Les champs d’application de Python sont variés : Biologie, Chimie, Finance etc.

Par ailleurs, Python est le langage phare du Raspberry Pi.

Bref, avec Python, vous apprendrez vite à programmer.