Smalltalk et les nombres

24 novembre 2019

Je suis tombé sur un autre article intéressant sur l’excellent blogue de John D. Cook où il traite des erreurs possibles de précision quand on effectue des calculs avec des Float ou des Double.

Évidemment, dans le problème énoncé, si on a recours à des calculs en point flottants, Smalltalk n’échappe pas à la situation décrite, comme n’importe quel autre langage de programmation!

Cependant, on a tendance à l’oublier, Smalltalk vient à la base avec une riche hiérarchie sous la classe Number d’aussi loin qu’on se souvienne!  Il y a donc moyen de faire en sorte que l’expression décrite converge vers une solution précise et exacte!  Comment?  Avec des fractions!

C’est symptômatique de chaque Smalltalker, nous oublions trop souvent à quel point les nombres en Smalltalk sont traités de façon transparente, sans que nous ayions besoin de librairies spécialisés pour le « large integer arithmetic » ou les fractions par exemple! Nul besoin de savoir si tel ou tel nombre peut être représenté sur 32 ou 64 bits!  En fait, les LargeIntegers ne sont limités que par la mémoire disponible sur votre ordi! Quel autre langage peut se targuer d’être en mesure de faire les calculs suivants sans avoir besoin de librairies spécialisées ou que votre environnement de développement vous explose en pleine figure??


Pharo et documentation

27 février 2019

La documentation de Pharo est maintenant ici sur Git !


Git + Emoji

27 février 2019

Une façon intéressante utilisant des emojis pour commenter vos commits dans Git présentée ici !


Algorithms

27 février 2019

Le livre Algorithms de Sedgewick & Wayne est maintenant gratuitement disponible ici.

Qui plus est, vous pouvez également vous inscrire au cours, accéder au code et aux solutions des exercices!


Donald Knuth

25 janvier 2019

Pas encore assez satisfait de vous être tapé la série de bouquins The Art of Computer Programming de Donald Knuth, vous en redemandez encore?

Vous allez être heureux d’apprendre que les captations vidéo des lectures et des cours donnés par le Maître lui-même sont maintenant disponibles ici ! Des centaines d’heures précieuses ! Bref, de quoi gruger votre temps et faire travailler vos neurones pendant un bon bout!


Programmer pour la performance

25 janvier 2019

Deux excellents papiers (Programmer pour la performance, partie 1 et partie 2) de Romain Dolbeau sur un aspect mal compris, mal aimé et mal géré de la programmation : la performance.

Pour les adeptes de problèmes mathématiques dont je suis, vous aurez sans doute reconnu l’auteur de ces deux articles si vous vous intéressez aux nombres de Lychrel puisque Romain est l’actuel détenteur du record en la matière! Tous les détails de la quête du nombre 196 détaillés ici !


Resource Hacker

16 janvier 2019

Si vous développez sur Windows, Resource Hacker est un outil que vous devez avoir! Encore plus si vous êtes fan de Smalltalk comme cette application a été écrite en VisualWorks Smalltalk!


Humour (142)

16 janvier 2019


Travailler à distance

16 janvier 2019

Travailler à distance, c’est possible et souvent souhaitable et même bénéfique!  Un excellent article sur le sujet ici.

Pour rester dans le même thème, il y’a ce café à Montréal qui semble sur mesure pour coder!


Advent of Code 2018

5 décembre 2018

Vous avez besoin d’un petit défi amusant, question de vous remuer les méninges un peu d’ici à Noël ?

Il existe Advent of Code 2018, une série de 25 problèmes informatiques que vous pouvez résoudre dans le langage de programmation de votre choix! Un problème par jour, 2 parties à résoudre par problème!

À chaque jour, un nouveau problème est dévoilé.  Chaque participant a le même défi mais avec des données en entrée différentes.  Une fois le problème résolu, on vous propose une seconde colle à partir du même problème et de votre même jeu de données!  Le hic, c’est que parfois les algorithmes et les structures de données employées pour résoudre la première partie du problème ne conviennent tout simplement pas pour la seconde partie.  Bref, une espèce de torture mentale de laquelle on devient vite accro!

Et tant qu’à y être, pourquoi ne pas profiter de l’occasion pour apprendre un nouveau langage de programmation ?  Comme Smalltalk avec Pharo ?