C'est nécessaire pour pouvoir faire des raisonnements éléborés d'abstraire les structures. Plus on se rapproche du niveau sémantique, et plus il est facile de faire de déductions, et donc de faire des déductions efficace. Optimiser au niveau de l'algorithme et non plus de la boucle. Une idée qui m'est venu comme ça : un langage ou le compilo choisit lui même la structure de donnée adaptée pour stocker une collection d'objet, en fonction de ce qu'on en fait : optimisation des accès si il y en a beaucoup, ... Au lieu de préciser 'vecteur', 'liste', 'arbre de recherche', on dit 'collection de' et on laisse le compilo se débrouiller en fonction de l'utilisation qu'on en fait.
Alors ça c'est dingue !!! C'est précisément l'idée qu'on a eu avec Benoit l'autre jour. Je crois que c'est parti d'une remarque de nicO au SL2006 et on est arrivé à la conlusion qu'il fallait faire un type LIST général qui hérite dynamiquement de toutes les collections existantes (FIXED_ARRAY, LINKED_LIST, etc...). On ajoute un mot clé pour que le codeur puisse dire au compilateur de choisir lui même le parent en fonction de ce qu'il y a dans le code.
Par analyse de flot, le compilateur calcule le temps d'exécution dans le pire des cas de chaque branche et choisi la meilleur.
Dans le même genre, niveau langage, certains pensent (genre MS) qu'on va de plus en plus vers des langages spécialisés, dans lequel le spécialiste du domaine (plus forcément un informaticien spécialiste) peut exprimer ce qu'il veut, et laisser faire le boulot à des algos spécialisé, le travail de l'informaticien ce recentrant sur la conception des langages et des algos spécialisés.
Je ne savais pas qu'MS en arrivait là, mais j'en arrive aussi à la même conclusion. Suite à mes réflexions (voir mes articles), j'en arrive qu'il faut (liste non exhaustive):
- Un langage de manipulation de données ensembliste, genre Cduce, mais en plus haut et orienté langage naturel avec des idées de prolog.
- Des fonctionnalitées agent
- Du pattern matching, encore du pattern matching !
- La possibilité de définir une sémantique grammaticalisé avec les règles associées facilement.
C'est encore très flou, mais le concept "un paradigme pour tout faire", j'y crois plus.
Il faut que les langages ne se contentent plus de définir des graphes de code et il faut arrêter avec les grammaires dures (genre il manque un ';' donc ça compile pas).
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Optimiser un langage minimaliste cai mieux..
Posté par Ontologia (site web personnel) . En réponse à la dépêche 23 mars: Conférence au LORIA sur Lisaac, un nouveau langage. Évalué à 2.
Alors ça c'est dingue !!! C'est précisément l'idée qu'on a eu avec Benoit l'autre jour. Je crois que c'est parti d'une remarque de nicO au SL2006 et on est arrivé à la conlusion qu'il fallait faire un type LIST général qui hérite dynamiquement de toutes les collections existantes (FIXED_ARRAY, LINKED_LIST, etc...). On ajoute un mot clé pour que le codeur puisse dire au compilateur de choisir lui même le parent en fonction de ce qu'il y a dans le code.
Par analyse de flot, le compilateur calcule le temps d'exécution dans le pire des cas de chaque branche et choisi la meilleur.
Dans le même genre, niveau langage, certains pensent (genre MS) qu'on va de plus en plus vers des langages spécialisés, dans lequel le spécialiste du domaine (plus forcément un informaticien spécialiste) peut exprimer ce qu'il veut, et laisser faire le boulot à des algos spécialisé, le travail de l'informaticien ce recentrant sur la conception des langages et des algos spécialisés.
Je ne savais pas qu'MS en arrivait là, mais j'en arrive aussi à la même conclusion. Suite à mes réflexions (voir mes articles), j'en arrive qu'il faut (liste non exhaustive):
- Un langage de manipulation de données ensembliste, genre Cduce, mais en plus haut et orienté langage naturel avec des idées de prolog.
- Des fonctionnalitées agent
- Du pattern matching, encore du pattern matching !
- La possibilité de définir une sémantique grammaticalisé avec les règles associées facilement.
C'est encore très flou, mais le concept "un paradigme pour tout faire", j'y crois plus.
Il faut que les langages ne se contentent plus de définir des graphes de code et il faut arrêter avec les grammaires dures (genre il manque un ';' donc ça compile pas).
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker