От чего зависит «скорость» языков программирования?
Все программы в итоге это машинный код. Почему программа написанная на одном языке может быть быстрее программы написанной на другом (ну при условии одинаковой оптимизации)?
1 ответов
Между пунктами "язык программирования" -> ... -> "машинные инструкции" лежит много чего, связанного с преобразованиями кода на языке в уже исполняемые команды
И даже при условии одинаковой оптимизации и одинакового примерно кода на разных языках, получаются в итоге очень разные машинные инструкции
Да и скорость прохождения по этой цепочке может быть очень различной
Потому сравнивать на скорость "языки" - не сильно, имхо, удачная мысль
Можно сравнивать конкретные реализации, ну и порой говорить, что обычно программы, написанные на языке А быстрее тех, что написаны на языке Б
Но в этом плане язык Б, как правило, выигрывает в других сторонах - скорости или удобстве разработки на нём. Или ещё куче других.
Вот вам 3 принципиально разных семейства, отличающихся по скорости:
- Программы на С++ напрямую преобразуются в машинный код, который сразу исполняет процессор.
- Программы на С#| и Java превращаются в байт-код, который сразу исполняет машина (например java-машина jvm). Машина это специальное приложение которое исполняет байт код. Байт код - это уже не исходный текст программы, но еще не ассемблер. Не что среднее. В байт коде нет привязки к конкретной платформе, засчет этого программы на java кроссплатформенные.
- Языки типа PHP: код на них анализирутеся прямо во время выполнения. То есть даже убирание из программы лишних комментариев может оптмизировать ее.
А вообще, читайте про языки компилируемые и интерпретируемые, java-машину и т д.
Я даже не буду вставлять ссылки, так как слов много и гугл хорошо поможет вам по каждому из них.
Комрадам, просьба не придераться к граммотности, но если где по сушеству ошибся - поправить.
Каждая реализация языка программирования сделана разными людьми для разных целей. Потому они и разные. Как автомобили. Одни, чтобы возить грузы, другие - пассажиров, третьи для индивидуального использования четвертые - чтобы понтоваться. Вас же не смущает тот факт что стоимость, скорость и комфорт перевозки людей, например, в грузовике, легковом автомобиле и автобусе разные. Не смотря на то, что все они все сделаны из одних и тех же материалов, ездят по одной и той же дороге да и заправляются по-сути одним тем же топливом.