Как общему правилу, тем более динамичный и реферировать синтаксис или семантика или реализации, тем более сложный язык (не использовать, как вы заявили).
Следовательно, Java является более сложным языком, чем C, потому что:
- C имеет простые правила видимости против относительно сложных правил Явы
- типов являются более сложным, разрешение метода и перегрузки
- вещи, как inheretance, перечисление аргументов и проверка, перегрузка метода делают процесс компиляции более сложным.
Я бы сказал, что на этой основе Python проще, чем Java, потому что это объектная модель, в то время как сложная, простая с точки зрения сокращения в более простую форму. Легкость, с которой данный синтаксис может быть переведен в более простой форме с точки зрения времени и расчета, также может быть углом.
Язык, такие как LISP с другой стороны, некоторые утверждают, является комплекс использовать, но очень просто. То же самое касается таких вещей, как Haskell.
Вы могли бы измерить сложность в одном из следующих способов, но не являются полными:
- количество ключевых слов, строк кода и сложности семантики (например, разрешение идентификатора) для простой задачи. Вычисление Фибоначчи может быть одним. Сравнивая выгодно эффективную реализацию общих алгоритмов.
- Что происходит, когда? Являются ли имена связанными поздними во время выполнения, или они разрешены во время компиляции?
- Может ли данный фрагмент кода восприниматься более чем одним способом, когда не указаны все факты идентификаторов, типов и внешнего кода?
Есть тонны способов. Вы можете измерить вычислительную сложность процесса компиляции для заданного синтаксиса.
Не все эти примеры верны. Некоторые объектные модели очень сложны, но очень быстры, потому что они используют быстрый фундамент. Я мог бы стать примером.
Вы должны сначала определить «сложность языка». –
Я угадываю сложность реализации, а не использую –
Я написал Q/A в cstheory SE по этой теме (если я правильно прочитал). Поиск Kolmogorov Quotient для измерения языка программирования элегантности или лаконичности - способность языка программирования упростить комплекс. – theDoctor