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 !

Pensez en Java - Chapitre 1. Le cheminement d'un programme
Un livre de Allen B. Downey et Chris Mayfield

Le , par Community Management

0PARTAGES

14  0 
Chers membres du club,

J'ai le plaisir de vous présenter la traduction du Chapitre 1 du livre Think Java écrit par Allen B. Downey et Chris Mayfield. Dans ce premier chapitre, nous allons écrire notre premier programme Java et aborder quelques notions de base.

Certains livres Java introduisent les notions de classes et d’objets immédiatement. D'autres commencent par la programmation procédurale et font une transition vers une approche orientée objet plus progressivement.

Un grand nombre des fonctionnalités orientées objet de Java ainsi que leur implémentation sont influencées par des problèmes rencontrés avec d’autres langages de programmation. Certaines de ces fonctionnalités sont difficiles à expliquer lorsque les utilisateurs ne connaissent pas les problèmes qu’elles résolvent.

Nous abordons la programmation orientée objet le plus rapidement possible, en introduisant le plus clairement possible chacun des concepts, de manière à permettre aux lecteurs de pratiquer chaque idée séparément avant de passer à autre chose. Il faut donc du temps pour y arriver.

Mais vous ne pouvez pas écrire de programmes Java (même bonjour) sans aborder des fonctionnalités orientées objet. Dans certains cas, nous expliquons brièvement une fonctionnalité lorsqu'elle apparaît pour la première fois, puis nous l'expliquons plus en profondeur ultérieurement.
Bonne lecture .

Retrouvez les meilleurs cours et tutoriels pour apprendre Java

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

Avatar de professeur shadoko
Membre chevronné https://www.developpez.com
Le 21/06/2021 à 10:02
ce chapitre me fait penser à un problème pédagogique fondamental pour tout formateur: faut-il commencer par former un débutant en utilisant System.in/System.out ou faut-il dès le début leur apprendre à "penser comme un informaticien" et à séparer soigneusement E/S et traitements?
L'inconvénient de la seconde option est qu'il faut tout de suite présenter des notions de méthodes etc. l'avantage est de leur donner tout de suite l'habitude de séparer es fonctions (les valeurs à traiter peuvent venir d'un argument du programme, d'une saisie avec IHM, etc.). J'ai toujours préféré cette dernière option (en forçant même la dose au point d'interdire printStackTrace ) et finalement le pli est rapidement pris par les débutants.
1  0 
Avatar de sphynxounet
Membre averti https://www.developpez.com
Le 11/05/2021 à 11:23
Bonjour,

un tutoriel est toujours appréciable et il est important de pouvoir commencer quelque part, par exemple avec cette partie concernant l'introduction des variables et opérateurs.

Alors je préviens, ce qui suit est une vision personnelle, en aucun cas une vérité absolue.
Je trouve dommage que, Penser Java ne rime pas dans ce tutoriel avec Penser Objet. En effet ne pas distinguer les types primitifs et les mélanger directement avec les classes ce n'est pas (pour moi) penser Objet. Je trouve cela dommage car je pense qu'il est important d'introduire au plus tôt cette notion d'objet.
A ce titre j'essaye d'ailleurs (de manière totalement personnelle et empirique) de faire une distinction entre valeur et donnée. Je définis une valeur comme étant contenue dans un type primitif, là où je considère une donnée comme étant contenue dans une classe.
Ex int i = 1, i contient une valeur, Integer i = 1, i contient une donnée (i dans ce cas pouvant être null).
Je trouve dommage aussi que la classe Number ne soit pas plus exposée car très pratique pour justement stocker un nombre, peut importe sa convention. J'aime bien l'utiliser, surtout pour une question d'esthétisme, quand il faut utiliser la classe Math par exemple qui peut prendre comme paramètre des double comme pour les puissances. Cela évite d'avoir des cast de partout.
0  0 
Avatar de professeur shadoko
Membre chevronné https://www.developpez.com
Le 14/05/2021 à 10:00
Citation Envoyé par sphynxounet Voir le message

A ce titre j'essaye d'ailleurs (de manière totalement personnelle et empirique) de faire une distinction entre valeur et donnée. Je définis une valeur comme étant contenue dans un type primitif, là où je considère une donnée comme étant contenue dans une classe.
ça risque de mettre de la confusion dans les esprits: il y a des objets "valeurs" (value objects): des objets dont tous les champs sont final.
0  0