Сравнение популярных языков программирования

С 1950-х годов ученые-компьютерщики разработали тысячи языков программирования. Многие неясны, возможно, созданы для доктора философии. тезис и никогда не слышал с тех пор. Другие стали популярными на некоторое время, а затем исчезли из-за отсутствия поддержки или из-за того, что были ограничены определенной компьютерной системой. Некоторые из них являются вариантами существующих языков, добавляя новые функции, такие как параллелизм - возможность параллельного запуска многих частей программы на разных компьютерах.

Узнайте больше о Что такое язык программирования?

Сравнение языков программирования

Существует несколько способов сравнения компьютерных языков, но для простоты мы сравним их по методу компиляции и уровню абстракции.

Компиляция в машинный код

Некоторые языки требуют, чтобы программы были преобразованы непосредственно в машинный код - инструкции, которые процессор понимает напрямую. Этот процесс трансформации называется сборник. Ассемблер, C, C ++ и Pascal являются скомпилированными языками.

instagram viewer

Интерпретируемые языки

Другие языки либо Интерпретированный такие как Basic, Actionscript и Javascript или их смесь, компилируемая в промежуточный язык - это включает Java и C #.

Интерпретируемый язык обрабатывается во время выполнения. Каждая строка читается, анализируется и выполняется. Необходимость повторной обработки строки каждый раз в цикле делает интерпретируемые языки такими медленными. Это означает, что интерпретируемый код выполняется в 5–10 раз медленнее, чем скомпилированный код. Интерпретируемые языки, такие как Basic или JavaScript, являются самыми медленными. Их преимущество не требует перекомпиляции после изменений, и это удобно, когда вы учитесь программировать.

Потому что скомпилировано программы почти всегда работают быстрее интерпретируемых, такие языки, как C и C ++, как правило, наиболее популярны для написания игр. Java и C # компилируются в интерпретируемый язык, который очень эффективен. Поскольку виртуальная машина, которая интерпретирует Java, и .NET-инфраструктуру, в которой работает C #, сильно оптимизированы, утверждается, что приложения на этих языках работают так же быстро, если не быстрее, как скомпилированный C ++.

Уровень абстракции

Другой способ сравнить языки - это уровень абстракции. Это указывает на то, насколько близок конкретный язык к аппаратному обеспечению. Машинный код - самый низкий уровень, с языком ассемблера чуть выше. C ++ выше, чем C, потому что C ++ предлагает большую абстракцию. Джава и C # выше, чем C ++, потому что они компилируются в промежуточный язык, называемый байт-кодом.

Как сравнивают языки

  • Быстро скомпилированные языки
  • Язык ассемблера
  • С
  • C ++
  • паскаль
  • C #
  • Джава
  • Разумно быстрая интерпретация
  • Perl
  • PHP
  • Медленная интерпретация
  • JavaScript
  • ActionScript
  • основной

Машинный код - это инструкции, которые выполняет процессор. Это единственное, что процессор может понять и выполнить. Для интерпретируемых языков требуется приложение, называемое переводчик он читает каждую строку исходного кода программы и затем «запускает» ее.

Интерпретация легче

Очень легко останавливать, изменять и повторно запускать приложения, написанные на интерпретируемом языке, и поэтому они популярны для изучения программирования. Там нет необходимости стадии компиляции. Компиляция может быть довольно медленным процессом. Большое приложение Visual C ++ может компилироваться от нескольких минут до нескольких часов, в зависимости от того, сколько кода необходимо перестроить, скорости памяти и процессора.

Когда компьютеры впервые появились

Когда компьютеры впервые стали популярными в 1950-х годах, программы были написаны в машинном коде, поскольку другого пути не было. Программистам приходилось физически переключать переключатели для ввода значений. Это такой утомительный и медленный способ создания приложения, что нужно было создавать компьютерные языки более высокого уровня.

Ассемблер: быстро запустить - медленно писать!

Язык ассемблера является читаемой версией машинного кода и выглядит следующим образом

Mov A, 45 долларов

Поскольку язык сборки привязан к конкретному ЦП или семейству связанных ЦП, язык ассемблера не очень переносим и требует много времени для изучения и записи. Такие языки, как C, сократили потребность в программировании на ассемблере, за исключением случаев, когда объем оперативной памяти ограничен или требуется срочный код. Обычно это код ядра в операционной системе или драйвер видеокарты.

Язык ассемблера - самый низкий уровень кода

Язык ассемблера очень низкий уровень; большая часть кода просто перемещает значения между регистрами ЦП и памятью. Если вы пишете пакет заработной платы, который вы хотите рассматривать с точки зрения заработной платы и налоговых вычетов, а не зарегистрируйте A в ячейку памяти XYZ. Вот почему языки более высокого уровня, такие как C ++, C # или Джава более продуктивны. Программист может думать с точки зрения проблемной области (зарплаты, отчисления и начисления), а не аппаратной области (регистры, память и инструкции).

