Jump to content

Talk:Object-oriented programming

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 2409:4060:e87:581f:d5f3:d0a7:ecd0:700b (talk) at 08:48, 18 December 2021 (Tidy using AWB). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Template:Vital article

Find sources: Google (books · news · scholar · free images · WP refs· FENS · JSTOR · TWL

Criticism on the Criticism Section

On that section, it was mentioned the problems with OOP. However, no one suggested the appropriate alternative to it. It was easy to criticize, but impossible to propose viable alternatives, therefore i see no purpose on the existence that section (as in: waste of time reading it).


A quote from the section sums it up: "The OOP paradigm has been criticised for a number of reasons, including not meeting its stated goals of reusability and modularity and for overemphasizing one aspect of software design and modeling (data/objects) at the expense of other important aspects (computation/algorithms)." In the light of existance of such operating systems as OS X which has employed and heavily built on Object-C from its introduction in 2000 as iOS has, the criticisms are to be easily dismissed as non-sensical. 77.241.195.226 (talk) 23:15, 8 July 2017 (UTC)[reply]

Personally I found it very interesting instead, because it led me to search for alternatives myself. But see, this is personal opinion, just as yours, and this is why that section should stay there regardless. Wikipedia should be free from controversy. Glittering Eyes (talk) 23:05, 16 February 2018 (UTC)[reply]

True that Wikipedia should stay free of controversies but even more true that Wikipedia should stay free of personal opinions. It is fair to present criticism as long it is from authoritative and well established sources and if is well circumstantiated and researched. However opinions of bloggers, obscure authors or reddit controversies do not count as relevant criticism. I think that currently the section on criticism is problematic because 1) some of the material it presents is circumstantial opinion and not proper research and 2) it does not present - as it is customary in well written Wikipedia articles - the responses or rebuttals to said criticism. Overall the section reads unbalanced and biased and I very much hope that it is revised. I may have a go at a more balanced and factual take on it myself, if I can find the time.

L0g1c4p3 (talk) 19:17, 2 January 2021 (UTC)[reply]

"Code gallery" section

Removed completely misleading and bogus non-example of OOP from the so called "Code gallery" section. It was a complete mess, the only member of the "gallery", written in an unspecified language, doing unspecified things in a manner foreign to OOP. Whatever unspecified purpose it might have had, the code was perfectly capable of crippling anyone's grasp at OOP for a considerable amount of learning time. Until a less harmful example is found, I think the article is better off without it for the time being.

Basic

Isn't a key feature of OOP that the programmer can define his/her own data types, which combine data types that come with the language? For example, one could define the object Customer, with includes ID (integer), Name (alphabetic), ItemPurchased (numeric array), ItemNo (integer), ItemCost (decimal numeric array), AccountBalance (decimal numeric, scalar), and even other objects already defined. 173.90.52.211(talk) 12:02, 24 August 2016 (UTC)[reply]

-- No. You could already do that in languages before OOP. C has typedef/struct, Pascal has type/record, etc.

-- (To be more constructive), No. That is mere [Object-oriented_programming#Dynamic_dispatch/message_passing|data abstraction]. Many/most/all OO languages support Abstract Data Types, but that feater is not sufficient to qualify a language as object-oriented. AHMartin (talk) 02:03, 27 August 2019 (UTC)[reply]

-- That is incorrect. Defining an alias for a type or for a collection of them (structs/records) does not amount to creating a type. A type is also characterised by behaviour, semantics, and being unique to the typechecking system. In the case of typedef, the name of the keyword is really unfortunate because it suggests that it is defining a type, instead it is not. It defines an alias of a type. The alias can still be used in any place where the original was expected, which amounts to NOT having created a type at all. Defining types is not solely a prerogative of OO languages (haskell and several functional languages also have the concept) but it is definitely a feature of all the OO languages I can think of. What the original question refers to (creating the class Customer) is indeed a key feature of OO languages. In fact, "Objects and classes" are already correctly listed in the article under Features. Therefore the article needs no correction in this respect. L0g1c4p3

Removing spammy-looking reference to Ilya Suzdalnitski.

An IP-adress had added this paragraph:

Ilya Suzdalnitski, better-programming website: Object-Oriented Programming — The Trillion Dollar Disaster (Why it’s time to move on from OOP)

with the reference:

"The Trillion Dollar Disaster". {{cite web}}: Text "author" ignored (help)

Since ● the author wikilink was red, ● the edit had no explanation, ● the reference is poorly formatted, ● the linked site looks to me like non-notable and somewhat polemical personal opinion and ● the new paragraph read like spam or clickbait, I am about to remove it. I do however think that the opinions on the site are not altogether implausible and may be of interest to some; if Ilya Suzdalnitski is considered notable and has a distinctive critical point to make then one could consider adding a more serious reference to it. PJTraill (talk) 17:47, 21 November 2020 (UTC)[reply]

Name. Ertan Altun.. E-MAIL.. aertan600@gmail.com.. 2.E-Mail.. altunertan0@gmail.com.. Domain.. aertan600@gmail.compy.com

Rechtliche Hinweise online Cooikse Inc Gesetze. FAQs.. DPR-0067.561134.50061.0927.. Oc333653.. C-311 /18 2.202.18.65 (talk) 02:07, 17 November 2021 (UTC)[reply]