> I think the amount of hair-splitting over what is an object oriented 
language is reason to say it *isn't* an Object Oriented language at all.

Given the FAQ header's "Is Go an object-oriented language? emphasizing that 
"object-oriented" is in lowercase, not the titlecase "Object-Oriented" that 
generally points to OOP context: it is why I treat the FAQ "yes and no" as 
an acceptable answer. 

My exhibits:

   1. Linux kernel is mainly based on C, but it managed to grouped its 
   driver data into an object-oriented way (various types of IO IP products) - 
   See (https://elixir.bootlin.com/linux/latest/source/drivers)
   2. Go's various standard packages like (url, strings, http, etc), 
   they're oriented to a specific data type. See URL package 
   (https://pkg.go.dev/net/url@go1.19.3#URL)
   3. Unlike C, Go and Rust has interface methods that behaves similar to 
   an OOP Class (see URL in #2).

Therefore, you can't say they aren't OO but you certainly can say they 
incompatible with the conventional OOP.

If an amendment is required, I believe the missing context (OO in plain 
English or OO in OOP) has to be explictly clarified.  As far as definitions 
goes, they are 2 different contexts. OOP is an implementation/subset of OO.

One thing for sure: I agreed that the mentioned FAQ header is a bit cheesy.




>> Cars do not fly. Planes don’t use roads. Classes are abstractions that 
model required attributes that in turn compose a system to do useful work. 
Both boats and cars move. You can use a boat to get from a to b if there is 
no water. 
>> If someone said “I have a car for sale”, and you showed up and it had no 
wheels but a hull and a sail - you might be a bit upset.
>> Whether Go is a car or a boat is up to the experts.
> Labels/common language is what allows societies to exist. As in this 
case, I believe your ESL has caused you to issue some statements above that 
make it difficult for people to understand what you are trying to say and 
may even interpret them to mean you are a rude person that should be 
ignored.
> If you claim that labels are only useful when “it’s obvious what it is” - 
how do you determine it is obvious? Your personal experience/knowledge? An 
accepted “reference guide”?

If I re-phrase one of your example, it would be:

"I have a car (object) for sale" -> "Toyota Camry" (label) vs. "Tesla Model 
S" (label) vs "AeroMobil 3.0" (label)

   1. They are all unilaterally labelled as "car". Can you say all 3 of 
   them are not object-oriented towards "car" definition? (OO)
   2. When and how should we specify a "car" across automobile and 
   aeronautics industries? Electric motors vs ICE engine? engine capable of 
   flying + on the road? defined, ratified, and enforced by who or whom? (OOP)

I still don't see the examples ("car vs boat", "Acme1000 vs Beta1000") 
relevancies. However, given the tone and the frames of those examples, I 
did observed a known burnt-out pattern of a developer overworked for a long 
time to the point where a "car" and a "boat" can no longer be cognitively 
differentiable eventhough their clearly different in nature, unrelated to 
the labelligng topic at all. This is a severe symptom and I called out the 
psychological matter.

Given the recent mass layoffs, I'm not surpirsed some managers can pressure 
the team to perform beyond limits. No ill intent. Sorry if you take it 
another way.

Peace. Cheers!


Regards,
Holloway

-- 
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/730c3130-e4e9-4db5-87f6-589567f86fben%40googlegroups.com.

Reply via email to