Системное программирование на C

C был разработан в начале 1970-х годов Деннисом Ричи. Его можно рассматривать как инструмент общего назначения - очень полезный и мощный, но очень легко пропускающий ошибки, которые могут сделать системы небезопасными. C является языком низкого уровня и был описан как переносимый язык ассемблера. Синтаксис многих языков сценариев основан на C, например, JavaScript, PHP и ActionScript.

Perl: сайты и утилиты

Очень популярный в мире Linux, Perl был одним из первых веб-языков и остается очень популярным сегодня. Для «быстрого и грязного» программирования в сети он остается непревзойденным и управляет многими сайтами. Хотя это было несколько затмевается PHP как язык веб-сценариев.

Кодирование сайтов с помощью PHP

PHP был разработан как язык для веб-серверов и очень популярен в сочетании с Linux, Apache, MySql и PHP или LAMP для краткости. Он интерпретируется, но предварительно скомпилирован, поэтому код выполняется достаточно быстро. Его можно запускать на настольных компьютерах, но он не так широко используется для разработки настольных приложений. Основанный на синтаксисе C, он также включает Объекты и классы.

Паскаль был придуман как язык обучения за несколько лет до C, но был очень ограничен из-за плохой обработки строк и файлов. Несколько производителей расширили язык, но не было общего лидера, пока не появились Turbo Pascal (для Dos) и Delphi (для Windows) от Borland. Это были мощные реализации, которые добавили достаточно функциональности, чтобы сделать их пригодными для коммерческой разработки. Тем не менее, Borland был против гораздо большего Microsoft и проиграл битву.

C ++: классный язык!

Классы C ++ или C plus, как это было изначально известно, появились примерно через десять лет после C и успешно представили объектно-ориентированное программирование на C, а также такие функции, как исключения и шаблоны. Изучение всего C ++ является большой задачей - это, безусловно, самый сложный из языков программирования здесь, но как только вы освоите его, у вас не возникнет никаких проблем с любым другим языком.

C #: Big Bet от Microsoft

C # был создан DelphiПосле переезда в Microsoft архитектор Андерс Хейлсберг и разработчики Delphi будут чувствовать себя как дома с такими функциями, как формы Windows.

Синтаксис C # очень похож на Java, что неудивительно, поскольку Хейлсберг также работал над J ++ после того, как перешел в Microsoft. Изучите C #, и вы хорошо знакомы с Java. Оба языка полукомпилированы, поэтому вместо компиляции в машинный код они компилируются в байт-код (C # компилируется в CIL, но он и байт-код похожи), а затем интерпретируются.

Javascript: программы в вашем браузере

Javascript это не что иное, как Java, а язык сценариев, основанный на синтаксисе C, но с добавлением Объекты и используется в основном в браузерах. JavaScript интерпретируется и намного медленнее, чем скомпилированный код, но хорошо работает в браузере.

Изобретенный Netscape, он оказался очень успешным и после нескольких лет в упадке наслаждается новой жизнью из-за AJAX; Асинхронный Javascript и XML. Это позволяет обновлять части веб-страниц с сервера без перерисовки всей страницы.

ActionScript: кричащий язык!

ActionScript является реализацией JavaScript, но существует исключительно в приложениях Macromedia Flash. Используя векторную графику, она используется в основном для игр, воспроизведения видео и других визуальных эффектов, а также для разработки сложных пользовательских интерфейсов, работающих в браузере.

Основное для начинающих

основной является аббревиатурой для универсального символического кода для начинающих, созданного для обучения программированию в 1960-х годах. Microsoft сделала свой язык своим с множеством различных версий, включая VBScript для веб-сайтов и очень успешный Visual Basic. Последняя версия - VB.NET, и она работает на той же платформе. .СЕТЬ как C # и выдает тот же байт-код CIL.

Lua это бесплатный язык сценариев, написанный на C, который включает сборку мусора и сопрограммы. Он хорошо взаимодействует с C / C ++ и используется в игровой индустрии (и не в играх) для сценариев игровой логики, триггеров событий и управления игрой.

Вывод

В то время как у каждого есть свой любимый язык и он потратил время и ресурсы на изучение того, как его программировать, есть некоторые проблемы, которые лучше всего решить с помощью правильного языка.

E.G вы не будете использовать C для написания веб-приложений и не будете писать операционную систему на Javascript. Но какой бы язык вы ни выбрали, будь то C, C ++ или C #, вы, по крайней мере, знаете, что находитесь в правильном месте для его изучения.

instagram story viewer