Введение в программирование. Языки низкого уровня

Введение в программированиеЗдравствуйте, Уважаемые Читатели!

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

Итак, когда мы работаем на компьютере, мы, как правило, работаем с информацией. Эту информацию можно поделить на две группы:

  1. Данные – это информация, которую создают или редактируют программы;
  2. Программы – средства или инструменты компьютера, с помощью которых он и выполняет все операции и команды.

Так, если мы слушаем, скажем, музыку в формате mp3 с помощью какого-нибудь плеера. Например, в стандартом проигрывателе Windows Media Player, то сама музыка или мелодия будет данными, а плеер – программой. Программы – это законченные последовательности команд, которые «понимает» компьютер, для выполнения поставленной человеком задачи. Существуют, так сказать, три составляющих или элемента в процессе работы программы:

  1. Пользователь – это и есть человек, который ставит задачу, но сам пользователь не может написать программу. Однако, он знает какую задачу ему нужно решить. То есть, это мы с Вами)))
  2. Программист – можно сказать «исполнитель», вернее создатель инструмента, посредством которого пользователь будет решать свои задачи. Программист создает инструкцию для компьютера, переводя ее на язык, который понимает компьютер – язык машинных кодов.
  3. Компьютер – в большей степени является исполнителем команд, которые задает программист и в то же время подчиняется тем задачам и инструкциям, которые ставит пользователь.

Программирование

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

Программы организуют всю работу компьютера, причем, программы, должны «понимать сразу три языка» и естественно «переводить» команды между этими языками:

  1. Язык машинных кодов – этот язык понимает компьютер, то есть это и есть коды, двоичные, шестнадцатиричные символы;
  2. Язык программирования – этот язык понимает программист, то есть это текст, слово, команда;
  3. Язык образов – этот язык понимает пользователь.

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

Пользователю нужна программа, которая могла бы работать, скажем, с текстом, шрифтами, кеглем, гарнитурой и т.д. Он обращается с этим к программисту. В свою очередь, программист начинает писать эту программу, переводя все желания пользователя на сухой и четкий язык программы. В том месте где необходимо изменить пользователю шрифт на жирный, программист вводит команду «изменить толщину линии из точки А до точки В на размер С». Далее программа переводит все, что написал программист на язык машинных кодов и отдает все это дело процессору. После этого происходит обратный процесс, с той лишь разницей, что возвращаются все инструкции и команды в виде или языке понятном пользователю.

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

Теперь немного поговорим о самих языках программирования. И тут, я думаю, нужно дать определение этому термину.

Язык программирования – это система знаков для описания алгоритмов, которая предоставляет модели (математические) для записи формул. Основной его задачей является предоставление программисту фундамента или функционала (если так можно выразиться) с помощью которого он и будет задавать действия и описание алгоритмов под определенную задачу.

Матрица

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

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

Языков программирования существует множество, и описывать их все не имеет смысла. Да я и не преследую такой цели. Я всего лишь хочу показать, что это такое, чтобы у Вас сформировалось правильное понимание логики машины. А если Вы будете понимать это, то Вы станете настоящим Пользователем, с большой буквы «П». Мне нравится вот такое определение Пользователя:

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

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

  1. Языки низкого уровня;
  2. Языки высокого уровня.

Чем ближе язык к машинному коду, тем ниже его уровень и наоборот.

Языки низкого уровня

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

Машинные коды представляют из себя набор двоичных данных и очень сложную структуру. Сегодня на них практически не пишут.

Двоичный код

Ассемблер – это версии машинных кодов адаптированных под аппаратные платформы.

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