• # Super un nouveau langage

    Posté par . En réponse à la dépêche Le language de programmation ooc sorti en version 0.2. Évalué à 1.

    Cette depeche tombe a point car depuis un an maintenant je suis a la recherche de langage natif avec gestion automatique de la mémoire afin de proposer une surcouche haut niveau pour un de mes projets.
    En effet je travaille sur un projet du nom de gynoid(clin d'oeil a android) qui consiste a wrapper en C les api des teléphones portables (wince, symbian, iPhone et peut etre un jour android si google l'autorise).
    A l'heure actuelle l'acces a l'adressbook est en train d'etre finalisé et j'avais adopté pour ce framework une approche orientée objet afin de simplifier le wrapping objet plus tard.
    Par exemple pour acceder aux contacts de l'adressbook on écrit :

    // Desolé pour l'indentation c pas très lisible


    ErrorCode err = 0;
    int iCount = 0;

    GDAddrBook* pAddrBook = NULL;
    GDAbItem* pAbItem = NULL;

    if (!GDAddrBook_Alloc(&pAddrBook) &&
    !GDAddrBook_Init(pAddrBook, 0) )
    {
    GDAddrBook_GetCount(pAddrBook, &iCount);
    for (int i = 0; i < iCount; i++)
    {
    if (GDAddrBook_GetItem(pAddrBook, i, &pAbItem) == 0)
    {
    GDCTSTR lpFirstName = (GDCTSTR) GDAbItem_GetProperty(pAbItem, eAbFirstName);

    //GDConsole_Writeln(_T("FirstName %s\nLastName %s\n", ...);
    _tprintf( _T("[%d] %s %s %s\n"), i, lpFirstName, lpLastName, lpMobTel);

    GDObject_Release(pAbItem);
    }
    }
    }

    Chacun de mes "objets" GDxxxx derive d'une structure avec une variable pour les références comptées.
    Problème c'est que les developpeurs aujourd'hui ne sont plus vraiment intéréssés par le C et ce d'autant plus qi'on developpe des interfaces graphiques, c'est pourquoi je cherchais un langage qui me permettrait d'offrir un langage plus haut niveau et rellement objet.
    Je me suis tourné des le départ vers le langage D car il concu par des grands noms du C++(A. Alexandrrescu) et des experts en compilation (Walter Bright) mais le problème est que le compilateur n'est ps disponible sur plateforme arm et que le compilo gnu GDC n'est meme plus maintenu.
    Par consqéquent ooc est une alternative sérieuse au D dans mon cas précis.
    Je pense par contre que ce serait pas mal de lancer un projet pour implémenter un frontend au sein de gcc ou mieux au sein de llvm car cela permettrait par la suite de pouvoir générer u narbre syntaxique ou un truc du genre pour prendre en charge la complétion dans un IDE par exemple.
    Bon d'abord je vais étudier un peu plus le langage et j'essaierais de donner un retour.