OOP vs procedural programming - page 41

 
George Merts:

You go up to a car standing in traffic, look at the way it's set up - and tell the driver, "Is there any cooler way to confuse the problem, it's a hundred metres away".

As my experience shows, such "complicated problems" are much easier to understand than "hassle-free" EAs made by copying from a single template with all global variables.


Georges, I recently met up with an old friend of mine, she's an accountant and she's trying to master 1C. In 2007 she was trying to figure out her forage and that's when I found out about MQL4.

I took a look at that 1C and it made me feel sick ))

 
Реter Konow:

Two years of uninterrupted work.

The core of the graphical interface (by the way, there is also a proto-core containing prototype elements. It occupies 2 megabytes. It consists of such tables as the one I've cited) and contains thousands of variables. Do you think if I didn't use the kernel as a centre and scattered variables over classes and structures and set up communication between them via various access restrictions, I would have coped with my task? - Never on my own. I would have multiplied the number of entities in my program. The links within the code between functions and classes would become so complex that I simply wouldn't be able to continue working on my own. The efficiency of the whole mechanism would have plummeted.

I would have reached my limit much earlier and stopped.

Many times I asked myself the question - "what would I have achieved if I had used OOP?" and each time, based on daily practice, I realised that I could not have gone that far on my own.

In addition, my thinking is already structured and therefore I have no need for OOP in this regard.


I have a library of graphical controls in my articles (of course it has flaws too) - it was done in a fortnight, and two weeks to write the article. A few years later I used it when writing another article - everything came to mind almost instantly by looking at the drop-down list of methods, without looking at the article or the code.

 
Dmitry Fedoseev:

I have a library of graphical controls in my articles (of course it has flaws too) - it was made in a fortnight, and two weeks to write the article. A few years later I used it when writing another article - everything came to mind almost instantly by looking at the drop-down list of methods, without looking at the article or the code.

I don't want to belittle your work or single out my own, but you are comparing an elephant and a mosey. The scale is different. The level of complexity is different. I don't just have a set of controls. It's a whole graphical environment, which you can build with your own markup language. And it's drawn, not object-based.
 
Реter Konow:
I don't want to belittle your work or single out my own, but you're comparing an elephant and a mole. The scale is different. The level of complexity is different. I don't just have a set of controls. It's a whole graphical environment, which you can build with your own markup language. And it's drawn, not object-based.

However, it is not a two-year job. The amount of work is comparable to using graphic objects, but of course with the right approach. But to spend two years on it... sorry, move over.

We do add creation of canvas, but it is in a parent class, we do a method of drawing a rectangle and a couple of methods for drawing the simplest geometric shapes. Everything else is exactly the same.

And the fact that you all want to derogate my work has long been clear to me, so there's no need for any preambles. This library here is like a rock of discord, driving the crowd to mass hysteria.

 
Dmitry Fedoseev:

However, it is not a two-year job. The amount of work is comparable to using graphic objects, but of course with the right approach. But to spend two years on it... sorry, move over.

And the fact that you all want to humiliate my work - I have long understood, so no need for any preambles. This library here is like a rock of discord, driving the crowd to mass hysteria.

Humiliating people for no reason is not in my nature. Don't get snippy. You just don't get it. I probably can't explain it. So, think of yourself as the "serpent gorynych").
 
Реter Konow:
Humiliating people for no reason is not in my nature. Don't be so hard on yourself. You just don't understand. I probably won't be able to explain. So, think of yourself as the "serpent gorynych").

Think for yourself, but I don't write for two years what can be done in a month.

 
Dmitry Fedoseev:

Think for yourself, but I don't write for two years what can be done in a month.

So do it, what's the problem?
 
Реter Konow:
So do it, what's the problem?
I don't need to.
 
George Merts:


SanSanych over there suggests replacing OOP with documentation .

You're the one who came up with it - I'm not suggesting it.

From my practice.

  • The ToR is a document of well over 400 pages. The ToR is reviewed and approved
  • Then the technical project. This document was prepared by 40 to 50 people. By profession, they are: economists of different specialties, mathematicians, algorithms makers, sysadmins in the current terminology, electronics engineers.
  • Then the working draft. This is where the breakdown of programs and functions appears. The actual coding and debugging is done. Documentation is created: for developer, different users in the CPU, different application users (management, middle management, dispatchers...).
  • Further there is a trial operation. The main indicator is mean time between failures. If everything is properly done, documented, the principle of primitive coding is taken into account, the time between failures after the next catching of errors should decrease exponentially. If it is linear, it will most likely NEVER work at all.

Where is the OOP here? OOP is some corporate requirement during development. And it has little effect on the final result, but it can be very useful (so it seems to me), if one person is found and develops all the classes for the entire project, won't mix up anything, the classes will be natural from the final goal of the project....

 
Please don't deviate from the topic of the thread.