Сегодня слово «Программирование» можно увидеть / услышать, как в какой-нибудь вирусной рекламе в социальной сети, так и в литературном или кинематографическом произведении. Однако что же такое, программирование и кто такие программисты? Не мудрствуя лукаво, можно поступить как матерый кодер и загуглить новое слово.
Согласно многочисленным определениям, программирование — это процесс создания компьютерных программ. Расшифровать это определение можно следующим образом. Программирование есть ничто иное, как объяснение машине что, в каком виде и как нужно получить пользователю. То есть это своеобразное искусство перевода пожеланий человека на язык машины.
Суть программирования
Основная идея заключается в том, чтобы составить алгоритм и перевести его на язык программирования. Гуру разработки часто рекомендуют начать разработку программы с ответа на вопрос: «Можно ли реализовать эту задачу программно?». К примеру, даже сегодня мы не можем заставить компьютер предсказать, что будет через несколько дней. И пусть этот пример не совсем корректен, потому как данная задача невыполнима в принципе. Однако, если сузить постановку задачи до предсказания поведения какой-нибудь валюты на бирже — подобная задача решается при помощи достаточного сложного алгоритма и большой базы экспериментальных данных.
Языки программирования
Фактически, язык программирования, это набор правил описания команд и заранее созданных функций. Каждый язык программирования ограничивает разработчика строго предопределенным набором ключевых слов и команд, которые могут быть использованы при разработке. Выделяют несколько уровней языков:
низкого уровня (ассемблер) — работают напрямую с процессорными командами
высокого уровня (C++, C#, Java и др.) — больше похожи на обычный язык
Во время разработки программного продукта могут выделяться разные уровни абстракций. То есть по разному представляться объекты реального мира. В зависимости от этого языки программирования принято разбивать на следующие виды:
Процедурные — определяют решение задачи шаг за шагом, вся система разбивается на ряд связанных между собой процедур.
Объектно-ориентированные — программа разрабатывается как совокупность взаимосвязанных объектов, каждый из которых может порождать множество конкретных реализаций. С точки зрения декомпозиции объекта разработки может быть удобнее;
Декларативные — представляют собой языки описания проблемы и ожидаемого результата.