Effectivement, Java est une technologie de programmation orientée objet
toujours en évolution et qui peine à réaliser son « /Write once, run
anywhere/ » plus proche du « Write once, debug everywhere » parce qu'il
est difficile de développer sans connexion internet.
Au demeurant, actuellement, ces connexions internet sont aussi
quasi-indispensables pour toutes les activités de hacking.
Les bouquins importants pour ne pas dire indispensables portent sur les
concepts et les théories :
Un des plus captivant pour moi est
http://lucacardelli.name/theoryofobjects.html avec sa carte conceptuelle ...
Le débat sur le choix des environnements de développement (IDE) me
semble important :
https://geekflare.com/fr/ide-for-programmer/
Personnellement j'ai un faible pour l'approche TupperVim mais il faut
connaître et pratiquer des environnements comme Eclipse ...
Pour expliquer un peu plus ce que peut être actuellement un vrai bouquin
j'ai découvert récemment
https://www.lemonde.fr/sciences/article/2020/10/29/la-lumiere-revelee-serge-haroche-physicien-eclaire_6057742_1650684.html
; j'y ai retrouvé tout ce qu'on m'a enseigné à Paris dans les années
1970 en physique classique, quantique et relativiste : je me souviens
d'un TP sur une horloge atomique à jet de rubidium en 1975 ...Mais aussi
cet ouvrage nous explique un peu ce qui semble actuellement possible
comme ordinateur quantique.
Un ouvrage qui explique la physique de la lumière peut-être
(devrait-être) accompagné d'environnements numériques des relations de
Fresnel pour les interactions lumière-matière avec des expérimentations
simples sur la réflexion totale frustrée ... ainsi que la théorie
mathématique de la lumière de Henri Poincaré (sphère de Poincaré ...)
pour le fonctionnement des instruments de polarimétrie (ellipsomètres,
photoélasticimètres, saccharimètres ...) ou simplement les
expérimentations d'interférences de lumières polarisées colorées ...
Pour tous ces accompagnements numériques et expérimentaux il est utile
de disposer d'un mediawiki, d'un dépôt de vidéos, d'une forge git pour
des développements dans différents langages comme python, C/C++,
javascript, d'imprimantes3D, d'environnements de montages
opto-électroniques ...
Bref, les bouquins fondamentaux portent sur les concepts (e.g. théorie
des objets, physique de la lumière ...) et il est préférable de les
choisir immatériels (formats epub, pdf ...) ; entre autres le papier
n'est pas adapté au partage d'annotations personnelles, usage qui du
coup ne se développe pas suffisamment ...
Librement,
Le 03/04/2021 à 19:00, Yves Martin a écrit :
> Bonjour Frédéric
>
> Je plante le décors: je baigne dans Java quotidiennement depuis 23 ans.
>
> Ceci dit, je n'ai jamais lu un livre en français... et avec les
> évolutions du language je recommande de choisir une édition mise à jour
> au moins avec les nouveautés Java 11, qui puisse servir de "référence"
> et permettre d'approfondir les aspects présentés.
>
> La prochaine version LTS Java 17 sortant en septembre 2021, il sera de
> toute façon rapidement nécessaire de s'informer des nouveautés par la
> "release notes" et les tutoriaux associés.
>
> Et l'informatique allant très vite, même les versions "MEAP" de Manning
> mettent déjà au moins une année avant de sortir, et sont presque déjà
> "périmées" quand l'édition est finalisée pour "impression"... alors que
> dire quand on souhaite trouver/attendre une hypothétique traduction.
>
> Pour les bases du language, faible investissement, c'est gratuit:
> https://www.onjava8.com/ la nouvelle édition de "Thinking in Java" de
> Bruce Eckel est dispo avec exemples de code sur GitHub
> https://github.com/BruceEckel/OnJava8-Examples
> (au passage j'ai aussi lu Thinking in C++, ses livres sont très
> complets et se lisent facilement...)
>
> Et ensuite pour atteindre Java 11 il faut un complément:
> https://www.manning.com/books/modern-java-in-action
>
> À mon avis, lire en anglais présente l'avantage de progresser avec
> cette langue au moins à l'écrit, et en général ça ne représente pas une
> difficulté dans l'apprentissage du sujet, le vocabulaire employé étant
> souvent "basic".
>
>
> Java continue d'évoluer... Oracle travaille sur la compilation native
> avec Quarkus qui permet de démarrer un serveur d'API REST (cloud) en
> quelques millisecondes avec des performances difficiles à atteindre en
> C mais avec une meilleure efficacité du développeur.
> OK le C#/.Net fait maintenant la même chose avec .Net Core / .NET 5...
> mais je ne suis pas convaincu qu'on puisse comparer le Go au même
> niveau (manque encore de maturité au niveau des outils/bibliothèques.
>
> Cependant JetBrains promeut son propre language Kotlin sur la JVM pour
> fournir une meilleure compacité d'écriture par rapport à Java qui reste
> toujours "verbeux".
>
> Si tu as des questions plus spécifiques, n'hésite pas.
>
> Bonnes fêtes
--
^ Aimé