Representation of an object in programming. - page 2

 
Реter Konow:
There's no way around it without a philosophical concept. Simply to combine functions and variables without following a well thought-out "blueprint" of the object? We're given certain tools: classes, structures, access modifiers... but there could be other tools... e.g. state, sampling, mapping... why not? My point is that the OOP format and toolkit can have versions...

There is such a thing as 'optimum sufficiency'.

Why does a person have two legs and two arms? Why doesn't a dog have five paws? That's why questions arise to you - why are you making up Frankensteins? On a regular basis. Does it itch? If you weren't making them up in an attempt to leave your mark, you would have long ago. I mean, you're putting your efforts in the wrong direction.

 
transcendreamer:
Generally speaking, when defining the Object, one should also define the Subject, otherwise this is an incomplete description of the world, besides in more modern philosophical concepts there is the Traject with an independent relational status as an intermediate/bonding link between the Object and the Subject.
Yes, ontology is concerned with the definition of the Object as such. Obviously, the creators of the PLO were leaning on the widely accepted ontological philosophical model. But that model is subjective. And yes, from an object, programming goes to a sub-object (AI).
 
Реter Konow:
This is where a philosophical concept cannot be avoided. Simply to combine functions and variables without following a well thought-out "blueprint" of the object? We're given certain tools: classes, structures, access modifiers... but there could be other tools... e.g. state, sampling, mapping... why not? My point is that the OOP format and toolkit can have versions...
And in certain cases, a different version of the object description format may be more effective.

Different languages have different OOP features.

 
Artyom Trishkin:

There is such a thing as 'optimum sufficiency'.

Why does a man have two legs and two arms? Why doesn't a dog have five paws? That's why the questions arise to you - why are you making up Frankensteins? On a regular basis. Does it itch? If you weren't making them up in an attempt to leave your mark, you would have long ago. I mean, you're putting your efforts in the wrong direction.

Are you speaking for yourself or for the administration?
 

I liked the following definition from Wikipedia:

Generic-oriented programming (OOP) is aprogramming methodology based on representation of a program as a setof objects, each of which is an instance of a certainclass, and the classes form a hierarchy of inheritance[1].

This is pure philosophy. So, those who think that there is no philosophy in programming are wrong. Object programming is built on the philosophical basis and consequently, programmers should be able to think abstractly and philosophically. I, for instance, am able to do that and I have philosophical questions to the concept. This is logical and legitimate. No "Frankenstein". I am guided by the question "what if the Earth is not flat?"


Here's the full article:

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

It's all philosophy.

 

From the wiki:

History[edit|edit code]


OOP arose as a result of development ofprocedural programming ideology, where data and subprograms (procedures, functions) of their processing are not formally linked. For further development of object-oriented programming the notions of event (the so calledevent-oriented programming) and component(component programming, COP) are often of great importance.

Interaction of objects takes place by means ofmessages. The result of further development of OOP seems to beagent-based programming, whereagents are independent parts of code at run-time level. Agents interact by changingthe environment in which they reside.

Language constructs that are not structurally related directly to objects but accompany them for their safe(exceptional situations, checks) and efficient operation are encapsulated from them in aspects(inaspect-oriented programming).Subject-oriented programming extends the concept of object by providing a more unified and independent interaction of objects. It can be a transitional stage between OOP and agent-based programming in the part of their independent interaction.

The first programming language to propose the basic concepts that later formed the paradigm wasSimula, but the term "object-oriented" was not used in the context of using this language. At the time of its introduction in1967, it proposed revolutionary ideas: objects, classes,virtual methods, etc., but all this was not perceived as something grandiose by its contemporaries. In fact, Simula was an "Algol with classes", simplifying the expression inprocedural programming of many complex concepts. The notion of class in Simula can be fully defined through the composition of Algol constructs (i.e. a class in Simula is something complex described by means of primitives).

The "new angle" (other than procedural) view of programming was suggested byAlan Kay andDan Ingalls inSmalltalk. Here, the notion of class became the underlying idea for all other language constructs (i.e. class in Smalltalk is a primitive through which more complex constructs are described). It was the first widespreadobject-oriented programming language.

Nowadays, the number of applied programming languages(list of languages) that implement the object-oriented paradigm is the largest relative to other paradigms. The most widely used languages in industry (C++, Delphi, C#, Java, etc.) embody the Simula object model. Examples of languages relying on the Smalltok model are Objective-C, Python, Ruby.

 

The above excerpt from the Wikipedia article describes how OOP ideas evolved. At first, I thought the concept was just something someone sat down and came up with. I was wrong. It was a process of evolution.

Perhaps the concept will continue to evolve. Why not?

 

Another excerpt from the Wiki, which confirms the subjectivity of the concept:

OOP has a history of more than forty years, but in spite of this, there is still no clear accepted definition of the technology[14]. The basic principles of the first object languages and systems have been substantially modified (or distorted) and added to in numerous implementations since then. In addition, since about themid-1980s, the term "object-oriented" becamefashionable, and as a result the same thing happened with it as with the term "structured" (which became fashionable after the spread ofstructured programming technology) somewhat earlier- it became artificially "attached" to any new developments to ensure their attractiveness.Björn Straustrup wrote in 1988 that the justification for "object-orientation" of anything, in most cases, boils down tothe flawedsyllogism: "X is good. Object-oriented is good.Therefore X is object-oriented".

Thus, a program is a set of objects with state and behaviour. The objects interact through messages. A hierarchy of objects is naturally built: the program as a whole is an object, it calls its constituent objects to perform its functions which, in their turn, perform the requested function by calling other objects of the program. Naturally, to avoidendless recursion in calls, at some point the object transforms the message addressed to it into messages to standard system objects provided by the language and the programming environment.

Stability and controllability of the system is provided due to the clear division of object responsibility (a certain object is responsible for each action), unambiguous definition of inter-object interaction interfaces and complete isolation of the internal structure of the object from the external environment (encapsulation).

OOP can be defined in many other ways.

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

End of quote.

 
Реter Konow:

I liked the following definition from Wikipedia:

Generic-oriented programming (OOP) is aprogramming methodology based on representation of a program as a setof objects, each of which is an instance of a certainclass, and the classes form an inheritance hierarchy [1].

This is pure philosophy. So, those who think that there is no philosophy in programming are wrong. Object programming is built on the philosophical basis and consequently, programmers should be able to think abstractly and philosophically. I, for instance, am able to do that and I have philosophical questions to the concept. This is logical and legitimate. No "Frankenstein". I am guided by the question "what if the Earth is not flat?"


Here's the full article:

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

It's all philosophy.

This is not philosophy at all, these are principles of control of a vehicle (automobile), a set of cogs, pins, pinions form more complicated structures and so on up to the main thing in this hierarchy - the gasket between a wheel and a seat

so those who think that driving a car is different to programming are out of the way.


To continue the juggling of terms, I suggest to get acquainted with the terms taxonomy and/orclassification from the same Wiki and further by proposed links in the articles of the Wiki

 

I may be wrong in my predictions, but if the concept continues to evolve, there will be a new Object model, which will require much less effort to build, and thus systems will grow faster. This will lead to the abolition of the programming process and the disappearance of many languages that have become rudimentary. This future is likely, because it makes sense.

Here are some theses which lead to such conclusions:

1. From the Object, programming goes to the Subject (AI).

2. To write an AI it is necessary to speed up the programming process considerably and reduce the labour input.

3. Thanks to new technologies and a new representation of the Object, programming can go beyond the keyboard and become much more interactive.


If evolution continues, we will inevitably have to experience global redistribution, which includes the disappearance of entire professions and specialisations. And the emergence of new ones.