Recent

Author Topic: Interesting article about AI  (Read 12948 times)

VisualLab

  • Hero Member
  • *****
  • Posts: 614
Re: Interesting article about AI
« Reply #105 on: December 14, 2024, 01:08:26 am »
I'm asking for proof. It can be direct or indirect, it can be inductive or combinatorial or experimental in a laboratory. It doesn't matter. As long as proof is presented.
Great !! ask and you shall get.  My only concern is that is off topic in this thread.  I invite you to create a new thread for that purpose.

Also, so that you are not caught by surprise, the way I intend to prove it is by comparing parts of the code of ZydisInfoC to whatever OOP version, you or anyone else can produce that is at least as easy to understand and maintain while not using significantly more resources.   

IOW, I present non-OOP code that I've already written and challenge you or anyone else who cares to participate to either do as well or better with OOP.

I state that neither you nor anyone else will be able to produce a result of similar quality using OOP.

For the record, ZydisInfoC is just POC code.  I could improve it quite a bit but I submit it as-is with complete confidence it will not be matched using OOP.

Suppose I were to write such code. And let's also assume for a moment (purely hypothetically, just for the purposes of case study) that this program written as OOP was slightly more efficient than the one you wrote procedurally-structurally. What would that prove? Well, nothing! What's an experiment based on 2 cases worth? Any statistician would laugh at that. Such experiments would need to be performed on many different programs, performing different calculations and using different data structures. Comparative research must be carried out on a sample of such size that it is representative of the population under study. Then you can try to prove something.

However, statistical issues aside, this is still wrong thinking. Let us now take a case where we compare two programs, written in a procedural-structural way, which they:
  • perform the same tasks,
  • are not trivial programming exercises (e.g. calculating factorials or solving quadratic equations),
  • were compiled with the same compiler (language, version) and run on the same OS and computer (identical experiment conditions),
  • are written by different developers (so they have different implementations and may use different data structures).
There will probably still be a difference in speed and memory usage. On the surface, there is only one factor: the developer. But these developers can:
  • use different data structures,
  • arrange instructions in the program differently,
  • have different knowledge and experience and this will translate into the quality of the code.
So there are actually 3 factors, not one, that should be considered in this type of study. Now let's go back to comparing 2 codes written: procedural-structural and OOP. There is a 4th factor in this situation: the difference in the programming paradigm. But the 3 factors mentioned earlier will still affect the differences in the code. How to test this? You can use multifactorial analysis of variance. But then we won't get an answer that one paradigm is more efficient than the other. Only such an answer that (for example) there is an interaction between factors 2 and 3 and 4 or 1, 2 and 4.

Now let's go back to the comparison of proc-struct vs OOP paradigms. OOP is used in various programming languages, sometimes designed completely differently, operating in different environments: CPU (C++, Object Pascal), VM (C#, Java) or interpreter (Python, Ruby). There is a big difference between them in the OOP implementation itself. In addition, there is a big difference in the execution environment. Therefore, the concept of OOP itself is so broad and fuzzy that it can only be discussed as a concept. But the differences in implementation are too big to completely exalt or completely condemn this concept. It's these details that are important (even crucial). The concept of OOP itself is secondary. All the more so because you can emulate OOP even in C (without too much code bloating, although this is "ploughing on a stony field").

OOP is a religion.  People just want to believe in it, facts and logic are absent in that realm.
I fully stand by what I said.

And I maintain my opinion that such statements are just drivel laced with ordinary obsession. But… I have nothing against it. Everyone can have their own opinion, even if it is an oddity (provided that it does no harm to anyone).

The lack of proof will mean that all this talk like "OOP is a religion" is just blabbering nonsense and has nothing to do with facts and logic.
I like a proof-man, now prove me wrong.  Show me an OOP version of ZydisInfoC that improves upon it.

Otherwise, you're just preaching what you believe while failing to provide a foundation for it.

I'm the one who has to prove that your statements (or rather: opinions) about OOP are nonsense? You're the one who brought them out. I just asked for proof of your claims. Nothing more. I did not put forward any counter-thesis. So why should I prove anything?

