2009-11-10 3 views
-2

Récemment, je réfléchis aux caractéristiques d'un bon langage de programmation. Il est vrai que "Il y a mille hameaux aux yeux de mille personnes", comme la simplification, l'explicitation, la lisibilité et plus encore. Mais je me demande si un bon langage de programmation devrait être cohérent, ce qui signifie que tout le monde écrira les mêmes codes (au moins très similaires) pour obtenir la même fonctionnalité, ce qui signifie que tout le monde lira, comprendra, et efficacement. Pas aussi flexible que tout le monde écrira différents codes de lisibilité et de qualité pour une fonctionnalité, qui dépend surtout de l'expérience et des compétences du programmeur. Jusqu'à présent, je n'ai pas trouvé de langues qui correspondent à ma définition de la cohérence, mais je suis toujours à la recherche. Quelqu'un en sait-il?Flexibilité ou cohérence, ce qui est correct pour un bon langage de programmation?

Je ne sais pas si vous êtes d'accord avec moi ou non? S'il vous plaît signaler si quelque chose ne va pas avec mon point. Et laissez votre argument, peu importe que vous êtes d'accord avec moi ou non. Laissez simplement vos points et vos arguments.

Cordialement.

+0

Si tout le monde écrit du code pour obtenir des fonctionnalités similaires, le problème est la bibliothèque et non la langue. –

+0

pourquoi ne pouvons-nous pas le faire dans le niveau de langue pas au niveau de la bibliothèque? Ou qu'en est-il des auteurs de la bibliothèque? Peuvent-ils atteindre la même fonctionnalité avec un code similaire (support qu'ils utilisent le même algorithme)? –

+0

@Daniel: ce qu'il veut dire est: * si * les gens devaient mettre en œuvre la même chose, ... – RCIX

Répondre

0

Le Zen of Python contient:

  • Il devrait y avoir One-- et de préférence qu'une seule façon de le faire --obvious.
+0

ya. Mais ce n'est pas vrai dans la réalité. –

1

Les deux, ou l'un ou l'autre. Prenez la différence entre Perl et Python. En Perl, dites à quelqu'un de lire les données d'un fichier et affichez-le sur stdout. Vous pouvez obtenir environ 85 000 permutations différentes. En Python, vous êtes susceptible d'avoir 5-10. Cependant, les deux sont largement utilisés, extrêmement puissant, très efficace et capable de presque n'importe quelle tâche.

Le choix de la langue dépend de vos préférences personnelles et de ce que vous voulez faire. Les paradigmes OO conduiront à des structures de programme radicalement différentes d'un programme à l'autre, les paradigmes de programmation impératifs conduiront à des structures de programme très similaires, du programmeur au programmeur, les paradigmes de programmation fonctionnelle se situeront quelque part entre les deux. En passant, je préfère personnellement que le langage soit suffisamment flexible pour que je puisse concevoir l'application de la manière que je considère appropriée, car il y a des moments où la performance de certains composants est une nécessité absolue alors que d'autres ne comptent pas tout. Un strict "One True Way" peut imposer des limites à ce que vous faites, mais "Il y a plus d'une façon de le faire" vous demande de savoir quelle est la meilleure performance et de faire le compromis entre lisibilité et compacité vs. mutuellement exclusifs).

+0

En bref: Visez au milieu! – RCIX

1

Il y a ce superbe dessin animé avec une balançoire dans chaque panneau. Un panneau a un swing régulier et dit "ce dont le client avait besoin". Le panneau suivant montre deux sièges - l'un sur l'autre et dit "ce que le client a demandé". Suivant est une balançoire avec trois sièges empilés qui dit "ce que le programmeur a construit". Tout le monde a une image mentale de leurs attentes. Et la photo de tout le monde est différente.

Vous ne pouvez pas obtenir une cohérence dans ce type d'environnement. Si nous ne pouvons pas atteindre la cohérence, pouvons-nous améliorer la lisibilité? Parce que l'objectif final est d'avoir du code que d'autres programmeurs peuvent maintenir. J'ai aimé literate programming. Il arrange le code dans un contexte humain - ce qui a du sens pour une personne à lire. Un style lettré suit de plus près votre modèle mental.

Même lorsque je ne peux pas utiliser les outils, ce style a considérablement amélioré la clarté et l'efficacité des commentaires.

Questions connexes