Языки программирования как отличить

Чем отличаются языки программирования?

Можете простым понятным языком обьяснить в чем разница между ЯП?
Они каждый для определенного вида программ предназначены? Или чем сложнее программа, тем более сложный ЯП нужен?

Разные языки служат разным целям. Именно поэтому их так много.
Есть три типа языков: языки программирования ( C++, Visual Basic, Java, C#), языки разметки (HTML, XML, CSS) и скриптовые языки (JavaScript, PHP, Python). Все они обладают своим собственным функционалом, несходным с другими.
В общем, язык программирования это набор инструкций, которые говорят компьютерной системе, что она должна выполнить определенную задачу. Этот набор содержит серии шагов, которые система должна пройти, чтобы выдать желаемый результат.
Назначение языков разметки — представление данных. Языки, связанные с дизайном, такие как HTML и CSS, используются для создания макетов и веб-шаблонов.
Основное назначение скриптового языка – указывать другим программам, что и как выполнять.

aka Diesel Искусственный Интеллект (185430) Сергей Боярский, а их не нужно «учить», да и нельзя. Ими нужно пользоваться. И да, для разных целей разными.

А долго учить С# чисто чтоб на юнити 2д игрушки делать? Хочеться поскорее сначало для себя ченить научиться делать, а потом уже более серьезно)

Язык — это всего лишь инструмент для решения определённого круга задач. Разные задачи — разные инструменты. На Python не получится написать операционную систему, а на С не пишут скрипты для срочного решения локальных админских проблем.

Читайте также:  Разработка приложений баз данных postgresql

При этом, все языки программирования — смесь в разных пропорциях одних и тех же базовых концепций. Цикл или рекурсия не зависят от языков программирования: детали меняются, концепции — нет.

P.S. И нет, сложность задачи никак не связана со сложностью языка программирования. Существует множество сложных программ, написанных на простых языках, и множество простых программ, написанных на сложных языках. Но чем сложнее язык, тем сложнее научиться его «правильно готовить».

достаточно изучить простейший,

что бы понять суть остальных

Источник

Чем отличаются интерпретируемые и компилируемые языки программирования

img

Любая программа – это набор инструкций, будь то добавление 2 чисел или отправка запроса по сети. Компиляторы и интерпретаторы берут понятный для человека код и переводят его на машинный язык, который может прочесть компьютер.

Interpreted vs Compiled

В компилируемом языке целевая машина переводит программу самостоятельно. В интерпретируемом языке исходный код не переводится самой машиной; его читает и выполняет другая программа (интерпретатор).

Подробное объяснение

Представьте ситуацию: вы решили приготовить хумус. Но имеющийся у вас рецепт написан на древнегреческом. У вас, как человека не знающего этого языка, есть два варианта.

Вариант 1: кто-то уже перевел этот рецепт на ваш язык. Поэтому вы (и любой человек, знающий ваш язык) сможете прочесть рецепт в переводе и приготовить хумус. Переведенный рецепт и будет компилированной версией.

Есть и другой вариант: у вас есть друг, который знает древнегреческий. Поэтому, решив приготовить хумус, вы пригласили этого друга к себе. Друг сидит рядом и переводит рецепт – строчка за строчкой, – а вы занимаетесь готовкой. Ваш друг – это интерпретатор (переводчик) для интерпретируемой версии рецепта.

Компилируемые языки

Компилируемые языки сразу переводятся в машинный код, который может выполнить процессор. В результате они выполняются быстрее и эффективнее, чем интерпретируемые языки. Кроме того, в таких языках разработчик лучше контролирует аппаратные средства (управление памятью, использование ЦП и т.д.).

Компилируемым языкам требуется дополнительный этап «сборки», при котором их сначала компилируют вручную. Каждый раз при внесении изменений вам нужно будет «пересобирать» программу. Вернемся к примеру с хумусом. Перевод рецепта делался до того, как попал к вам в руки. Если автор рецепта захочет изменить тип оливкового масла, то весь рецепт придется переводить заново, а затем повторно отправлять вам.

Примеры истинных компилируемых языков: C, C++, Erlang, Haskell, Rust и Go.

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

Интерпретаторы проходятся по каждой строке программы и выполняют все команды. Если автор из нашего примера захочет заменить оливковое масло, то он просто зачеркнет старую запись и добавит новую. А затем ваш друг-переводчик сразу увидит это изменение и переведет его вам.

Интерпретируемые языки гораздо медленнее компилируемых. Но с появлением JIT-компиляции (динамической компиляции) эта разница начинает сокращаться.

Примеры популярных интерпретируемых языков: PHP, Ruby, Python и JavaScript.

Небольшое пояснение

В большинстве языков программирования есть компилируемые и интерпретируемые реализации, а сам язык необязательно относится только к компилируемым или интерпретируемым. Но для простоты и удобства их принято относить к тому или иному типу.

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

Плюсы и минусы

Плюсы компилируемых языков

Обычно программы, скомпилированные в машинный код, выполняются быстрее интерпретируемых. Это связано с тем, что при переводе кода в процессе его выполнения увеличивается потребление ресурсов, что, в свою очередь, замедляет программу.

Минусы компилируемых языков

Основные недочеты компилируемых языков:

  • нужно больше времени для завершения полной компиляции перед тестированием;
  • сгенерированный двоичный код зависит от платформы.

Плюсы интерпретируемых языков

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

Минусы интерпретируемых языков

Самый главный недочет этих языков – скорость выполнения. Она обычно ниже, чем в компилируемых языках.

Источник

Оцените статью