--NoDr - YGO--

10/20/2007

Factor le retour

Classé dans: — @ 10:33 am

Daniel Ehrenberg ajoute une entrée sur son blog qui est une FAQ très complète concernant FACTOR que je vous invite à lire. Je vous conseille également l’agrégrateur de blogs Planet Factor .

Je continue d’observer les progrès réalisés par ce petit nouveau langage et je suis toujours autant impressionné. A la croisée de Forth, de Lisp et de slate, il s’agit d’un compilateur natif dynamique assez performant et multi-plateforme. Il est doté d’une interface graphique et d’outils d’aide au développement impressionnants ainsi que d’une librairie qui devient de plus en plus riche et enfin d’une FFI (Foreing Function Interface) excellente permettant la liaison de librairies C externes avec une grande facilité.

Il va falloir que je trouve une idée pour réaliser un développement avec.

6/17/2007

outil de test expression rationnelle REGEX

Classé dans: — @ 9:20 pm

Parmi mes attributions dans mon entreprise, je suis parfois amené a faire des formations, pour nos clients, sur nos produits.
Il s’avère que ces produits utilisent intensivement les expressions rationnelles (REGEX souvent traduit par expressions régulières). Je me suis aperçu que souvent ces expressions sont mal comprises ou pas très bien connues.
Je me suis donc décidé à écrire un petit programme très simple pour aider à l’apprentissage et au test d’expressions.

Si ce programme peut être utile à d’autre, je le livre ici sous licence GPL. Il est écris avec l’un de mes environnement préféré (juste avant Erlang), PLT-Scheme.
L’avantage de l’environnement PLT-Scheme est que cela fonctionne à l’identique sur plusieurs systèmes (Linux/Unix, MacOS, Windows) GUI inclus, que son IDE est extrêmement bien fait et qu’il existe de nombreuses et riches librairies (Planet)

L’installeur des binaire sous windows
Un fichier compressé TGZ avec les binaires Windows/Linux
binaires avec les sources

Si vous avez des problèmes ou des remarques à faire vous pouvez me contacter sur : yvan [point] godin [à] gmail [point] com

5/23/2007

SEAforthâ„¢-24A

Classé dans: — @ 9:03 pm

La Société intellasys a récemment annoncé un nouveau processeur, le SEAforth™-24A.

Destiné aux systèmes embarqués, ce processeur 18 bits basse consommation et faible dissipation contient 24 coeurs Forth indépendants, 2 convertisseurs A/D 18b et 2 convertisseurs D/A 9b, un port SIP, divers IO et un peu de mémoire embarquée.

A mon avis une super opportunité pour les amateurs de robotique et de systèmes embarqués. Ils fournissent également un outil de développement (émulateur et compilateur) libre et gratuit. Je vous invite à consulter leur site

enjoy

5/30/2006

retour au Lisp

Classé dans: — @ 9:14 pm

Il y a très longtemps, à l’époque ou je faisais du support, du développement et de la formation sur AutoCAD, j’avais découvert les joies du Lisp à travers AutoLisp ainsi qu’un peu avec LeLisp 1.5. Puis les temps et les modes changeant, je l’avais un peu oublié.

Aujourd’hui j’ai acheté et reçu l’excellent livre “PRACTICAL COMMON LISP” qui me permet de me re-plonger dans cet univers fabuleux du Lisp. Je commence à regarder de très près le SBCL (Steel Bank Common Lisp) qui offre un compilateur natif performant sur Unix/Windows. Ce livre récent (2005) mélangeant concept et code pratique est vraiment bien fait et je le conseille à toute personne souhaitant s’investir dans l’apprentissage du Common Lisp. Seul inconvénient potentiel pour certain, il est en anglais.

Je crois que je vais investir également un peu de mon temps à étudier MCCLIM qui parait intéressant malgré un look un peu austère, voir archaïque.

4/20/2006

retour aux sources des langages informatiques

Classé dans: — @ 9:45 pm

Depuis quelques mois on assiste à un retour en force d’un des plus anciens langages de l’informatique.

LISP, que j’ai découvert à la fin des années 80, à une époque ou je faisais du support et du développement pour Autocad et AutoLisp ainsi que du Le Lisp 1.5, reste à mon avis un des meilleurs langages qui soit. Hélas ce dernier boudé par l’industrie ne m’a jamais permis de trouver des entreprises l’utilisant pour de grands projets. LISP avait la mauvaise image d’être interprété, lent et plutôt destiné aux problèmes d’intelligence artificielle. De plus de nombreux développeurs ont des difficultés pour manipuler des langages fonctionnels. Malgré des évolutions importantes offrant des compilateurs presque aussi performants que du C++ et des librairies capables de répondre à n’importe quel type de besoins, LISP est resté marginal.

