49 votes

Pourquoi programme-t-on toujours avec des fichiers plats?

Pourquoi sont des fichiers de texte plats de l'état de l'art pour représenter le code source?

Assurez-vous - le préprocesseur et le compilateur besoin de voir un fichier plat représentation du fichier, mais c'est facilement créé.

Il me semble qu'une certaine forme de XML binaire ou de données peut représenter beaucoup d'idées qui sont très difficiles à suivre, sinon.

Par exemple, vous pouvez inclure des diagrammes UML à droite dans votre code. Ils pourraient être générés de manière semi-automatique, et commentée par les développeurs pour mettre en évidence des aspects importants de la conception. Les diagrammes d'Interaction, en particulier. Heck, l'intégration de n'importe quel utilisateur de dessin pourrait rendre les choses plus claires.

Une autre idée est d'incorporer des commentaires de révision du code de droit dans le code.

Il pourrait y avoir toutes sortes d'aides à la fusion de plusieurs branches plus facile.

Quelque chose que je suis passionné n'est pas seulement le suivi de la couverture de code, mais aussi de regarder les parties de code couvert par un test automatisé. La partie la plus difficile est de garder la trace de ce code, de même que la source est modifié. Par exemple, le déplacement d'une fonction à partir d'un fichier à un autre, etc. Cela peut être fait avec les Guid, mais ils sont plutôt intrusive pour intégrer le droit dans le fichier texte. Dans une riche format de fichier, ils pourraient être automatique et discrète.

Alors, pourquoi ne sont-ils pas IDEs (à ma connaissance, de toute façon) qui vous permettent de travailler avec du code dans ce sens?

EDIT: le 7 octobre 2009.

La plupart d'entre vous a eu très accroché sur le mot "binaire" dans ma question. Je la retirer. Image XML, très peu de marquage de votre code. L'instant d'avant de vous remettre à votre normal de préprocesseur ou le compilateur, vous dépouiller de toutes les balises XML, et passer sur le code source. Dans ce formulaire, vous pouvez toujours faire toutes les choses normales pour le fichier: diff, de fusion, d'éditer, de travailler dans un simple et un minimum d'éditeur, de les introduire dans des milliers d'outils. Oui, la diff, de fusion, et de modifier, directement avec le minimum de balisage XML, est un peu plus compliqué. Mais je pense que la valeur pourrait être énorme.

Si un IDE existé qui a respecté toutes les XML, vous pouvez ajouter beaucoup plus que ce que nous pouvons faire aujourd'hui.

Par exemple, vos commentaires DOxygen pourrait en fait regarder comme le dernier DOxygen sortie.

Quand quelqu'un voulait faire une revue de code, comme le Code de Collaborateur, ils pourraient marquer le code source, à la place.

Le XML peut même être cachés derrière des commentaires.

// <comment author="mcruikshank" date="2009-10-07">
// Please refactor to Delegate.
// </comment>

Et puis, si vous souhaitez utiliser vi ou emacs, vous pouvez simplement sauter par-dessus les commentaires.

Si je veux utiliser un état-of-the-art de l'éditeur, je peux voir que dans une douzaine de différentes façons utiles.

Donc, c'est mon idée. Ce n'est pas "blocs de construction" de photos que vous faites glisser sur l'écran... je ne suis pas que les noix. :)

138voto

davetron5000 Points 9622
  • vous pouvez les différencier
  • vous pouvez les fusionner
  • n'importe qui peut les éditer
  • ils sont simples et faciles à traiter
  • ils sont universellement accessibles à des milliers d'outils

25voto

Rich Points 2429

À mon avis, tous les avantages possibles l'emportent sur les liés à un outil particulier.

Avec le texte clair de la source (qui semble être ce que vous êtes discuter, plutôt que des fichiers plats en soi), je peux coller les morceaux dans un courrier électronique, à l'aide de simples systèmes de contrôle de version (très important!), écrire du code dans les commentaires sur Stack Overflow, utiliser l'un des milliers d'éditeurs de texte sur un certain nombre de plates-formes, etc.

Avec une certaine représentation binaire de code, j'ai besoin d'utiliser un éditeur spécialisé pour afficher ou modifier. Même si un texte basé sur la représentation peut être produit, vous ne pouvez pas trivialement annuler les modifications dans la version canonique.

14voto

jop Points 31978

Smalltalk est une image basée sur l'environnement. Vous ne travaillez plus avec le code dans un fichier sur le disque. Vous travaillez avec et modifier les objets réels dans l'exécution. C'est toujours le texte, mais les classes ne sont pas stockées dans des fichiers lisibles par l'homme. Au lieu de l'ensemble de l'objet de la mémoire (l'image) est stocké dans un fichier au format binaire.

Mais la plus grande plainte des personnes qui essaient de sortir de smalltalk est parce qu'il n'utilise pas les fichiers. La plupart des fichiers en fonction des outils que nous avons (vim, emacs, eclipse, vs.net, outils unix) devront être abandonnées au profit de smalltalk outils propres. Non pas que les outils fournis dans smalltalk inférieure. C'est juste différent.

11voto

yfeldblum Points 42613

Pourquoi les essais sont-ils écrits en texte? Pourquoi les documents légaux sont-ils écrits en texte? Pourquoi les romans fantastiques sont-ils écrits en texte? Parce que le texte est la meilleure forme - pour les personnes - de persister dans leurs pensées.

Le texte est la façon dont les gens pensent, représentent, comprennent et conservent les concepts - ainsi que leurs complexités, leurs hiérarchies et leurs interrelations.

11voto

sanxiyn Points 2704

Les programmes Lisp ne sont pas des fichiers plats. Ils sont la sérialisation des structures de données. Ce code en tant que données est une vieille idée et en fait une des plus grandes idées en informatique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X