Darstellung eines Objekts in der Programmierung. - Seite 2

 
Реter Konow:
Ohne ein philosophisches Konzept führt kein Weg daran vorbei. Einfach Funktionen und Variablen zu kombinieren, ohne einem gut durchdachten "Bauplan" des Objekts zu folgen? Man gibt uns bestimmte Werkzeuge: Klassen, Strukturen, Zugriffsmodifikatoren... aber es könnte andere Werkzeuge geben... z.B. Zustand, Probenahme, Kartierung... warum nicht? Ich will damit sagen, dass das OOP-Format und das Toolkit Versionen haben können...

Es gibt so etwas wie eine "optimale Suffizienz".

Warum hat der Mensch zwei Beine und zwei Arme? Warum hat ein Hund keine fünf Pfoten? Deshalb stellen sich Ihnen Fragen: Warum erfinden Sie Frankensteins? Auf regelmäßiger Basis. Juckt es? Wenn du sie nicht erfinden würdest, um dich zu profilieren, hättest du das schon längst getan. Ich meine, dass Sie Ihre Bemühungen in die falsche Richtung lenken.

 
transcendreamer:
Im Allgemeinen muss man, wenn man das Objekt definiert, auch das Subjekt definieren, da dies sonst eine unvollständige Beschreibung der Welt ist, außerdem gibt es in moderneren philosophischen Konzepten das Trajekt mit einem unabhängigen relationalen Status als Zwischen-/Bindeglied zwischen Objekt und Subjekt.
Ja, die Ontologie befasst sich mit der Definition des Objekts als solches. Offensichtlich stützten sich die Gründer der PLO auf das weithin akzeptierte ontologische philosophische Modell. Aber dieses Modell ist subjektiv. Und ja, von einem Objekt geht die Programmierung zu einem Unterobjekt (AI).
 
Реter Konow:
An dieser Stelle lässt sich ein philosophisches Konzept nicht vermeiden. Einfach Funktionen und Variablen zu kombinieren, ohne einem gut durchdachten "Bauplan" des Objekts zu folgen? Man gibt uns bestimmte Werkzeuge: Klassen, Strukturen, Zugriffsmodifikatoren... aber es könnte andere Werkzeuge geben... z.B. Zustand, Probenahme, Kartierung... warum nicht? Ich will damit sagen, dass das OOP-Format und das Toolkit Versionen haben können...
Und in bestimmten Fällen kann eine andere Version des Objektbeschreibungsformats effektiver sein.

Verschiedene Sprachen haben unterschiedliche OOP-Funktionen.

 
Artyom Trishkin:

Es gibt so etwas wie eine "optimale Suffizienz".

Warum hat der Mensch zwei Beine und zwei Arme? Warum hat ein Hund keine fünf Pfoten? Deshalb stellen sich Ihnen Fragen: Warum erfinden Sie Frankensteins? Auf regelmäßiger Basis. Juckt es? Wenn du sie nicht erfinden würdest, um dich zu profilieren, hättest du das schon längst getan. Ich meine, dass Sie Ihre Bemühungen in die falsche Richtung lenken.

Sprechen Sie für sich selbst oder für die Verwaltung?
 

Mir gefällt die folgende Definition aus Wikipedia:

Diegenerisch orientierte Programmierung (OOP) ist eineProgrammiermethodik, die auf der Darstellung eines Programms als eine Mengevon Objekten basiert, von denen jedes eine Instanz einer bestimmtenKlasse ist, und die Klassen bilden eine Vererbungshierarchie[1].

Das ist reine Philosophie. Diejenigen, die glauben, dass es beim Programmieren keine Philosophie gibt, liegen also falsch. Die Objektprogrammierung basiert auf einer philosophischen Grundlage, und folglich sollten Programmierer in der Lage sein, abstrakt und philosophisch zu denken. Ich zum Beispiel bin dazu in der Lage, und ich habe philosophische Fragen zu diesem Konzept. Das ist logisch und legitim. Kein "Frankenstein". Ich lasse mich von der Frage leiten: "Was ist, wenn die Erde nicht flach ist?"


Hier ist der vollständige Artikel:

https://ru.wikipedia.org/wiki/Объектно-ориентированное_программирование

Das ist alles Philosophie.

 

Aus dem Wiki:

Geschichte[edit|edit code]


