Das kam in ein Gespräch Ich war online ist, und es fiel mir ein, dass ich keine Ahnung, wie das funktionieren soll: Viele Programmierer scheinen ganz einfach in der Tat als given- zu nehmen, offensichtlich, dass Klassen a sind notwendige Sprachfunktion für die Verwaltung riesiger Softwareprojekte.Wie helfen Ihnen Klassen bei der Verwaltung großer Anwendungen?
Es ist mir nicht klar, wie sie dies tun.
Sie Meine Frage ist, wie Sie wissen? Welche objektiven Maßnahmen zeigen, dass Klassen die Produktivität, die Wiederverwendung von Code und die Komplexität der Produktion eines Programms erhöhen? Welche Aspekte der Klassen machen sie ideal für große Teams zur Zusammenarbeit?
Und jetzt, es gibt eine Frage, die ich gerne stellen möchte, das ist etwas schwierig auszudrücken. Es tut mir leid, wenn ich das falsch verstehe und jemanden verwirre oder verärgere:
Objektiv wissen Sie, dass die Verwendung von Klassen nicht die Ursache dafür ist, dass die Anwendung zu Beginn groß ist? Das heißt, ist es möglich, dass ein Programm mit äquivalenter Funktion geschrieben werden könnte, mit viel weniger Code, klein genug, um keine speziellen Maßnahmen zu ergreifen, um es "zu managen", mit einer anderen Code-Wiederverwendungsstrategie? (Es gibt viele, aus denen man wählen kann, etwa solche in funktionalen Programmierparadigmen oder aspektorientierte Programmierung).
Das letzte Stück ist etwas, das Steve Yegge in seinem Blog angedeutet hat. Aber ich bin etwas skeptisch gegenüber beiden Seiten des Arguments, aufgrund eines wirklichen Mangels an harten Daten von irgendjemandem und nicht genug Erfahrung, um selbst zu einem Schluss zu kommen.
Was denkst du?
edit: Insbesondere interessiert mich, warum viele Programmierer denken, dass Prototyp-Stil Vererbung nicht die Aufgabe ist, wenn es um große Anwendungen geht. Es tut mir leid, diese Frage ist vage - es ist ein Produkt meines Unverständnisses zu diesem Thema.
edit2: Es scheint etwas Verwirrung darüber zu bestehen, was ich mit funktionaler Programmierung meine. (Ich glaube nicht, dass irgendeine Version von VB jemals funktional war, sicherlich nicht ältere Versionen). Bitte beachten Sie den Wikipedia-Artikel. http://en.wikipedia.org/wiki/Functional_programming
edit3: und lassen Sie mich betonen, dass ich nach objektiven Maßnahmen suche. Keine subjektiven Meinungen.
Stellar Antwort. Ich denke, ich verstehe es, aber selbst wenn ich es nicht tue, glaube ich, dass das Lesen mich schrittweise zu einem besseren Programmierer gemacht hat. Ich habe immer noch Hoffnung für die Zukunft, dass wir nicht aufhören werden, nach besser nutzbaren Wegen zu suchen, um diese Verkapselungsvorteile zu erzielen. – Breton