J’ai eu la chance de pouvoir participer à la première édition française de scala.io les 24 et 25 Octobre derniers! Et pour celles et ceux qui n’y étaient pas, je vous propose de partager les quelques notes que j’ai prises. “Failure: The Good Parts”, keynote de Viktor Klang Viktor Klang commence par énumérer toutes les…
Catégorie : Fonctionnel
Actu, Evénements, Fonctionnel, Programmation
F# Open Forum
by Pierre Irrmann •
C’est avec un très grand enthousiasme que je me suis rendu lundi 21 octobre au premier meetup F# organisé à Paris, dans les locaux d’Arolla. Cela fait déjà deux ans que j’ai eu l’occasion de participer à une formation F#, également organisée par Arolla. Depuis, mon intérêt pour la programmation fonctionnelle n’a pas cessé de…
Fonctionnel, Programmation
Installer Scala sous Linux
by admin •
Dans ce court post je partage comment j’installe Scala sur mon PC tournant sous Ubuntu. Commencez d’abord par télécharger depuis le site web de Scala le fichier archive (au format .tgz) de la dernière version du langage : http://www.scala-lang.org/downloads. La version actuelle de Scala est la 2.10 et c’est celle que nous allons installer. Voici…
Fonctionnel, Programmation
Introduction à Scala, épisode 2 – premiers pas avec Scala
by admin •
Après une introduction générale à Scala et à son écosystème dans le premier article, nous allons installer Scala puis écrire nos premières lignes de code Scala afin de nous familiariser avec le REPL. Télécharger Scala Pour fonctionner Scala a besoin de Java. Vous devez donc vous assurer que Java est installé sur votre machine avant…
Fonctionnel, Programmation
Introduction à Scala – épisode 1
by admin •
Scala est un langage qui a du caractère. Il fait réagir du monde; ceux qui l’ont essayé et l’adorent, ceux qui ne l’ont jamais essayé mais le détestent et les autres. Parmi ce beau monde les plus étonnants sont ceux qui veulent accuser Scala des travers des langages (comme le C++) qu’ils ont aimé détester.…
Fonctionnel, Programmation
Callbacks strike Back
by admin •
Cet article se place dans la continuité de l’article précédent: Il y a peut être une option pour continuer ¡¿. Avant de présenter de nouvelles techniques – les promises / deferred / future – nous commencerons par transposer les techniques vues précédement en javascript. En poussant le bouchon un peu plus loin, nous verrons les…
Fonctionnel, Programmation
Les fonctions et les fonctions d’ordre supérieur
by admin •
La programmation fonctionnelle a de nombreux attraits dont le traitement réservé aux fonctions. Dans beaucoup de langages de programmation les fonctions ont un statut particulier. Par exemple en Java il est possible de créer un entier, de l’assigner à une variable ou de le passer comme argument à une autre fonction mais on ne peut…
Fonctionnel, Programmation
Il y a peut être une option pour continuer ¡¿ (réflexion sur la programmation par continuation)
by admin •
L’une des difficultés principales lorsque l’on aborde la programmation par événement est qu’il faut changer sa manière de penser: l’appel d’une méthode ne renvoie pas de résultat. Lorsque le résultat est disponible, celui-ci est à son tour publié sur un bus ou fourni à une fonction de rappel passée en paramètre lors de l’appel. C’est…
Fonctionnel, Programmation
La gestion des erreurs avec scala.util.Try (2/2)
by admin •
Suite de l’épisode précédent. Après la découverte des bases de la gestion des erreurs avec scala.util.Try, nous allons, dans cette deuxième partie, explorer des fonctionnalités plus avancées. Nous utiliserons un exemple très simple pour illustrer nos propos : lancer un serveur sur un numéro de port fourni par l’utilisateur. Cette tâche se décompose en deux…
Fonctionnel, Programmation
La gestion des erreurs avec scala.util.Try (1/2)
by admin •
Scala 2.10 introduit une nouvelle structure monadique Try. Cette classe est particulièrement adaptée à la représentation d’un traitement pouvant réussir en renvoyant une valeur ou échouer en lançant une exception. Commerçons par un exemple simple : parser un numéro de port renseigné par un utilisateur sous forme d’une chaîne de caractères. 1 2 val input: String…