CSC 4509 – Algorithmique et communications des applications réparties

Portail informatique
  • Compléter les connaissances avec des concepts additionnels du langage JAVA utilisés dans l'ossature de départ de l'application de tchat multiclient multiserveur.
  • Étudier les idiomes JAVA mis en œuvre dans l'ossature de départ de l'application répartie.

nous serons deux intervenants lors des premiers TP utilisant l'ossature de départ. Donc, pas d'inquiètude : vous aurez de l'aide en séance pour découvrir le code ; mais, pour en bénificier pleinement, vous devez étudier attentivement les tutoriels pointés par cette page !

(≈ 10mn)
  • Lien vers le tutoriel : Initializing Fields, qui inclut une présentation du concept de bloc de code static.
(≈ 15mn)
  • Lien vers le tutoriel sur le concept de classe anonyme : « Anonymous Classes »
(≈ 20mn)
  • Liens vers les deux pages pour la notion de méthode par défaut :
    1. Evolving Interfaces,
    2. Default Methods (jusqu'à la section « Integrating Default Methods into Existing Libraries », cette dernière section de la page étant exclue de l'étude).
(≈ 1h)
(≥ 2h)
  • L'objectif de JAVA sur ce sujet est le suivant : « offer first-class language support for defining, passing, and storing blocks of code for later execution. » La fonction (au sens mathématique, c'est-à-dire sans effet de bord) devient donc un objet de première classe : une méthode peut par exemple prendre en paramètre une fonction (cf. fonction d'ordre supérieur). C'est l'orientation fonctionnelle de la programmation, complètement absente dans JAVA avant la version 8. Nous proposons d'étudier le suje en deux temps : les lambda expressions puis le cas d'utilisation le plus fréquent avec la manipulation des collections avec les Streams.
    1. Lien vers le tutoriel introduisant les Lambda expressions, en deux parties :
      • Java 8: Lambdas, Part 1 (≈ 50mn). Ne vous attardez pas sur les explications autour des classes imbriquées (en anglais, inner classes), que nous n'utilisons pas dans l'ossature que vous utiliserez.
      • Java 8: Lambdas, Part 2 (≈ 50mn)
    2. Lien vers la page Javadoc du paquetage java.util.stream qui présente l'utilisation des Streams : java.util.stream (≈ 20mn)
  • Pour lire le code de l'ossature fournie, les tutoriels précédents suffisent. Pour écrire des lambda expressions et utiliser les streams, le site qui suit constitue un manuel de référence intéressant en ce qui concerne la terminologie, les définitions, la syntaxe et des exemples :
(≈ 45mn)
  • Similairement à d'autres langages comme Groovy ou Scala, JAVA propose depuis la version 8 des idiomes pour rendre explicite la possibilité qu'une référence puisse être null et ainsi alerter le programmeur pour qu'il evite le déréférencement dans ce cas.

 

 

 


$Date: 2018-05-03 08:43:13 +0200 (jeu. 03 mai 2018) $