Wie oft haben Sie oder haben Sie gesehen, dass Metaprogrammierung in Projekten verwendet wird? In der Uni habe ich noch nie gesehen, dass dies angewendet wird, aber ich habe dies bei meinem vorherigen Job gesehen (als ich es sah, war ich überwältigt davon, wie effektiv es war).
Aber wie häufig ist es? Wird es ständig oder nur gelegentlich verwendet?
meta-programming
gablin
quelle
quelle
Antworten:
Wenn Sie Reflexion als eine Art Metaprogrammierung betrachten, ist dies relativ häufig. Für manche Menschen ist sogar die generische Programmierung (Vorlagen und Generika) eine Form der Metaprogrammierung, daher ist dies noch häufiger.
Meiner Meinung nach ist die Metaprogrammierung jedoch etwas komplexer, das die eigentliche Codegenerierung beinhaltet und daher selbst in Skriptsprachen ziemlich ungewöhnlich ist.
quelle
Ich denke, es hängt stark davon ab, welche Sprache Sie verwenden. Gewöhnliche Lisp-Leute machen wahrscheinlich einen fairen Gebrauch davon - das Meta-Object-Protokoll ermöglicht zum Beispiel ordentliche Dinge transparente / orthogonale Persistenz - und Smalltalker verwenden es häufig.
quelle
Es tritt häufig und konsistent in Common Lisp-Projekten auf. Schauen Sie sich OnLisp und Let Over Lambda an, um Erklärungen / Einblicke zu erhalten.
Wenn Sie nur nach Beispielen suchen (und CL kennen), überprüfen Sie das Antiweb- Repository. Es gibt eine Menge Meta-Programmierung unter der Decke.
quelle
In den letzten zwei Jahren war das erste Stück Programmierung für eine neue Aufgabe fast immer das Schreiben von Code zum Schreiben von Code. Es gibt eine Menge Boilerplate im Zusammenhang mit Interaktionen mit einer Datenbank, die bis zur automatischen Skriptgenerierung vereinfacht werden können. Denken Sie an Dinge, bei denen Sie 3 Tabellen abfragen müssen, um ein Objekt oder ähnliches zu bilden. Warum selbst schreiben, wenn es 10 dieser Dinge gibt, die sich in Zukunft ändern könnten?
quelle