Your First Programming Language Greatly Influences How You Think About Code | HackerNoon
Briefly

The article reflects on the author's journey from learning Java to exploring other programming languages, focusing on the concept of inheritance. Java's inheritance is directly tied to subtyping, establishing an explicit IS A relationship that allows subclasses to inherit behavior. In contrast, Go employs duck typing, allowing structs to implicitly implement interfaces based on method signatures. The author highlights the strengths and weaknesses of each approach, noting a preference for explicitness, even while appreciating Go's unique handling of inheritance without traditional subtyping.
Java's inheritance is tightly coupled with subtyping, making the IS A relationship explicit, allowing subclasses to inherit behavior from superclasses for polymorphism.
Go uses duck typing instead of subtyping for inheritance, where a struct implicitly implements an interface by fulfilling its method signatures, embodying implicit behavior.
Read at Hackernoon
[
|
]