"
The "private", "protected", etc are just crutches needed by OOP to accomplish what decently designed code accomplishes automatically.

How does he achieve this? Proof please. Otherwise it's just bullshit.
You're the OOP man.  Show me how you use use that stuff to improve upon my code.

I can be an "OPP man". I have much bigger flaws. For example, I "ungodly" criticize a certain "important" open source project :) So being an "OPP man" is not so bad :D

It's just a convention in naming identifiers. In procedural-structured programming it's also useful and used.
I might have missed it but, I've never seen non-OOP code _blanket_ prefix local variables with "F".  Prove me wrong, link to an example of non-OOP code, created more than 2 years ago, that uses that.

Who said it has to be the letter F? It can be another letter. For example, it can be "scarlet A :)

As a well known programmer says "talk is cheap, show me the code"...

Is it really a good idea to refer to THIS programmer's statements? :)
Yes, it's good idea because he's got a point.

Now, I'm going to paraphrase you and him:  The proof is in the code.

I've seen all your criticism, now show me the code/proof.

Depends when. Sometimes he "speaks nonsense".

...On the contrary, they seem to purposely ignore/cover them up (they have that in common with some OOP proponents.)

That what are the so-called "OOP advocates" hiding? That they are reptilians? :) And they "shove OOP down the throats" of poor procedural-structural programmers :D
What some (I should say "many" but I'm going to be kind) OOP proponents work really hard at sweeping under the rug is the loss of quality due to OOP.

E, worse. OOP supporters give bribes to anyone who is not yet convinced of OOP. And if such a programmer does not want to use OOP, they scare him that they will kill his hamster or fish, using a cat :D

That loss is evident in the larger executable size, higher use of resources (memory, CPU and O/S related) but not only it is often conveniently ignored but sometimes even denied.  Not to mention code that is much harder to maintain due to the gross abuse of polymorphism and exceptions.  OOP really is like religion, if you ignore all its problems then it's great.  Hallelujah or it alleluia ? if Sender is Hallelujah then ...

But if only procedural code is "stuffed" into the executable file, the files are always small? Even when the code consisting of 100 procedures grows to 1000 procedures? What magic :)

In OOP the copy/paste method "graduated" to inheritance which is one of the reasons OOP programs are much bigger than a reasonably well designed pure procedural program.

Such a statement rather shows a lack of knowledge about how inheritance in OOP is implemented (at least in Object Pascal). There is no "copy/paste" here. So Joanna is right.
Sorry... nope, you and Joanna are both wrong.  I didn't state there was copy/paste going on, I said there is inheritance going on which can be a lot worse than simple copy/paste.

OK, I was wrong. You said even more nonsense :)

Using libraries that use only procedures and structures (e.g. WinAPI, libc, LAPACK, etc.) "allows people with limited knowledge to feel more productive, very often at the expense of the quality of the final product.". That's why programs should be written only in assembler, written only by yourself :D
with that and the Assembly comment you got your "need to get silly" fix out of the way :)

In fact, it is most correct to write the program directly in machine code :)

Start a new thread,  show me I'm wrong about OOP. :)

As the well known programmer said: talk is cheap, show me the code.

I won't do it on purpose so that you continue to be wrong :D

440bx

  • Hero Member
  • *****
  • Posts: 4890
Re: Interesting article about AI
« Reply #106 on: December 14, 2024, 01:59:35 am »
I'm not going to waste anymore time with all that religious OOP non-sense of yours.

However, there is one thing I will point out because it totally obliterates all the nonsense you wrote.  Here it is:

Suppose I were to write such code. And let's also assume for a moment (purely hypothetically, just for the purposes of case study) that this program written as OOP was slightly more efficient than the one you wrote procedurally-structurally. What would that prove? Well, nothing!
wrong and I believe  you know that.

Given capable programmers, I state that a program that is implemented using OOP is _always_ inferior to the same program implemented using pure procedural programming.

Just as in Mathematics,  you just have to show one case where that statement is false to prove it is bunk.  I strongly suspect that you know this.

