• Re: What is OOP?

    From wij@wyniijj5@gmail.com to comp.lang.c++ on Sun Sep 28 16:02:54 2025
    From Newsgroup: comp.lang.c++

    On Mon, 2024-12-02 at 01:17 +0800, wij wrote:
    There are several understandings: https://www.quora.com/As-an-experienced-OOP-programmer-in-your-opinion-whats-the-biggest-problem-of-OOP-object-oriented-programming

    ...
    OO can have many meaning. I took OO to mean object, the basic entity of the programming model and the operation of the object. The concept, as foundmental,
    has to be solid, practical and easily usable. Otherwise, more codes and efforts
    will be needed latter to fix it, making the original goal ,practically, a lie.
    IOW, (nearly) a flawless model is all the basics. ... https://sourceforge.net/projects/cscall/files/MisFiles/ClassGuidelines.txt/download

    From my view, programming language has to provide a model, so that programmers
    know what they are dealing with, to solve the problem (recent C++ seems solving
    just syntax problems).
    In (my) OOP, 'portability' (or reusable) is first achieved by making the probramming object compatible (form platform to platfrom or from time to time in the same platform, but libwy only considers linux, but the idea should be generally applicable), i.e. like pod types, structures, union may not be portable.

    Programming object or 'concept' are 'better' represented/wrapped by class (keyword)
    All should be simple, I don't know how to make the idea of 'object' more simpler.
    See the guidelines.

    OTOH, in C/C++, every memory objects/function has address, the language cannot
    pretend it is not actually dealing with a large array of raw 'bytes' and its restrictions (and restrict by Turing Machine). I think that is generally where-a
    many programming problems from. And, understanding C or assembly is nearly a must
    before understanding C++, otherwise, no real meaning, simply put.

    Axiom 2 should explain why C++ can be powerful over other languages, esp. if
    it strictly follows Axiom 2 as the essence of 'OOP' (the development of C++ is nowhere
    near Axiom 2). See also link of ClassGuidelines.txt (it may look trivial, but don't
    be fooled. Try follow it every time you design a class).
    Many idea about 'program' should have been demonstrated in RealNumber2-en.txt: Procedural language itself is more expressive (and more real) than any
    other formal language in various math/logic theories.
    ---- Snippet from https://sourceforge.net/projects/cscall/files/MisFiles/RealNumber2-en.txt/download
    (about real number and infinity)
    ...
    Axiom 2: An object (e.g., number, form) and its (operational) properties exist
    simultaneously through definition.
    '='::= a=b iff a-b=0
    The meaning of the equality sign '=' can sometimes be ambiguous. This
    definition is intended only as a reference when its meaning is in doubt or
    undefined. According to Axiom 2, a number and its +/- operation must be
    defined simultaneously in order to use this definition to determine "equality".
    -----
    --- Synchronet 3.21a-Linux NewsLink 1.2