Common Lisp Object System (CLOS)

Ich bin auf objektorientierte Programmierung gestoßen, als ich Python (meine Muttersprache) lernte. Ich hatte damit zu kämpfen, weil das Paradigma nicht so offensichtlich ist wie die Verwendung von Funktionen und Strukturen in C. Bei mir hat es schließlich geklickt, als ich Android-Entwicklung in Java durchführte. Anstelle von Anweisungen wie bei der imperativen Programmierung (und deren Modularisierung mit Funktionen) ist Ihr Programm eine Sammlung von Entitäten, die miteinander kommunizieren und gemeinsam das erforderliche Ziel erreichen.

Ich war vom CLOS begeistert. OOP mit Java zu machen, scheint immer zu kompliziert zu sein. Eine IDE ist fast notwendig, um Ihr Design schnell umzusetzen. CLOS haben die Leichtigkeit von C-Strukturen, während sie Vererbung und Polymorphie so effektiv implementieren, dass sie transparent geworden sind. Ich kenne die genauen Implementierungsdetails von CLOS nicht, aber ich denke, es kann leicht in C reproduziert werden, indem die notwendigen Metadaten in der Struktur hinzugefügt und die notwendige Typprüfung in den Funktionen durchgeführt werden.

Die Eleganz von CLOS hat eine überraschende Konsequenz: Nach dem Erlernen ist sofort klar, dass man es in den meisten Fällen nicht braucht. Primitive Typen wie Listen, Hashmaps, Arrays, ... sind für den meisten Code ausreichend, aber sie sind da, wenn OOP der Weg ist, um eine sauberere Implementierung Ihrer Spezifikationen zu erreichen.

Ich bin auf objektorientierte Programmierung gestoßen, als ich Python (meine Muttersprache) lernte. Ich hatte damit zu kämpfen, weil das Paradigma nicht so offensichtlich ist wie die Verwendung von Funktionen und Strukturen in C. Bei mir hat es schließlich geklickt, als ich Android-Entwicklung in Java durchführte. Anstelle von Anweisungen wie bei der imperativen Programmierung (und deren Modularisierung mit Funktionen) ist Ihr Programm eine Sammlung von Entitäten, die miteinander kommunizieren und gemeinsam das erforderliche Ziel erreichen.

Ich war vom CLOS begeistert. OOP mit Java zu machen, scheint immer zu kompliziert zu sein. Eine IDE ist fast notwendig, um Ihr Design schnell umzusetzen. CLOS haben die Leichtigkeit von C-Strukturen, während sie Vererbung und Polymorphie so effektiv implementieren, dass sie transparent geworden sind. Ich kenne die genauen Implementierungsdetails von CLOS nicht, aber ich denke, es kann leicht in C reproduziert werden, indem die notwendigen Metadaten in der Struktur hinzugefügt und die notwendige Typprüfung in den Funktionen durchgeführt werden.

Die Eleganz von CLOS hat eine überraschende Konsequenz: Nach dem Erlernen ist sofort klar, dass man es in den meisten Fällen nicht braucht. Primitive Typen wie Listen, Hashmaps, Arrays, ... sind für den meisten Code ausreichend, aber sie sind da, wenn OOP der Weg ist, um eine sauberere Implementierung Ihrer Spezifikationen zu erreichen.

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow