• [^] # Re: Hmmm

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

    Quitte à utiliser un langage surcouche de C, autant en utiliser un bon:
    Je ne sais pas si vous connaissez ATS (Applied Type System), ça a presque toutes les bonnes propriétés du Caml: typage statique, garbage collector, efficace, fonctions de première classe, etc.
    Mais en plus il y a plein d'autres choses vraiment bien:
    - types linéaires et types dépendants
    - possibilité de gérer sa mémoire à la main, mais de manière sûre. C'est à dire que si l'on ne veut pas du coût supplémentaire introduit parfois par le GC, on peut faire ses mallocs à la mains, mais il faut que le code reste bien typé ( ce sont les types linéaires qui gèrent ça: il est imposible de faire une segfault )
    - les fonctions C sont typables ( on doit ajouter des annotations de type bien sûr ). Il est donc possible d'appeler des fonctions C sans avoir à écrire de binding.

    Bon il y a forcément quelques petits problèmes, déjà, contrairement au Caml, les types ne sont pas complètement inférables, il faut donc annoter les fonctions. En pratique ce n'est pas un problème car quand on code une fonction, on sait toujours quel type elle devrait avoir.
    Le compilateur est un peu jeune ( c'est un projet de recherche ), et ça manque un peu de finition ( les erreurs de type ne sont pas toujours facile à comprendre par exemple ).
    Ça manque aussi d'un toplevel.
    Et c'est peut être un peu difficile au début de comprendre à quoi correspondent tous les types.

    Et ne me dites pas "oui mais il n'y a pas d'objets". Le système de type est largement assez puissant pour faire tout ce qu'on pourrait vouloir faire avec des objets.

    Pour se faire une idée: [http://www.ats-lang.org/TUTORIAL/tutorial.html]