Usually , the more dynamic and abstract syntax and semantics or implementation, the more difficult the language (not to use, as you stated).
Therefore, Java is a more complex language than C because:
- C has simple rules for determining the scope of Java with respect to complex rules.
- Types are more complex, method resolution and overload
- Things like inheretance, argument enumeration, and checking, method overloading make the compilation process more complicated.
I would say that Python is simpler than Java on this basis, because the object model, although complex, is simple in terms of reduction to a simpler form. The ease with which this syntax can be translated into a simpler form in terms of time and computation can also be an angle.
On the other hand, a language such as lisp , some argue that it is difficult to use , but very simple. The same goes for things like Haskell.
You can measure complexity in one of the following ways, but not complete:
- The number of keywords, lines of code and the complexity of semantics (for example, identifier resolution) for a simple task. Fibonacci calculation can be one. Comparing profitable efficient implementation of common algorithms.
- What happens when? Are names bound late at runtime or resolved at compile time?
- Can a given piece of code be perceived in more than one way when all the facts of identifiers, types and external code are not indicated?
There are a ton of ways . You can measure the computational complexity of the compilation process for a given syntax.
Not all of these examples are true. Some object models are very complex, but very fast because they use a fast foundation. I could be an example.
Aiden bell
source share