I offered a program to give you or anyone else an avenue to prove me wrong.  Instead of producing code you laid a bunch of worthless blah blah blah

I'll quote that programmer again: "talk is cheap, show me the code".

Since I'm not insane I don't expect a different result... which will simply be: more senseless OOP preaching... that's what programming is about... eternal OOPreaching.

No wonder A.I is getting ever more popular.

(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

Joanna from IRC

  • Hero Member
  • *****
  • Posts: 1273
Re: Interesting article about AI
« Reply #107 on: December 14, 2024, 02:01:11 am »
I would really like to have a look at 440bx’s mysterious code that only people who can download are allowed to see. I sense that he is frustrated and needs help turning it into oop code.   :-X

440bx please show me some code already!!
« Last Edit: December 14, 2024, 02:10:36 am by Joanna from IRC »
✨ 🙋🏻‍♀️ More Pascal enthusiasts are needed on IRC .. https://libera.chat/guides/ IRC.LIBERA.CHAT  Ports [6667 plaintext ] or [6697 secure] channel #fpc  #pascal Please private Message me if you have any questions or need assistance. 💁🏻‍♀️

440bx

  • Hero Member
  • *****
  • Posts: 4890
Re: Interesting article about AI
« Reply #108 on: December 14, 2024, 02:09:42 am »
440bx please show me some code already!!
Are you saying that you cannot download attachments from forum posts ?  If that's what you're saying you should address that situation.

This is your problem to solve, not mine nor anybody else's.
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

Joanna from IRC

  • Hero Member
  • *****
  • Posts: 1273
Re: Interesting article about AI
« Reply #109 on: December 14, 2024, 02:12:27 am »
440bx please show me some code already!!
Are you saying that you cannot download attachments from forum posts ?  If that's what you're saying you should address that situation.

This is your problem to solve, not mine nor anybody else's.
Has anyone here ever seen his code? If so can you please post it so we can see it? If it exists at all...
✨ 🙋🏻‍♀️ More Pascal enthusiasts are needed on IRC .. https://libera.chat/guides/ IRC.LIBERA.CHAT  Ports [6667 plaintext ] or [6697 secure] channel #fpc  #pascal Please private Message me if you have any questions or need assistance. 💁🏻‍♀️

TRon

  • Hero Member
  • *****
  • Posts: 3778
Re: Interesting article about AI
« Reply #110 on: December 14, 2024, 02:25:25 am »
Are you saying that you cannot download attachments from forum posts ?
fwiw: Everything relevant is there.
I do not have to remember anything anymore thanks to total-recall.

440bx

  • Hero Member
  • *****
  • Posts: 4890
Re: Interesting article about AI
« Reply #111 on: December 14, 2024, 02:26:40 am »
Has anyone here ever seen his code? If so can you please post it so we can see it? If it exists at all...
It's way too much code to be in regular thread posts. 

Do what everyone else does, download the archives.
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

Joanna from IRC

  • Hero Member
  • *****
  • Posts: 1273
Re: Interesting article about AI
« Reply #112 on: December 14, 2024, 02:30:11 am »
I just want to look at one file of it..
✨ 🙋🏻‍♀️ More Pascal enthusiasts are needed on IRC .. https://libera.chat/guides/ IRC.LIBERA.CHAT  Ports [6667 plaintext ] or [6697 secure] channel #fpc  #pascal Please private Message me if you have any questions or need assistance. 💁🏻‍♀️

440bx

  • Hero Member
  • *****
  • Posts: 4890
Re: Interesting article about AI
« Reply #113 on: December 14, 2024, 02:39:50 am »
I just want to look at one file of it..
well... delete the ones you're not interested in.

ZydisInfoC consists of 86 files in the folder 300_ZydisInfoC. 
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

LV

  • Full Member
  • ***
  • Posts: 190
Re: Interesting article about AI
« Reply #114 on: December 14, 2024, 10:58:54 am »
Discussions about programming paradigms often become quite emotional. This aspect seems to distinguish us from artificial intelligence. :)

