I will start with cautionary tell. At one of his public talks Bjarne 
Stroustrup in some way, admited that he made a very bad job when teaching 
people C++ and now we must live with many bad practices being a norm and 
even adviced as good practices. In Stroustrup words
"I didn't care about "Let them hear your message", "Show them the vision". 
I was thinking, that it just a rabbish. It is not.".

I would classify all questions like "Is Go OOP language?" in the category  
"Let them hear your message". People like Rob Pike, Robert Griesemer and 
Ian Lance Taylor probably don't need any labels like that, since, at the 
end of the day, these labels answer very little important questions and 
they can just go to the heart of the matter. But, let face it, very few 
people is on thier level, especiall among newcommers.

We know how much hot topic was "generics in Go" (one of the less know part 
of the language in may case), when Robert Griesemer can just say in his 
talks about adding them to Go "Generics are just glorified (type checked) 
macros" (GopherCon 2020). For me it is one of the signs of how good people 
like Griesemer are: for them the many hottest topics are just "no big deal".

Previously, rightly, it was observed that 1990s OOP was a huge fad. 
Unfortunetly, it is still big fad in many places. I'm from Poland, where 
the most popular book, which I read myself as the beginner, in the last 30 
years on C++ is written with this OOP fad spirit. And from many reasons, 
people in Poland in the age span 15-25 still today starts they programming 
journej with this book. People raised in such enviroment, when comming to 
any other language will be asking "Is it OOP?". Languages for which answer 
is "Yes" will be classified as "cool" and these for which answer is "No" as 
"Uncool, outdated and passe". Which is rabbish, but new people just don't 
know better.

If this discussion about "Is X OOP language?" was just about which labels 
applies where, I would probably shrug and go do more important things. But, 
I consider it a case of "Let them hear you message" to use this slogan, and 
I happy to spend some of my time expleining people who ask what I 
understand about Go. For the same reason, I consider spending time in this 
thread, a things that can lead to something valuable.

Best regards,
Kamil
czwartek, 24 listopada 2022 o 11:40:45 UTC+1 Kamil Ziemian napisał(a):

> " Let me ask, because I'm genuinely curious: Why does it matter? The 
> labels we apply to things do not affect their function. Perhaps it affects 
> how we think about them. Is that it?"
> My point of view is that. In the moment when you learn the flow of 
> language X, it doesn't matter. But, it is not a thing that you get without 
> some work and many mistakes done along the way.
>
> Before that labels are important on at least two levels.
> 1) As promotion/marketing tool. If someone think that OOP is cool, he 
> would here that language X is OOP he would think "O, new language doing OOP 
> in new cool way. Maybe I should learn it? You know, OOP is cool".
> 2) As a guide for the people what to think and how to use about language 
> X. In the original post was already mention, that C++ and Java programers 
> have problem with writting good code in Go. My feeling is that, they try 
> write C++/Java code in Go, "they all OOP languages", which is missing the 
> point.
>
> Hard truth is that for most people, me included, our ways of thinking 
> (about everything) and of coding ossified and stiffen after a time and we 
> need to put quite a work to make them fresh and flexible again. To use 
> somewhat radicolous example, if you put label "bike" on washing machine 
> some people will try to ride to work on it and they will complaine, that is 
> not very good bike.
>
> Best regards,
> Kamil
> czwartek, 24 listopada 2022 o 02:27:57 UTC+1 Rob 'Commander' Pike 
> napisał(a):
>
>> Let me ask, because I'm genuinely curious: Why does it matter? The labels 
>> we apply to things do not affect their function. Perhaps it affects how we 
>> think about them. Is that it?
>>
>> -rob
>>
>>

-- 
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/b5b01263-8634-4ec8-847c-51db5a8699bbn%40googlegroups.com.

Reply via email to