Comparaison entre Pharo et un langage POO comme Java ======
Dans cette séquence, nous allons aborder ... c un autre langage de programmation objet comme Java.
Alors, en Pharo, on ne manipule que des objets.... eurs dans des variables.
La présetation suivante va vous montrer quelques équivalences entre Java et Pharo pour bien comprendre les différences et les re
directeur de recherche, à l'Inria.
Cette séance va être consacrée à un survol de la syntaxe. Donc, on va vous montrer l'entièreté de la syntaxe. Ne pas s'... ontrer l'ensemble de ce qu'il y a dans Pharo.
On va voir les éléments syntaxiques principaux. On va voir qu’il y a trois sortes de messages. Et puis, on
les séquences sont numérotées à partir de 0. s[9] va me permettre d'accéder au dernier élément de ma s... on **built-in len**. Donc je fais un len(s) et ça va me retourner que j'ai effectivement dix éléments ... isque je peux faire : est-ce que 'egg' in s et ça va me retourner vrai, effectivement, la chaîne de ca... in s, qui est le test de non appartenance, et qui va me retourner faux, puisque, effectivement, 'egg'
ue spécifique.
Comme on peut le percevoir ici, on va avoir différents modèles pour modéliser une même ... n avec une approche procédurale ====
D'abord, on va faire une comparaison entre une modélisation proc... . Si on regarde la modélisation procédurale, elle va faire un focus sur les données et les procédures.... d'un autre côté, est complètement différent. Il **va déléguer** le calcul de l'aire à d'autres entités
llez Tomcat et Jenkins ======
Votre serveur LAMP va vous permettre de bénéficier des nombreuses appli... écrit dans un autre langage très populaire : **Java**.
Je vous propose donc, dans la suite de ce cha... t de découvrir ainsi l’univers des applications Java.
Pour cela, vous aurez besoin d’avoir quelques n...
===== Découvrez l’univers des applications web Java : Servlets, JSP, etc. =====
Dans l’univers Java,
rêmement simple puisque c'est l'objet fichier qui va se charger d'encoder et de décoder les chaînes de... e en **rawstring** en mettant un petit *r* ce qui va désactiver tous les caractères *\.*
Maintenant q... nes de caractères de mon fichier. L'objet fichier va se charger pour nous de faire l'encodage et le dé... ici, nous voyons que je fais une boucle *for* qui va parcourir tous les entiers allant de 0 à 99, et j
fonction qui prend deux arguments a et b, et qui va juste faire un print de a divisé par b. Absolumen... e.
Je vois en effet une erreur d'exécution et on va prendre quelques instants pour la détailler. La d... n'est pas une fatalité, je peux la capturer et on va regarder comment capturer cette exception.
Dans ... ptions. Tout ce qui est entre le try et le except va être évalué et si j'ai une exception qui est prod
TP simple en Pharo ======
Dans cette séquence on va revisiter la syntaxe Pharo, c'est-à-dire qu'on va la revoir quasiment entièrement sur un exemple conc... n toute simple: http donc issue du monde réel. On va analyser le code et revoir tous les points syntax... analyse.
C'est une application Web classique qui va nous afficher des informations sur des livres. Je
poo}}
====== Pharo : les itérateurs ======
On va revenir sur les collections et voir comment est-c... le code que vous devriez écrire par exemple en Java pour parcourir une collection.
<code java>
ArrayList<String> strings = new ArrayList<String>();
for(... verra dans la suite du cours, ''collect:'', où on va collecter l'ensemble des noms des personnes.
En
bjets** créés dans mon programme. Donc **a = 3**, va faire les opérations suivantes:
* Création de ... mps importants, un **compteur de références** qui va représenter le nombre de variables qui référencen... jet passe à zéro, le **module Garbage Collector** va prendre un accès sur cet objet, et va libérer la mémoire occupée par cet objet lors d'un cycle de Gar
is que vous appellerez votre classe, votre classe va créer de nouvelles instances. Et vous allez avoir... et la classe**. Ce qui veut dire que l'**instance va pouvoir hériter, observer tous les attributs qui ... it un attribut qui s'appelle "attr_phrase" et qui va référencer une chaîne de caractères qui vaut 'Je ... bjet "Phrase". À partir de la classe "Phrase", on va pouvoir produire des instances. Pour définir une
t dès lors des intentions et normalement, si tout va bien, il va
concrétiser cela en un comportement. Donc s’il ne le fait pas, c’est vraisemblablement qu... rmations très précises nous concernant et donc on va le faire parce qu’on est dans des situations où l... informations sur nous. C’est par exemple quand on va prendre l’avion, quand on va prendre le train et
ent été introduites dans la dernière version de Java.
Pour définir un bloc syntaxiquement, on va utiliser les crochets
<code smalltalk>
[ expr1. expr2. ... n du bloc ne provoque pas son exécution =====
On va parler de définition d'un block. Je vais vous pre... xpressions à l'intérieur vont être évaluées et on va nous rendre le résultat: 8. Par contre, si l'une
s dans Pharo. Les boucles sont des messages qu'on va envoyer à des objets. Il existe plein de types de boucles différents. Ce sont des messages qu'on va envoyer soit à des nombres, à des collections, vo... nvoie le message "timesRepeat" à l'entier 4 et on va lui passer en paramètre un block. Si vous vous ra... les blocs dans la séquence précédente. Ce message va permettre de répéter l'évaluation de ce block plu
mple qui suit, on l'appelle simplement *f*, et on va lui passer des arguments ( on peut lui passer un ... ère '**:**' après les arguments signifie que l'on va introduire un bloc de code, ce sera le bloc de co... tient une seule instruction, appelant *print* qui va simplement afficher ses trois arguments.
Lorsque... fonction est créé et le nom de la fonction, *f*, va être une variable qui va référencer cet objet fon