Joanna from IRC

  • Hero Member
  • *****
  • Posts: 1273
Re: Interesting article about AI
« Reply #115 on: December 14, 2024, 11:34:39 am »
I just want to look at one file of it..
well... delete the ones you're not interested in.
ZydisInfoC consists of 86 files in the folder 300_ZydisInfoC.
86 files and you won’t even show me one? How selfish of you! I guess you’re not serious about wanting help with it then  :D
Discussions about programming paradigms often become quite emotional. This aspect seems to distinguish us from artificial intelligence. :)
Its not that difficult to trigger most people with just a few words. I’m sure AI do handle that task.
✨ 🙋🏻‍♀️ More Pascal enthusiasts are needed on IRC .. https://libera.chat/guides/ IRC.LIBERA.CHAT  Ports [6667 plaintext ] or [6697 secure] channel #fpc  #pascal Please private Message me if you have any questions or need assistance. 💁🏻‍♀️

VisualLab

  • Hero Member
  • *****
  • Posts: 614
Re: Interesting article about AI
« Reply #116 on: December 14, 2024, 02:03:14 pm »
However, there is one thing I will point out because it totally obliterates all the nonsense you wrote.  Here it is:

Suppose I were to write such code. And let's also assume for a moment (purely hypothetically, just for the purposes of case study) that this program written as OOP was slightly more efficient than the one you wrote procedurally-structurally. What would that prove? Well, nothing!
wrong and I believe  you know that.

Given capable programmers, I state that a program that is implemented using OOP is _always_ inferior to the same program implemented using pure procedural programming.

First: I wrote to you that it was an assumption, not a stated fact. Second: the assumption was needed to present an explanation of the simple fact that one comparison does not prove anything. It neither refutes a given thesis nor confirms it. This is what research is about, that many cases must be examined in order to generalize conclusions. The more cases examined, the more reliable the research results. These are the foundations of research based on statistical tests, not my idea.

Just as in Mathematics,  you just have to show one case where that statement is false to prove it is bunk.  I strongly suspect that you know this.

You are talking nonsense. Mathematicians would "grab their heads" hearing this nonsense. You are confusing proving a mathematical theorem with proving hypotheses in the natural sciences. What I wrote earlier, asking you to prove the validity of your statement using mathematical methods, was irony on my part. The quality of software (or any other product of technology) cannot be proven in this way. These are completely different situations. This is done through comparative research on a large number of cases using statistics. Moreover, generalizing the result of a study of one case to the entire population is a fundamental mistake. It is not for nothing that there is a proverb: "one swallow does not make a spring".

I offered a program to give you or anyone else an avenue to prove me wrong.  Instead of producing code you laid a bunch of worthless blah blah blah

Quite the opposite. I gave arguments why your idea of comparing only two programs written procedurally-structurally and OOP makes no sense. It's okay, you can ignore it, you can think it's gibberish, but you haven't proven anything. Your claim about the "OOP religion" is just your personal opinion (bizarre, naive and emotional).

I'll quote that programmer again: "talk is cheap, show me the code".

Since I'm not insane I don't expect a different result... which will simply be: more senseless OOP preaching... that's what programming is about... eternal OOPreaching.

You know very well that proving or disproving the statement: "a program that is implemented using OOP is _always_ inferior to the same program implemented using pure procedural programming" is not easy. Because it would require performing a very large number of different tests, which in turn would cost a lot of effort and take too long. And there is no certainty that it would give unambiguous results. However, one comparison has no significance. And personal opinions are often just feelings and emotions, not confirmation of facts.

No wonder A.I is getting ever more popular.

And in your opinion, only OOP programmers use AI? And programmers writing drivers for OSes (C, Rust), or programmers writing software for microcontrollers (C, assembler) do not use AI? About naivety. You asked them all and they replied: "No, we absolutely do not touch AI, because it is Satan's tool for OOP programmers"? :)

VisualLab

  • Hero Member
  • *****
  • Posts: 614