Après un grande traversée du désert, on voit désormais ré-apparaître des tas de projets essentiellements orientés COMMON LISP. Le problème majeur est que les environnements les plus aboutis ne sont ni libres ni gratuits (voire même onéreux). Toutefois une version libre semble émerger du tas. Il s’agit de SBCL, un environnement très portable, embarquant un compilateur natif dynamique particulièrement efficace, porté sur divers processeurs / OS et donnant accès à une très riche collections de librairies qui lui sont compatibles. C’est avec cet environement que je souhaite faire mon retour dans l’univers du LISP.

Pour en savoir plus sur ce sujet je vous invite à regarder cette page pleine de références, et surtout de lire cette étude comparative faite par la NASA, concernant le choix d’un langage parmi Lisp, Java, C++, Python et Ruby pour un de leurs besoins. LISP est considéré comme un langage de langage et les possibilités qu’il offre sont énormes et peu d’autres langages permettent une telle puissance d’expression. De plus il a été démontré qu’il permettait un niveau de productivité et de maintenabilité particulièrement supérieur des JAVA ou C++.

Pour ma part je conseille également ces excellents sites

En conclusion je dirais que les versions libres de common Lisp deviennent vraiment intéressantes, même si elles souffrent encore un peu d’un manque de finitions.

Dans un monde idéal, il faudrait pouvoir leur ajouter des évolutions, que je considère comme majeures et mises en oeuvre dans le langage Erlang : La programmation orientée processus distribuée et les programmes haute diponibilité. Bien que des tentatives aient été réalisées dans ces domaines pour common Lisp, elles restent loin de ce que sait faire un Erlang.

Des livres :
Un traite de programmation en Common Lisp et en français
Le célèbre Practical Common Lisp (en anglais)
Les spécifications de Common Lisp - HyperSpec (en anglais)
et l’excellent OnLisp (en anglais)

3/2/2006

Article sur Erlang

Classé dans: — @ 6:59 am

Mickaël Rémond a posté un article en francais sur Erlang qui est une petite introduction au langage.

Pour ma part je travaille toujours (lentement) sur une application Erlang/Yaws/mnesia ajax/json. Pour cela je me suis construit une mini-librairie pour gérer plus simplement les sessions, la persistence avec des variables de session et des mécanismes pour me simplifier l’utilisation d’ajax/json. Je posterai bientôt ici mon htool et quelques pages de démo.

8/3/2005

Factor, Erlang Java and other

Classé dans: — @ 4:11 pm

(english text below )

Version en français

J’aime bien Factor mais la version actuelle n’est pas assez stable et les mots de base changent trop souvent aussi je vais probablement attendre la version 1.0 pour me lancer dans une vraie application. La plupart des développeurs détestent ré-écrire le même code.

Pour la partie Erlang, je ne suis pas totalement d’accord avec Eric Remond sur le fait que d’autres langages ne permettraient pas de construire les mêmes mécanismes que dans Erlang parce ceux ci sont intégrés directement dans les bases du langage. En effet Factor est particulièrement malléable, en grande partie écrit en lui même, la plupart de ses primitives étant rétro-compilées lors du ‘bootstrap’. Il permet également de changer du code en cours d’exécution. Je pense qu’il serait tout à fait possible d’utiliser Factor comme un langage de primitives pour une sorte de ‘Erlang like’. Ce serait un bonne chose car cela permettrait d’ajouter des primitives directement écrites en ‘Erlang like’ et rétro-compilées en Factor ce qui serait infiniment plus souple que l’ajout de primitives en code C dans le mode actuel d’Erlang.

Mais tout ceci n’est pas le plus important. Je voulais également faire part ce certaine de mes pensées concernant ces langages assez sophistiqués. La plupart du temps leur concepteur pense que d ‘avoir un super langage est le plus important. Ceci est une erreur !
Regardez simplement quels sont les langages les plus utilisés actuellement : Java ou Python tiennent le haut du pavé! Pourquoi?
Je pense que c’est parce qu’ils offrent une richesse importante en terme de librairies et parce qu’ils sont plus facilement accessible au développeur moyen. Tous ces développeurs n’ont pas nécessairement des doctorats et la plupart ont simplement appris des langages impératifs à l’école. Il ont souvent beaucoup de mal à utiliser des langages fonctionnels ou concaténatifs utilisant très fortement la récursivité pour traiter les boucles.
D’autre part certains langages, tel que OCAML, sont plus destinés à la recherche sur les concepts même de la théorie des langage et offrent de bien pauvres librairies qui sont utiles au développement d’applications (par exemple accès au base de données, XML, interfaces graphiques, Internet, etc…)
Dans ce dernier domaine, Erlang est un peu plus riche que la moyenne, mais reste malgré tout très en retrait d’un Java par exemple. Alors je comprend le succès de Java même si ce langage est assez primitif (les lisp et smalltalk des années 60 faisaient déjà aussi bien en GC et multi plate forme et étaient plus bien plus sophistiqués). De plus Java est extrêmement gourmand en consommation mémoire et on se demande bien pourquoi.
Toujours est il que je comprend un peu le succès de Java!

