Programming Concepts Every Developer Must Know
Less Common Terms You Should Be Familiar With
In the world of programming, we often come across terms that are not as widely known but are crucial for deeper understanding and more effective coding. These concepts, while sometimes overlooked, can help bridge the gap between beginner and advanced knowledge, enhancing your ability to write cleaner and more efficient code.
Lets look at some of them
Nominally vs Structurally Types Languages
Nominally Typed Languages
In nominal typing, compatibility and equivalence between types are based on explicit declarations and names. Types are considered the same only if they share the same name or are explicitly declared to be equivalent, even if they have the same structure.
- Key Idea: Type compatibility is determined by name.
- Examples: Java, C++, C#, Swift
class Person {
String name;
int age;
}
class Employee {
String name;
int age;
}
Person p = new Person();
Employee e = new Employee();
// Even though Person and Employee have the same fields, you cannot assign one to the other.
p = e; // Compile-time error