--NoDr - YGO--

8/28/2005

Erlang GUI

Classé dans: — @ 7:39 pm

(english text below )

Version française

Erlang offre un certain nombre d’avantages pour écrire des programmes de type ‘Back office’. Par contre il reste relativement faible pour la création de logiciels à fortes composantes graphiques. La couche GS, basé sur TK est archaîque, peu efficace et pas tès jolie.
Je pense que l’idéal pour Erlang serait une connexion vers wxWidget. wxWidget est une librairie graphique portable offrant de nombreux atouts. Un des points de failblesse de la plupart des autres GUI est de ne pas prendre en compte la capacité de faire de l’impression multi plateforme. C’est pourtant un point essentiel à tout programme. En ce domaine wxWidget se démarque particulièrement bien offrant une API permettant cet exploit.
La richesse de wxWidget serait un atout important pour un language comme Erlang.

In english

Erlang have a lot of avantages for back office code writing. On the other side there is some lack for GUI coding. The GS layer, based on TK, il a bit old and ugly.
I thing that one of the best portable GUI nowaday is wxWidget. Should be great to have some binding between Erlang and wxwidget.
I think the most important thing on wxWiget is not it’s GUI part (most of GUI are close each other in this area) but it is it’s ability to provide a platform independant printing system. Most of the GUI only provide screen painting but lacking the most important:! Printing.
Having wxWidget as GUI for Erlang could be really great because GS is ugly, EX11 is a toy and GTK offer less functions than wxWidget.

Who is NoDr YGO

Classé dans: — @ 2:00 pm

Fisrt of all, let me say I am not English native, (easy to see isn’t it - so please be tolerant - also you can send me corrections if you want :-) )
Because most of the thread/blog I usually read are prefixed with Dr Wise or Dr XY I have chose the No Dr. (guess why).

I am a 50 years old man and I have started my professionnal life, spending 15 years in building electronic board with C.A.D system before understanding software was more fun.
I am entirely self made in this area. Starting with Fortran-4 for writing some CAD little tools I have learned a lot of langages like Lisp prolog C/C++ VB Python Perl (and a few on smalltalk /squeek) and more recently Erlang and Factor.

I have worked fo lots of compagny, including Olivetti in multimédia, internet(web) and cooperative work (workflow).
Nowaday I am working for Witbe (http://www.witbe.com) I am mainly in charge of our Linux/Apache/Tomcat servers and developping some code with J2E. Despite my attemps Witbe never accept to try Erlang against Java.

Now I have 20 years of professionnal life software related, and I always like to follow the most recent development (Internet and Google are our friend ;-) ) .

I am mainly interessed by softawe development (Eralng, Factor) and electronic (PIC, FPGA and Robotics) and I plan to make a little domotic heat controller for my home.
My main interests centers are:

  • FACTOR

    Factor is an amazing new langage and have a very impressive potential even if not yet ready for industry.
     
  • ERLANG

    Erlang is strong industrial language with software fault tolerent built in. I really like the asynchronous lite thread, the distributing system and the tools provided with. Erlang in my mind is far before Java even if little bit slower and not well adapted for GUI programming.
  • PIC Forth compiler

    I want to build a domotic heat controller. Master clever part on PC connected through a serial line to a Slave PIC (16F877) based. The PIC will be in charge of measument of temperature and control of power relay. More on this one day on my blog (if I find enough free time (this is the most difficult part of this project ;-)
    Programming a PIC in assembly is a tiedous task and I will probably use PICFORTH because it provides better programming level, fast and lite code generation and smaller code than C .
  • ROBOTICS & ELECTRONICS

    I am also very puzzled by robotics evolution and I usally read LA VIE ARTIFICIELLE.
    I had a look at FPGA but have not really used them … a little bit expensive for just playing .. this is a pity because I am pretty sure there is a lot of things to do with.
    I don’t know if I am clever enough to manage work on it but one of my dreams would be to built a FPGA CPU stack machine based on Factor distributed with direct asynchronous data link to other CPU.
    Something in the spirit of good old transputer but with Erlang asynchronous distributed concept re-write in Factor. After that why not built a kind of “HYPER CUBE COMPUTER” (6 direct fast echanges links like face of a cube to direct connection to others proximity processors in an asynchronous way).
    Nowadays everybody try hard to make fast raw CPU but our brain is far far to be fast and probably not use complex mathematic concept models … but it is a very very highly parallel system with probably simple task on each node. So my Hyper Cube Computer should be a good candidate isn’t it :-) … but don’t that only a dream, I am not really sure to be enough skilled to build a such CPU on a FPGA and I am quite sure I am not rich enough to acquire needed parts.

8/16/2005

Comega

Classé dans: — @ 2:52 pm

Even Microsoft believe in distributed concurrency and lite thread.

for further informations simply look at their site Comega

**** extract ****
Cω is an extension of C# in two areas:

  • A control flow extension for asynchronous wide-area concurrency (formerly known as Polyphonic C#):
  • A data type extension for XML and table manipulation (formerly known as Xen and as X#):

*** /extract ***

And of course, not a word about Erlang !! But I understand Comega is still far behind Erlang and it’s safety ;-)

8/5/2005

Factor concurrency

Classé dans: — @ 9:35 am

Chris Double put doc premises for it’s concurrency code on factor. It is not finished yet, but a good promise.
However it remain a problem with current threading model wich is cooperative. That mean a infinite loop on a process can block the entire Factor VM.
I wonder if a trivial way to avoid that could be to force a yield after a GC ?

Factor concurrency doc

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 !

Réalisé avec WordPress  visitors