OOP entstand als Folge der Entwicklung derprozeduralen Programmierideologie, bei der Daten und Unterprogramme (Prozeduren, Funktionen) ihrer Verarbeitung nicht formal miteinander verbunden sind. Für die Weiterentwicklung der objektorientierten Programmierung sind die Begriffe Ereignis (die so genannteereignisorientierte Programmierung) und Komponente(Komponentenprogrammierung, COP) oft von großer Bedeutung.

Die Interaktion von Objekten erfolgt überNachrichten. Das Ergebnis der Weiterentwicklung von OOP scheint dieagentenbasierte Programmierung zu sein, bei derAgenten unabhängige Teile des Codes auf der Laufzeitebene sind. Agenten interagieren, indem siedie Umgebung, in der sie sich aufhalten, verändern.

Sprachkonstrukte, die strukturell nicht direkt mit Objekten zusammenhängen, sondern sie für ihren sicheren(Ausnahmesituationen, Prüfungen) und effizienten Betrieb begleiten, werden von ihnen in Aspekten gekapselt(in deraspektorientierten Programmierung). Diesubjektorientierte Programmierung erweitert das Konzept des Objekts, indem sie eine einheitlichere und unabhängigere Interaktion von Objekten ermöglicht. Es kann ein Übergangsstadium zwischen OOP und agentenbasierter Programmierung in dem Teil ihrer unabhängigen Interaktion sein.

Die erste Programmiersprache, die die grundlegenden Konzepte vorschlug, die später das Paradigma bildeten, warSimula, aber der Begriff "objektorientiert" wurde nicht im Zusammenhang mit der Verwendung dieser Sprache verwendet. Bei seiner Einführung imJahr 1967 schlug es revolutionäre Ideen vor: Objekte, Klassen,virtuelle Methoden usw., aber all dies wurde von seinen Zeitgenossen nicht als etwas Großartiges wahrgenommen. In der Tat war Simula ein "Algol mit Klassen", das den Ausdruck vieler komplexer Konzepte in derprozeduralen Programmierung vereinfachte. Das Konzept der Klasse in Simula kann vollständig durch eine Komposition von Algol-Konstrukten definiert werden (d.h. eine Klasse in Simula ist etwas Komplexes, das mit Hilfe von Primitiven beschrieben wird).

Der "neue Blickwinkel" (anders als prozedural) auf die Programmierung wurde vonAlan Kay undDan Ingalls inSmalltalk vorgeschlagen. Hier wurde der Begriff der Klasse zur Grundlage für alle anderen Sprachkonstrukte (d.h. die Klasse in Smalltalk ist ein Primitivum, durch das komplexere Konstrukte beschrieben werden). Sie war die erste weit verbreiteteobjektorientierte Programmiersprache.

