Qbik-club
Дата публикации:04.10.21 16:36;Последнее редактирование:05.10.21 20:50;Автор:Евгений;Категория: программирование;Теги:, ;

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

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

А после того, как мы напишем одни и те же программы, с использованием различных языков, вы поймёте, что для себя выбрать и с чего начать! Удачи в новом, увлекательном мире разработки ПО! ;)

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

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

И так, начнём знакомство с миром программирования с понимания, а что же такое в принципе этот самый язык? Я думаю ни для кого не секрет, что компьютер, на самом низком уровне — это довольно примитивная штука, которая может понимать только нолики и единички. Согласитесь, писать даже самые мелкие программки в таком виде — это жестоко, чего уж говорить о полноценных операционных системах. Что делать в таком случае? Самым логичным шагом будет создать некоторого посредника, который будет объяснять компьютеру, что мы от него хотим. Этим посредником и стали языки программирования.

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

Как текст превращается в программу?

И так, у нас есть какой то код, который мы написали. Что с ним делать дальше? А дальше нам нужен кто то, кто может прочитать наш код и объяснить компьютеру, что там написано. И тут все языки программирования можно разделить на два типа. Это:

Не пугайтесь таких страшных названий. На самом деле тут всё просто. Представьте себе, что вам дали текст на Английском языке и попросили перевести его сразу на Русский, затем на Белорусский, затем на Польский. Да, вы знаете все эти три языка, проблем в переводе нет. Но у Вас есть два варианта действий.

В первом варианте вы садитесь у себя в комнате и переводите текст на три языка, отдаёте их читателям и радуетесь проделанной работе.

Во втором варианте, вы подходите к каждому из слушателей по отдельности и переводите ему текст «на ходу».

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

Но зачем такие сложности? Почему бы не сделать «одного переводчика»? Давайте рассмотрим на примере двух случаев.

К примеру есть язык JavaScript. Именно этот язык помогает браузеру создавать яркие кнопочки и красивые эффекты на сайте. Я, как разработчик сайта Qbik.club, при написании Js кода сайта, не знал, на каком компьютере, телефоне, смартфоне или телевизоре или холодильнике будет просматриваться сайт. Именно по этому этот язык — интерпретируемый. Т.е. вам в браузер код передался в виде текста, затем браузер с помощью интерпретатора (о нём поговорим в следующих публикациях) преобразовал текст в бинарный код и процессор послушно выполнил то, что задумывалось мною, как разработчиком.

С компилируемых языков рассмотрим всё на примере С++. Этот язык часто применяется для разработки игр, ОС и множества других программ, которые требуют значительной производительности. И как не сложно догадаться, дело тут именно в том, что ваш компьютер, где исполняется программа, не занимается «переводом», он только выполняет программу, которая уже когда то была скомпилирована разработчиком.

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

Перейдём к практике

И так, давайте уже попробуем что нибудь сделать! И давайте начнём с самого простого, для чего нам не понадобится никаких программ, только браузер. Мы создадим классическую программу "Hello, world!" на Js. Для этого скопируете этот код в блокнот:

<!DOCTYPE HTML>
<html>
<script>
alert('Привет, мир!');
</script>
<body>
<p>Привет, мир!</p>
</body>
</html>

Затем сохраните этот файл под именем hello.html и попробуйте открыть получившийся файл в браузере. У вас отобразится всплывающее окошко с сообщением «привет, мир!» и с точно таким же текстом в окне. Поздравляю, вы сделали первый, самый простой шаг!

В следующих публикациях мы научимся писать уже не статические окошки с заранее заготовленным текстом, а делать что нибудь посложнее. А я пошёл писать первую публикацию, посвящённую C++, где мы познакомимся со всей мощью компилируемых языков программирования! :)

Какой язык программирования выбрать?

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

К примеру, вы решили создать сайт — значит вам нет смысла изучать языки программирования, заточенные под создание десктопных приложений из разряда С, С++, Java и т.д. Вам нужно смотреть в сторону php, Js и html.

Или если вы решили, что вашей сферой деятельности будет создание 3D игр — ваш выбор однозначно будет в сторону С++.

Для мобильных приложений принято использовать Java и Kotlin.

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

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

На сайте Qbik я буду выкладывать уроки по языкам php, JavaScript и С++. Если для себя вы выберите один из этих языков — то следите за обновлениями сайта и познавайте новое! Ведь это единственный путь для развития! ;)

Публикация относится к тематической подборке: «Просто о сложном»

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

Понравилась публикация? Поделись ей с друзьями!

Понравился сайт? Подпишьсь на нас в соцсетях!

Мы в TelegramМы ВконтактеМы в ТвиттерМы на фейсбукМы в одноклассниках
Опубликовать
Загрузка рекомендуемых публикаций