Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

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

Много воды утекло со времён изобретения электронно-вычислительных машин, много всякого разного софта создано, а такое понятие как «язык программирования» по сей день на слуху. Потому что какими бы продвинутыми машины ни стали к данному моменту, уму-разуму их учит по-прежнему человек. И человеку надо как-то общаться с железками.

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

Суть вкратце

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

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

Некоторые языки, такие как C («Си»), C++, Java, JavaScript, PHP, Perl, покорили мир и стали использоваться повсеместно. Некоторые были восприняты как шутки чудаковатых граждан с избытком свободного времени. О многих вообще никто не знает, кроме их создателей.

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

Внятность и дружелюбие

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

Попросту говоря, последовательности нулей и единиц, байты, соответствующие тем или иным инструкциям, заменяются словами или их сокращениями — «мнемоническими обозначениями», как ещё иногда говорится. Ну и плюс синтаксис, конечно.

Например, Common Intermediate Language (сокращённо CIL), придуманный конторой Microsoft для их программной платформы .NET Framework.

Сюда же относится язык ассемблера (Assembly Language). Читать и понимать код сложно, но зато легче писать легковесные программы, тщательно всё выверяя и оптимизируя. На таком языке пишется прошивка BIOS.

Языки высокого уровня гораздо более дружелюбны к программистам, поскольку предоставляют возможность объединять большие объёмы данных в комплексные объекты, делить их на типы, упаковывать в классы и прочие структурные единицы (коих, надо полагать, ещё много напридумывают). Примеров очень много: C++, Java, Delphi, Perl, Python и так далее.

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

Способы приготовления продукта

По форме существования и способу действия готового софта языки программирования классифицируются примерно так.

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

Недостаток такого метода — софт, изготовленный для одной платформы, едва ли запустится в других операционных системах.

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

Но только необходимо наличие интерпретатора. Для JavaScript таковой есть в каждом современном браузере. Для выполнения программ на языке PHP — устанавливается на сервере.

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

Зато операционная система не важна. Скриптовые языки пригодны для изготовления пусть простенькой, но зато кросс-платформенной продукции.

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

Почему безразлично? Потому что запуск осуществляется в изолированной виртуальной машине. А уж она знает, в какой среде работает и как байт-код перевести в набор процессорных инструкций. Такой чудо-софт для Java называется Java Virtual Machine, сокращённо JVM.

Причём, виртуальная машина не компилирует байт-код, а интерпретирует. Но кое-что может и откомпилировать «на лету», в режиме реального времени. Это называется «Just-in-Time compilation», сокращённо «JIT-компиляция».

В общем, получаются кросс-платформенные приложения, способные запускаться в Windows, MacOS, GNU/Linux, а также в мобильных телефонах. (Можете скачать, например, браузер Opera или, скажем, Агент Mail.Ru в версиях на Java, установить на телефон и пользоваться.)

Как с этим жить

У вас наверняка уже возник вопрос, мол, это всё хорошо, но с чего начинать изучение?

Естественно, изучать нужно в первую очередь те языки, знание которых востребовано повсеместно. В обозримом будущем наверняка пригодятся навыки в программировании на C++, Java, JavaScript, PHP, Perl... Коротко говоря, популярных — всего десятка полтора-два. Ну, может, три.

Можно начать со скриптовых языков JavaScript и PHP. Затем освоить какую-нибудь приличную среду разработки для Java, например, NetBeans (софт бесплатный, это Свободное ПО). Как ни тривиально, главное — наличие желания учиться, а уж средств для этого предостаточно.

Резюмируем

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

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

Ближе всего к этой цели подошли языки ДРАКОН и его ещё совсем маленький младший брат Google Blocky. Но это, как традиционно говорят в концовке, уже совсем другая история.

Автор: vanilinkin, специально для xBB.uz, 16.10.2012


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2012-10-16 13:55:21

Метки материала: что такое, что, язык, программирование, язык программирования, программирования, что такое язык программирования, по, софт, soft, программное обеспечение, информационные технологии, ит, it, компьютерные технологии, икт, разработка по, цифровые технологии

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.