Heutzutage ist die Anzahl der angewandten Programmiersprachen(Liste der Sprachen), die das objektorientierte Paradigma implementieren, die größte im Vergleich zu anderen Paradigmen. Die in der Industrie am weitesten verbreiteten Sprachen (C++, Delphi, C#, Java usw.) verkörpern das Simula-Objektmodell. Beispiele für Sprachen, die auf dem Smalltalk-Modell basieren, sind Objective-C, Python und Ruby.

 

Der obige Auszug aus dem Wikipedia-Artikel beschreibt, wie sich die OOP-Ideen entwickelt haben. Zuerst dachte ich, das Konzept sei einfach etwas, das sich jemand ausgedacht hat. Ich habe mich geirrt. Es war ein Prozess der Evolution.

Vielleicht wird sich das Konzept noch weiterentwickeln. Warum nicht?

 

Ein weiterer Auszug aus dem Wiki, der die Subjektivität des Konzepts bestätigt:

OOP hat eine mehr als vierzigjährige Geschichte, aber trotzdem gibt es immer noch keine klare akzeptierte Definition der Technologie[14]. Die Grundprinzipien der ersten Objektsprachen und -systeme wurden seither in zahlreichen Implementierungen erheblich verändert (oder verzerrt) und ergänzt. Hinzu kommt, dass der Begriff "objektorientiert" etwa seitMitte der 80er Jahrein Mode kam und damit das Gleiche geschah wie mit dem Begriff "strukturiert" (der nach der Verbreitung derstrukturierten Programmiertechnik in Mode kam) etwas früher- er wurde künstlich an jede neue Entwicklung "angehängt", um deren Attraktivität zu gewährleisten.Björn Straustrup schrieb 1988, dass die Rechtfertigung für die "Objektorientierung" von allem in den meisten Fällen auf den fehlerhaftenSyllogismus hinausläuft: "X ist gut. Objektorientiert ist gut,also ist X objektorientiert".

Ein Programm ist also eine Menge von Objekten mit Zustand und Verhalten. Die Objekte interagieren durch Nachrichten. Es wird natürlich eine Hierarchie von Objekten aufgebaut: Das Programm als Ganzes ist ein Objekt, das zur Ausführung seiner Funktionen auf seine Teilobjekte verweist, die ihrerseits die gewünschte Funktion ausführen, indem sie auf andere Objekte des Programms verweisen. Umendlose Rekursionen bei Aufrufen zu vermeiden, wandelt das Objekt die an es gerichtete Nachricht natürlich irgendwann in Nachrichten an Standard-Systemobjekte um, die von der Sprache und der Programmierumgebung bereitgestellt werden.

Die Stabilität und Kontrollierbarkeit des Systems wird durch die klare Aufteilung der Objektverantwortung (für jede Aktion ist ein bestimmtes Objekt verantwortlich), die eindeutige Definition der Schnittstellen für die Interaktion zwischen den Objekten und die vollständige Isolierung der internen Struktur des Objekts von der externen Umgebung (Kapselung) gewährleistet.

OOP kann auf viele andere Arten definiert werden.

//-----------------------------------------------------------------------

Ende des Zitats.

 
Реter Konow:

Mir gefällt die folgende Definition aus Wikipedia:

Diegenerisch orientierte Programmierung (OOP) ist eineProgrammiermethodik, die auf der Darstellung eines Programms als eine Mengevon Objekten basiert, von denen jedes eine Instanz einer bestimmtenKlasse ist, und die Klassen bilden eine Hierarchie der Vererbung [1].

Das ist reine Philosophie. Diejenigen, die glauben, dass es beim Programmieren keine Philosophie gibt, liegen also falsch. Die Objektprogrammierung basiert auf einer philosophischen Grundlage, und folglich sollten Programmierer in der Lage sein, abstrakt und philosophisch zu denken. Ich zum Beispiel bin dazu in der Lage, und ich habe philosophische Fragen zu diesem Konzept. Das ist logisch und legitim. Kein "Frankenstein". Ich lasse mich von der Frage leiten: "Was ist, wenn die Erde nicht flach ist?"


Hier ist der vollständige Artikel:

https://ru.wikipedia.org/wiki/Объектно-ориентированное_программирование

Das ist alles Philosophie.

Das ist überhaupt keine Philosophie, das sind Prinzipien der Steuerung eines Fahrzeugs (Automobils), eine Reihe von Zahnrädern, Stiften, Ritzeln bilden kompliziertere Strukturen und so weiter bis zur Hauptsache in dieser Hierarchie - die Dichtung zwischen einem Rad und einem Sitz

Diejenigen, die glauben, dass Autofahren etwas anderes ist als Programmieren, sind also aus dem Weg geräumt.


Um das Jonglieren mit Begriffen fortzusetzen, schlage ich vor, die Begriffe Taxonomie und/oderKlassifikation im selben Wiki zu lesen und weiter zu den vorgeschlagenen Links in den Artikeln des Wikis

 

Vielleicht liege ich mit meinen Vorhersagen falsch, aber wenn sich das Konzept weiterentwickelt, wird es ein neues Objektmodell geben, das viel weniger Aufwand erfordert, und somit werden die Systeme schneller wachsen. Dies wird zur Abschaffung des Programmierens und zum Verschwinden vieler rudimentär gewordener Sprachen führen. Diese Zukunft ist wahrscheinlich, weil sie sinnvoll ist.

Hier sind einige Thesen, die zu solchen Schlussfolgerungen führen:

1) Vom Objekt geht die Programmierung zum Subjekt (AI).

2. Um eine KI zu schreiben, muss man den Programmierprozess erheblich beschleunigen und den Arbeitsaufwand verringern.

3. dank neuer Technologien und einer neuen Darstellung des Objekts kann die Programmierung über die Tastatur hinausgehen und viel interaktiver werden.


Wenn die Entwicklung weitergeht, werden wir unweigerlich eine globale Umverteilung erleben, die auch das Verschwinden ganzer Berufe und Spezialisierungen beinhaltet. Und das Entstehen neuer.

Grund der Beschwerde: