Also, there is an interesting point about OO languages made by Rob Pike (on the 
wiki page) that would also imply that Go is not OO by design. 

> On Nov 22, 2022, at 9:43 AM, Robert Engels <reng...@ix.netcom.com> wrote:
> 
> 
> Go is not listed as an OO language on Wikipedia. 
> 
> Personally I think it is OO-like. OO typically has inheritance. 
> 
> There are also no “class variables” - only package level - which makes some 
> encapsulation patterns harder (every class has to become a package). 
> 
>>> On Nov 22, 2022, at 9:06 AM, Matt KØDVB <m...@k0dvb.com> wrote:
>>> 
>> The correct answer is actually “yes” because neither classes nor 
>> inheritance are necessary or sufficient for “object-oriented” programming.
>> 
>> https://www.youtube.com/watch?v=jexEpE7Yv2A
>> 
>> Sent from my iPad
>> 
>>>> On Nov 22, 2022, at 9:02 AM, Ayan George <a...@ayan.net> wrote:
>>>> 
>>> 
>>> 
>>> The Go FAQ begins the answer to the question, "Is Go an object-oriented 
>>> language," with, "yes and no."
>>> 
>>>   https://go.dev/doc/faq#Is_Go_an_object-oriented_language
>>> 
>>> The section goes on to say that Go has methods but there is no type 
>>> hierarchy.  I guess those are the yes and no.
>>> 
>>> But I feel like programmers bringing their ideas from other less 
>>> ambiguously object oriented languages like Java and C++ often have 
>>> difficulty writing idiomatic Go.
>>> 
>>> If the answer to that question is "yes and no," it'd be less ambiguous to 
>>> simply say, "no."  And that would be a definitive way of indicating that it 
>>> woul be inappropriate to apply many patterns from object oriented languages 
>>> to Go -- and to encourage people to accept Go for what it is.
>>> 
>>> Since receivers are parameters and one could use methods without using the 
>>> method calling syntax at all, I'd suggest we'd classify it as a structured 
>>> programming language with methods.
>>> 
>>> In either case, is there a way to make the FAQ more clear on this point?
>>> 
>>> -ayan
>>> 
>>> 
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "golang-nuts" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to golang-nuts+unsubscr...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/golang-nuts/CAPSh2XBozm9bOe-O3SphET3A3wTif%3D0RiV%3D1Bw6GJkgT3wedLA%40mail.gmail.com.
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "golang-nuts" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to golang-nuts+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/golang-nuts/2B1E6084-E6F1-4B21-8ADF-06DA02A56966%40k0dvb.com.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/650DFE5D-C686-4F2D-A957-6E296E0D17CA%40ix.netcom.com.

Reply via email to