In laymanlayman's words:
- Separating declaration from instantiation helps decouple who uses the objects from who creates them
- When you do that, polyporphism is enabled since, as long as the instantiated type is a subtype of the declaration type, all code using the variable will work
- In strongly typed languages you must declare a variable stating its type, by doing simply
var = new Process()you are not declaring the variable first.