IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

L'OpenJDK formule une proposition visant à rendre Java plus facile à apprendre pour les débutants
à travers une fonctionnalité du JDK 21 qui est actuellement désactivée par défaut

Le , par Anthony

281PARTAGES

7  0 
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 18/04/2023 à 7:11
Je suis pas sur que la désertification du forum Java soit due à une baisse de l'importance du Langage. J'ai l'impression que c'est le cas de la plupart des forums du site. J'ai plutôt l'impression que c'est plus lié a la montée en puissance d'alternatives qui offrent un format taillé sur mesure à la réponse de question techniques comme Stack Overflow.

Je pense que Java en temps que langage Objet statiquement typé a un réel intérêt pédagogique.
9  0 
Avatar de walfrat
Membre émérite https://www.developpez.com
Le 18/04/2023 à 9:44

Il y a trop d'encombrement ici - trop de code, trop de concepts, trop de constructions - pour ce que fait le programme.
Sérieusement ?

Les élèves peuvent juste commencer avec un "voici un template, mettez votre code ici, pour lancer le code, faite clic droit > executer en tant que > java console".

C'est comme ça que j'ai commencer, en C, sans savoir ce que c'était que ce foutu "char**argc, char**argv" et ça ne m'a pas posé de problème.
5  0 
Avatar de OButterlin
Modérateur https://www.developpez.com
Le 19/04/2023 à 8:33
Donc si je comprends bien, le fait de devoir encadrer une méthode dans une classe rend le langage trop verbeux, trop d'encombrement, trop de concept...

Que les "nouveaux" développeurs continuent à raisonner comme des fainéants, il n'y aura rien d'étonnant ensuite qu'on les remplace tous par une IA...

S'il y a une classe c'est que java est un langage objet, si ça dérange, ils n'ont qu'à faire du RPG, du côté compact, on fait difficilement mieux... encore que... même en java on peut faire du compact, illisible, pas maintenable, dans le genre
Code : Sélectionner tout
class A{public String c(String a, String b){return (a==null?"":a)+(b==null?"":b);}}
3  0 
Avatar de plegat
Expert éminent https://www.developpez.com
Le 18/04/2023 à 11:33
Citation Envoyé par Anthony Voir le message

La proposition soutient que ce changement réduit "la cérémonie d'écriture de programmes simples tels que les scripts et les utilitaires de ligne de commande".
Ok ok... et un utilitaire en ligne de commande à qui on ne peut pas passer d'arguments, c'est tout de même vite limité en fonctionnalités...
Et normalement tous les EDI ont le template et le raccourci clavier qui va bien pour taper tout ça automatiquement (ah le "psvm" de Netbeans...)

Citation Envoyé par Anthony Voir le message