Re: Interesting article about AI
« Reply #117 on: December 14, 2024, 02:27:02 pm »
Discussions about programming paradigms often become quite emotional. This aspect seems to distinguish us from artificial intelligence. :)

It's not that bad. The discussion in this thread is, I would say, quite subdued. In any case, I tried to:
  • provide some sensible arguments,
  • refrain from excessive irony.
But you're right. Maybe it results from the fact that people (as beings) use concepts in discussions that are most often unmeasurable (as statisticians say). And this in turn means that objects with such features cannot be unequivocally compared. In particular, people like to argue about ideas or concepts. Meanwhile, only their implementations can be examined and compared. The concepts themselves are too general and vague. Maybe not all people are aware of this. It seems to me that conclusions about concepts can then be generalized when each implementation of an idea (concept) gives very similar results (has very similar effects). This is clearly seen in the example of communism. Communism is an idea, but only its implementations can be compared. And these were always similar in consequences (as we know from history).

Bogen85

  • Hero Member
  • *****
  • Posts: 702
Re: Interesting article about AI
« Reply #118 on: December 14, 2024, 02:46:39 pm »
No wonder A.I is getting ever more popular.

And in your opinion, only OOP programmers use AI? And programmers writing drivers for OSes (C, Rust), or programmers writing software for microcontrollers (C, assembler) do not use AI? About naivety. You asked them all and they replied: "No, we absolutely do not touch AI, because it is Satan's tool for OOP programmers"? :)

I'm never got on the OOP bandwagon. I've seem some practical and maintainable use of OOP, but I've seem far more use of OOP that made things far more complicated and harder to maintain than they should have been. I don't reject it outright, because any programming paradigm can be abused and also used effectively.

My opinion of AI and how it can be used is known here in this forum.... But tying the two together and implying that for those who find AI to be useful (and whose work and academic colleagues also find it useful), that they also are OOP proponents, has no concrete basis in reality.



VisualLab

  • Hero Member
  • *****
  • Posts: 614
Re: Interesting article about AI
« Reply #119 on: December 14, 2024, 03:50:09 pm »
No wonder A.I is getting ever more popular.

And in your opinion, only OOP programmers use AI? And programmers writing drivers for OSes (C, Rust), or programmers writing software for microcontrollers (C, assembler) do not use AI? About naivety. You asked them all and they replied: "No, we absolutely do not touch AI, because it is Satan's tool for OOP programmers"? :)

I'm never got on the OOP bandwagon. I've seem some practical and maintainable use of OOP, but I've seem far more use of OOP that made things far more complicated and harder to maintain than they should have been. I don't reject it outright, because any programming paradigm can be abused and also used effectively.

My opinion of AI and how it can be used is known here in this forum.... But tying the two together and implying that for those who find AI to be useful (and whose work and academic colleagues also find it useful), that they also are OOP proponents, has no concrete basis in reality.

I use OOP for practical reasons:
  • writing a program (especially a window program) consisting of many controls in a procedural-structural way would take much, much longer than OOP and the code would be very verbose,
  • the amount of technical details related to using the API OS (or the window environment) is huge (what structures, what functions, in what order to call them).
Thanks to this, my code is shorter. What I would have to write myself is already written - in classes. Of course, libraries do not always contain the classes I need. Sometimes I supplement the code with procedures and structures. In addition, my own classes also use structures (records, arrays, etc.) and procedures internally. Object Pascal (as well as C++) is a hybrid language: you can combine OOP with procedures and structures. And I like that very much. For me, it was tiring to have to write classes even for a single function, as is the case in C# and Java.

Nobody had to convince me to use classes. Maybe this is because I really like organized modularity, combined with the classification and separation of features and functionalities, not only in computer science but also in electronics and other fields. In the case of simple console programs or programs for microcontrollers (especially simple ones) I do not see the need to use OOP (and it is not always possible).

However, regarding AI and its use by developers (especially suggesting that it is intended for use with OOP), as you rightly point out, is a nonsense suggestion. That's why I allowed myself to respond ironically to the person suggesting this nonsense.

 

TinyPortal © 2005-2018