Je concevons un langage de programmation, purement amusant et je veux ajouter autant de fonctionnalités expérimentales que possible, juste pour faire de la programmation quelque chose de complètement différent, et que pas de mauvaise manière comme cerveau * ck ou malbolge . p>
Cependant, je semble être assez mauvais pour que ce soit de nouvelles choses, mais je suis sûr qu'il y a des tonnes de choses qui ont été parlées mais jamais vraiment essayées. P>
E.g: Si je leur ai demandé cela, disons, 1960, une réponse pourrait être "Programmation orientée objet". P>
Je suis sûr qu'il y a beaucoup d'idées non imprimées, des scientifiques informatiques ont (récemment) montent, au moins on m'a dit alors. P>
5 Réponses :
Dwimnwis (fais ce que je veux dire, pas ce que je dis). P>
Plus sérieusement, une caractéristique absolument grande (qui serait très difficile à mettre en œuvre) serait la capacité du programme d'une langue d'être prouvable de ne pas contenir de problèmes de concurrence. P>
En ce qui concerne les fonctionnalités incorrectes, je dirais Lambdas et Fonctions de première classe . Pas exactement neuf ou théorique (quel âge a Lisp cette année) mais puissant et disparu de nombreuses langues. P>
Ils ont déjà fait cela, à Cobol, je pense, était-ce? Oh peu importe
De nos jours, il n'y a plus beaucoup de langues qui n'ont plus de fonctions de Lambdas et d'ordre supérieur.
Un domaine de recherche actuel est Types dépendants . Il y a encore beaucoup de choses que vous pouvez faire avec ceux qui n'ont pas encore été faits. P>
Un système de type dépendant complet comporte deux problèmes majeurs: la vérification des types de type et de type ne sont pas indéformables et peuvent donc ne pas arrêter.
@Jonpurdy: Coq et AGDA ont des types dépendants, mais aucun problème n'est mentionné.
Lire les publications ACM et IEEE pour les idées de recherche P>
Voici une idée; Et si quelqu'un écrit, ils doivent me donner crédit de droit d'auteur! Modèles de matrice arbitraires automatiques construits de manière à ce que ces matrices ne soient pas les types mathématiques mais plus d'un type de stockage ou de structure. Selon les paramètres de modèle, ces matrices peuvent être aussi simples qu'une valeur scalaire à la fois complexe qu'une entité dimensionnelle presque infinie en théorie si l'ordinateur pourrait le permettre sans manquer de mémoire mais dans la pratique, cela serait limité à l'architecture, au système d'exploitation et compilers détaillés intrinsèques de la taille de leur entier ou de leur type intégré. Donc, on peut avoir une matrice volumétrique dimensionnelle basse de 3 dimensions et qui est à l'écoute de la mémoire, car elle pourrait ressembler à ceci: maintenant ce que j'ai montré est la syntaxe C ++ actuelle pour les modèles variadiques. L'idée serait ici que ces types de conteneurs matriciels soient intégrés à des types! P> veulent les faire mathématiques? Bien sûr, c'est bien, mais l'utilisateur devrait définir leurs propres "algorithmes, méthodes, fonctions, fonctions ou routines" pour le faire. P> La raison pour laquelle ils devraient être définis indépendamment sont à cette raison: P> matrice
code>
code>
code> sont toutes des matrices parfaites. La simplification serait
matrice
matrice
mat<float, 3,3,3> mat1; 3x3x3 3D Volumetric Matrix - 27 elements
mat<float, 5,5> mat2; 5x5 2D Linear-Quadratic (Area) Matrix - 25 elements
mat<int, 6,7,8> mat3; 6x7x8 3D Volumetric Matrix - 336 elements
mat<bool, 8> mat4; 1x8 1D Linear Matrix (Array); transpose?
mat4::transpose; // built in - now 8x1 matrix
mat4::transpose; // back to 1x8.
class TheMotherLoad {// Many members and methods };
// ...
mat<TheMotherLoad*, 9,9,9,9,9,9,9,9,9> mat9;
// simplified version
mat<TheMotherLoad*, 9^9> mat9
// A 9 Dimensional Volumetric container So the first the would be a Cube
// with its sides having a length of 9 cells where the Volume 9^3 is the
// First Order of what a Volumetric Matrix is.
// Anything less is linear or quadratic either it being a scalar,
// translation, an array, a line, a point, a vector, rotation, quadratic and area )
// Now that we have a cube that has 729 elements and the next
// three 9s which are the 4th, 5th & 6th dimensions would act as another
// 9x9x9 matrix surrounding the first 3 dimensions respectively.
// Finally the 7th, 8th & 9th dimensions defines the "outer matrix"
// that also has "9x9x9" elements. So in total the number of elements
// in this matrix would be 729^3 and for every
Non séquentiellement (une idée provenant de la programmation Dataflow), de telles expressions sont évaluées lorsque leurs dépendances sont remplies. De sorte que: est un programme valide. Toutes les variables s'appelleraient aux cellules dans une feuille de calcul. P> print i
range(1..100) => i
# prints 1 to 100