2009-11-30 4 views
2

Eh bien, je sais que ce n'est pas tout sur la vitesse et l'utilisation de la mémoire.Vos prédictions sur l'évolution des langues

Mais je voudrais savoir ce qui va arriver à la plupart des langages de programmation de haut niveau. Pour autant que je sache, Java est beaucoup plus rapide qu'elle ne l'était dans le passé, qu'en python, php, etc.

+0

SO n'est ni une boule de cristal ni un forum de discussion, * et * Je pense que cela a déjà été fait. – dmckee

Répondre

2

Speed ​​ a plus à avec la loi de Moore que la langue elle-même. Donc, si vous regardez en termes absolus, vous obtiendrez plus de bangs pour plus d'argent en mettant juste à jour votre machine sur une base régulière.

En termes de empreinte mémoire, je pense la plupart des langues de continuer la fonctionnalité de collecte augmentant ainsi leur empreinte.

+0

Dépend si la vitesse est définie comme latence ou débit. La loi de Moore ne va rien faire au sujet de la vitesse de la lumière qui dicte une latence minimale. Vous touchez cela au deuxième point; nous échangeons de la mémoire (capacité) pour le temps autant que possible parce que le temps est plus fini que la mémoire. Cela étant dit, +1, je suis d'accord avec vos deux points. – Gazzonyx

+0

@Gazzonyx: J'aime votre pensée, c'est-à-dire l'angle physique. Je suis d'accord à 100% avec vous. Je pensais plus en termes de * tout *, dimension dans laquelle la loi de Moore a une influence: plus d'unités de traitement en parallèle emballent dans des paquets toujours plus denses. – jldupont

1

Les langages de programmation de haut niveau continueront d'avoir plus d'abstractions qui permettront aux développeurs de spécifier précisément ce qu'ils veulent qu'un ordinateur fasse, sans avoir à se salir avec les détails sous-jacents difficiles qu'un système de compilation et/ou d'exécution mieux à l'optimisation de toute façon que tout développeur pourrait être en mesure de faire a priori.

Pensez à:

  • soutien à l'exécution multi-thread (comme parallèle dans Extentions dernier .NET)
  • spécifiant la structure et des résultats fonctionnels au lieu de dire manuellement ordinateur exactement comment et dans quel ordre mélanger aléatoirement ensembles de bits autour

Ce genre de choses.

0

Parallélisme, étant donné que l'augmentation du nombre d'unités de traitement (cœurs) est le principal moyen de gagner en vitesse de nos jours. Pour le rendre gérable aux humains, software transactional memory semble être l'une des solutions les plus prometteuses du monde réel.