What is the exact border between the static and dynamic languages? I mean I am told the following parameters are the deciding factors:
- Compilation or interpretation
- Runtime generation
- Dynamic evaluation
But when I see these parameters, I can find most of them (upto a major extent) in static languages too like late binding of C++, reflection in Java and C#, void or Object types etc. My question is,
- with so much of dynamicness in these static languages, is it necessary to actually learn the dynamic languages?
- What is the commercial preference between these languages?