Flyer Smalltalk
From OFSET Wiki
Contents |
[edit] Sources d'inspiration
- Quelques flyers Python : http://wiki.python.org/moin/AdvocacyWritingTasks
[edit] Quelques idées
- un historique de Smalltalk
- La syntaxe rapidement
- Une adresse vers les sites web (le wiki fr, le wiki général, le site officiel, les livres téléchargeables)
- Un how-to install
- quelques entreprises l'utilisant (avec Logo)
- des flyers adaptés au public : flyer EToys, flyer développeur, flyer développeur web, etc ...
- liste d'URLs importante
[edit] Format
Page A4 pliée en 3
[edit] Organisation du contenu
- Premier tier, face : un logo, slogan (motto).
[edit] Adresses web
- Site officiel en anglais : http://www.squeak.org
- Wiki francophone : http://community.ofset.org/wiki/Squeak
[edit] Livres
- Nombreux livres téléchargeables gratuitement
- Smalltalk
- "Smalltalk with Style" by Edward Klimas, Suzanne Skublics and David A. Thomas (gratuit)
- "Smalltalk by Example: the Developer's Guide" by Alex (gratuit)
- Squeak
- "Squeak" by Xavier Briffault and Stéphane Ducasse (français)
- "Squeak by Example" by a lot of authors (free - à paraître)
- "Powerful Ideas in the Classroom" by BJ Allen-Conn and Kim Rose (anglais et français)
[edit] Historique
- 1980 première version proche des Smalltalk modernes.
- Normalisé par ANSI.
- Origine de SUnit, des Design Patterns, des refactorings, des navigateurs de code, des écrans bitmaps
[edit] Concepts importants du Smallalk
- Typage dynamique
- Syntaxe minimale : apprentissage en 15 minutes
- Surprise minimale
- Purement objet : tout est objet, même les classes, les nombres...
- API de réflexion, de gestion des collections...
- Ramasse miette (garbage collector)
- IDE intégré
- Blocs (closures)
- Très grande portabilité
- Consistent
- Héritage simple
- Classes et méthodes publiques, variables d'instances protégées
- Machine virtuelle bytecode
- Compilation et développement incrémentale : mise au point d'application en cours de fonctionnement avec des outils évolués comme le debuger et l'inspector.
- Système vivant
- Pas d'instructions de contrôle, tout se fait par envoi de message. Les instructions de tests et les boucles font partie de l'API et pas du langage.
[edit] Syntaxe
La syntaxe est proche du langage naturel : sujet verbe compléments.
adam := Person new. eve := Person new. adam gender. adam age = eve age. adam playWith: eve. adam say: ’Hello’ to: eve.
- Nombre limité de mot-clés
- self, super, true, false, nil, thisContext
- 52 in Java, 38 in Ruby, 76 in C
(eve receivedMail) ifTrue: [eve regrets] trees select: [:tree | tree isAppleTree] [tree isMissingAnApple] whileTrue.
[edit] Glossaire
- Smalltalk : Langage de programmation orienté objet.
- Squeak : Implémentation libre et multi plateforme de Smalltalk.
- Image Squeak : Les classes et les méthodes Squeak ne sont pas dans des fichiers séparés mais dans une image. L'image contient à la fois l'environnement de développement, le code de Squeak, votre code et tous les objets que vous avez créés.
- Framework : Ensemble de classes et de méthodes qui servent de base pour la construction de nouvelle application.
- Seaside : Seaside est un framework qui facilite le développement d'application internet écrite en Smalltalk. Seaside est lui-même écrit en Smalltalk.
- Typage dynamique : Certains langages forcent le développeur à indiquer de quel type est chaque variable (entier, chaîne de caractères...). On appelle cela le typage statique. En typage dynamique, les variables peuvent prendre n'importe quelle valeur.
- Réflexion
- Design Pattern
- Refactorings
- Blocs
- Garbage Collector