Et puisque Java est destiné à être un premier langage de programmation, ce changement signifierait que les étudiants "peuvent écrire leurs premiers programmes sans avoir besoin de comprendre les caractéristiques du langage conçues pour les grands programmes", en utilisant à la place "des déclarations simplifiées pour les programmes à classe unique". (Cela permet aux étudiants et aux éducateurs d'explorer plus progressivement les fonctionnalités du langage).
... ou comment dire autrement "on veut pouvoir faire en Java la même chose qu'on peut faire en python"...
Je me souviens encore de certaines discussions sur le forum Java où on retrouvait 50 classes dans un seul fichier... ça sera peut-être plus clair avec cette proposition (ou pas!)

Bref, attention à une mauvaise utilisation, ça peut être bien pour mettre le pied à l'étrier, mais il faut vite bifurquer sur les constructions habituelles pour ne pas partir dans le plat de spaghetti.

Citation Envoyé par Anthony Voir le message

Un programme Hello, World ! écrit sous la forme d'une classe principale anonyme se concentre beaucoup plus sur ce que le programme fait réellement, en omettant les concepts et les constructions dont il n'a pas besoin.
Oui, enfin bon, à part afficher "Hello, World !" à l'écran, ça ne fait pas grand chose à la base comme programme... on repassera pour le côté éducatif, surtout si on simplifie en virant tous les éléments éducatifs... un quart d'heure de cours et c'est bon, on passe au niveau suivant!

Faudrait surtout travailler à virer le "System.out." pour faire un "println"... c'est franchement super trop verbeux pour les débutants...
2  0 
Avatar de marc.collin
Membre émérite https://www.developpez.com
Le 18/04/2023 à 19:14
Citation Envoyé par bouye Voir le message
le monde de l'enseignement et universitaire semble avoir entièrement basculé sur Python et JavaScript, non ?
si je me fie au cv de stagiaire qu'on recoit non... et il y a en de plus en plus qui sont francais... le java semble encore bien appris
1  0 
Avatar de walfrat
Membre émérite https://www.developpez.com
Le 19/04/2023 à 9:19
Citation Envoyé par smarties Voir le message
J'ai fait du JAVA il y a des années et j'ai basculé sur Python pour les raisons suivantes :
- trop verbeux (System.out.println, le respect des "bonne pratique" créait du code inutile à mon gout pour respecter les design patterns)
- trop de mémoire utilisée et ça explose quand on a fait de la sérialisation dé-sérialisation à mon goût... ou quand il fallait un serveur web --> ça utilisait trop de RAM sur mon NAS ARM à mon goût
- le marché de l'emploi était saturé ou j'étais et las salaires plutôt bas
1- Tu peux faire un import static System.out et tu pourras juste faire "println".
2- Tu ne fais pas des bonnes pratiques pour faire des bonnes pratiques, tu les utilises quand elle réponde à un problème que tu dois résoudre, autrement dit quand tu en as besoin.
3- Avec la completion des IDE, ecrire du code un peu plus long ne me coute rien personnellement, ce qui compte pour moi c'est plutôt a quelle vitesse je le relis, et ça ça dépend surtout du dev qui a écris le code que du language.
4- J'ai pas fait de comparaison, mais oui avec la couche habituelle de framework (quand tu vise pas spécialement du cloud), il y a une empreinte RAM de base.
1  0 
Avatar de marc.collin
Membre émérite https://www.developpez.com
Le 19/04/2023 à 14:26
java est déjà simple à apprendre.... il y a même pas 30 ans... les gens apprennaient l'asm, le c... autrement plus complexe que java

java est encore enseigné dans bonne nombre d'école

verbeux mais très très lisible
1  0 
Avatar de sylsau
Membre confirmé https://www.developpez.com
Le 26/04/2023 à 11:08
Il y a trop d'encombrement ici - trop de code, trop de concepts, trop de constructions - pour ce que fait le programme.
S'ils trouvent ça trop verbeux, autant arrêter le Java avant même d'avoir commencé.

C'est un classique de base de tout programme, je doute qu'enlever cela change grand chose ...
1  0 
Avatar de OButterlin
Modérateur https://www.developpez.com
Le 29/04/2023 à 17:02
Citation Envoyé par Uther Voir le message
...quelqu'un qui découvre la programmation est censé apprendre bien plus tard, une fois qu'il a intégré l’algorithmie.
Commencer un langage avant l'algorithmique est un non sens à mon avis... pourquoi ne pas changer un moteur avant de faire des cours de mécanique

Le problème est plutôt que les nouveaux développeurs veulent en faire toujours moins, ne pas réfléchir, tout doit venir tout cuit, sans effort.
Pour illustrer mon propos, je vois de plus en plus de discussion sur des forums dédiés au développement où à un problème la réponse est : demande à ChatGPT...
(et en l'occurrence, la réponse se trouvait sur la 10ème ligne de la stacktrace... )
1  0 
Avatar de bouye
Rédacteur/Modérateur https://www.developpez.com
Le 18/04/2023 à 0:57
Ok, pourquoi pas. D'autres langages ne le font-ils pas depuis quelques temps il me semble ? L’usage de jshell aussi a peut-être inspiré la chose.
Comme beaucoup de changements de syntaxe récents, si cela est validé, ça révolutionnera pas grand chose, puisqu’il juste une légère simplification de l’écriture du code ; le bytecode restant quand a lui inchangé.

Sauf grosse erreur d’interprétation de ma part, le mode ultra-précautionneux / arcbouté sur une syntaxe rigide du langage que les gens chargés de développer le JDK chez Sun / Oracle d'il y a 10+ ans exhibaient montrait bien que leur soucis semblait être qu'ils n'arrivaient pas a envisager des changements drastique de syntaxe sans avoir forcément avoir des modifications incompatibles du bytecode derrière. Or, visiblement, désormais, et avec tout ce qui a été introduit ou incubé depuis, ils ont un peu changé leur vision ; oui on peut vraiment faire évoluer et changer la syntaxe de Java mais derrière ça compile toujours dans la même chose.

Et puisque Java est destiné à être un premier langage de programmation
Compte tenu de la désertification du forum Java, je m'interroge sur la pertinence de cette remarque. Est-ce encore le cas aux US ? Car ça ne semble plus trop être le cas en France.
Certes on a encore parfois de temps a autres une question d'un gamin qui cherche a faire du dével sur Minecraft (et pas grand monde pour lui répondre).
Même si le faux jumeau C# a fait de beau effort de portabilité (je dois reconnaître que c'est du beau boulot de la part de Microsoft et aussi d'autres grand acteurs attractifs comme Unity), le monde de l'enseignement et universitaire semble avoir entièrement basculé sur Python et JavaScript, non ? Étant bien loin de la fac (a la fois physiquement et en nombre d’années) qu'en est-il de nos jours ?
2  2