in (bad) english

I like Factor, but basic library words change to often, so I won’t use it before they become frozen, probably in release 1.0. Application developper hate to re-write code because some primitives change !

For Erlang part , I do not agree with Eric Rémond on, the fact that other languages cannot compete with Erlang, because in Erlang things like fault tolerance, supervisor tree model and network transparency are built in the design of the language.
Factor is mostly written in Factor, and most parts are retro-compiled at boostrap. Factor also permit code change at run-time. Factor is so mold that it should be possible to create an entire Erlang like language in it, using Factor as an underline low level layer. This could be a good thing because, in this way, we may be able to add primitives directly from the ‘Erlang like’ layer instead of coding them with static C as it is done presently.

But all of this is not the most important. Most of the time, language maker believe their langage can win because it is clever than other’s. This is FALSE !
Simply look at Java or Python. They are becoming main stream not because they are better (in fact they are far to be better) but because they offer a strong and rich set of libraries .
What does need applications developper? Most of them are not Doctor but simple average developpers, so what’s they need is a simple to learn, trivial language with a lot of libraries.

On this last area some clever languages fails. This is the case for OCAML, a very goog language but mainly aim at research. Few people use it because most of the libraries are simply toys!

For database access, XML, UI, Internet among other things, Java and Python largely win. Even Erlang is a little bit late in this area.

Worst, language like Ocaml, Erlang, or Factor require more important effort to learn and use because, most of the time, school prepare people for imperatives languages not for functional or concatenative one using intensive recursive loop and higher-order programming.

So I understand why Java win !

7/25/2005

Electronic CAD

Classé dans: — @ 10:15 pm

Dans la série Pub et Conseils:
FR
Pour tous ceux qui cherchent un excellent outils de CAO électronique libre et qui plus est, gratuit, je conseille sans réserve
KICAD. Probablement un des meilleurs outils libre dédié à la CAO électronique.

EN
If you are looking for a electonic CAD, my advise KICAD. Probably one of the best free cad I have seen.

7/19/2005

Pathétique

Classé dans: — @ 1:10 pm

Et voila que Philips s’y met

Après le chien AIBO de Sony le chat iCat de Philips

Le chat permet de représenter des expressions faciales !!!

Eh ben ils ont encore du boulot quand on voit ce que certains autres font :-)

Androide PKD

hansonrobotics

Codage du bazar avec OPPR un langage de scripting et DML des composants C++
Ca serait vraiment cool qu’un jour on oublie ce C++ pour utiliser des langages plus dynamiques pour ce type de problèmes. Je pense qu’un FACTOR avec des primitives en C ou en assembleur seraient très largement mieux. Et ne venez pas me dire que mes propos sont biaisés ;-).

7/8/2005

Premier post

Classé dans: — @ 8:00 am

Bon nous y voila
L’écriture c’est pas trop mon truc, mais je finis par céder a la mode

La bonne question maintenant c’est … qu’est ce que je vais y mettre

peut être dans un premier temps mes centres d’intérêts perso:

  • Factor

    un nouveau langage de programmation écrit par un petit jeune qui m’impressionne. Même si ce langage dans l’état actuel est inutilisable dans un contexte professionnel, il reste néamoins extrèmement intéressant. Je ne m’était pas autant passionné pour un langage depuis longtemps
  • la Robotique

    Ici sans surprise lecture de la vie artificielle régulièrement
  • l’électronique

    J’ai acheté un PIC 16F877 avec un programmateur avec pour objectif final de faire un peu de domotique (contôle du chauffage électrique). Pour la programmation du PIC j’ai fait quelques tests très satisfaisants en utilisant PICFORTH. Ceci permet d’avoir un excellent niveau de code (petit et performant) tout en restant au niveau d’un langage plus agreable que l’assembleur.

Réalisé avec WordPress  visitors