Что такое программирование? Языки программирования. Компьютерное программирование. Программирование что значит; определение термина значение

Процесс подготовки задач для их решения с помощью компьютера; итерационный процесс составления программ. По английски: Programming См. также: Программирование Жизненный цикл программного обеспечения Компьютерные программы Финансовый словарь Финам … Финансовый словарь

ПРОГРАММИРОВАНИЕ, см. КОМПЬЮТЕРНОЕ ПРОГРАММИРОВАНИЕ … Научно-технический энциклопедический словарь

1) процесс составления программы, плана действий. 2) Раздел информатики, изучающий методы и приёмы составления программ. С долей условности П. как дисциплина разделяется на: теоретическое, изучающее матем. абстракции программ (как объектов с… … Физическая энциклопедия

Кодирование (на (машинном, мышинном) языке) Словарь русских синонимов. программирование сущ., кол во синонимов: 9 автопрограммирование (1) … Словарь синонимов

программирование - я, ср. programmer.1. Раздел вычислительной математики и техники, связанный с эксплуатацией электронных машин, с автоматическим программным управлением; составлением программ 10. БАС 1. 2. Действие по знач. гл. программировать. Программирование… … Исторический словарь галлицизмов русского языка

Процесс и искусство создания компьютерных программ и/или программного обеспечения с помощью языков программирования. Программирование сочетает в себе элементы искусства, фундаментальных наук (прежде всего информатика и математика), инженерии,… … Словарь бизнес-терминов

программирование - Научная и практическая деятельность по созданию программ. [ГОСТ 19781 90] программирование разработка ПО — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в… … Справочник технического переводчика

ПРОГРАММИРОВАНИЕ, 1) процесс подготовки программы электронной вычислительной машины (разработка программы в соответствии с алгоритмом решения задачи, ее написание на языке программирования и отладка). Осуществляется программистом или… … Современная энциклопедия

Процесс подготовки задач для решения их на ЭВМ, состоящий из следующих этапов: составление плана решения задачи в виде набора операций (алгоритмическое описание задачи); описание плана решения на языке программирования (составление программы);… … Большой Энциклопедический словарь

Особая форма организации проблемного мышления и деятельности, предполагающая составление программы; П. форма связывания идеальной и социокультурной действительностей, своеобразный способ перехода из одной в другую. Поскольку программа должна… … Новейший философский словарь

ПРОГРАММИРОВАНИЕ, я, ср. (спец.). 1. см. программировать. 2. Часть прикладной математики и вычислительной техники, разрабатывающая методы составления программ (в 6 знач.). Толковый словарь Ожегова. С.И. Ожегов, Н.Ю. Шведова. 1949 1992 … Толковый словарь Ожегова

Книги

  • Программирование на F# , Смит К.. F# -это мультипарадигмальный язык программирования, который не только помогает повысить производительность труда за счет использования функционального стиля разработки, но и позволяет…
  • Программирование на F# , Смит Крис. F# -это мультипарадигмальный язык программирования, который не только помогает повысить производительность труда за счет использования функционального стиля разработки, но и позволяет…

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

Как работают цифровые устройства?

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

Что подразумевается под программированием?

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

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

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

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

Вопрос изучения

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

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

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

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

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

Процесс обучения

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

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

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

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

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

Выбор технологии программирования для изучения

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

Еще одна возможность

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

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

Чем писать

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

Эти языки зачастую разрабатываются и поддерживаются университетскими командами по всему миру, и поэтому динамически развиваются, позволяя решать всё новые и новые задачи.

Особые варианты

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

Для чего стоит изучать?

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

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

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

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

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

Программирование для ЭВМ основывается на использовании языков программирования, на которых записывается программа. Чтобы программа могла быть понята и исполнена ЭВМ, требуется специальный инструмент - транслятор.

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

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

Стадии программирования

Программирование в широком смысле можно разбить на несколько стадий:

  • Анализ
  • Проектирование - разработка комплекса алгоритмов
  • Кодирование и компиляцию - написание исходного текста программы и преобразование его в исполнимый код с помощью компилятора
  • Тестирование и отладку - выявление и устранение ошибок в программах,
  • Испытания и сдачу программ
  • Сопровождение

Первое программируемое вычислительное устройство, Аналитическую машину, разработал Чарлз Бэббидж (но не смог её построить). 19 июля 1843 года графиня Ада Августа Лавлейс, дочь великого английского поэта Джорджа Байрона, как принято считать, написала первую в истории человечества программу для Аналитической машины. Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости. В своей первой и единственной научной работе Ада Лавлейс рассмотрела большое число вопросов. Ряд высказанных ею общих положений (принцип экономии рабочих ячеек памяти, связь рекуррентных формул с циклическими процессами вычислений) сохранили свое принципиальное значение и для современного программирования. В материалах Бэббиджа и комментариях Лавлейс намечены такие понятия, как подпрограмма и библиотека подпрограмм, модификация команд и индексный регистр, которые стали употребляться только в 1950-х годах. Однако ни одна из программ написанных Адой Лавлейс никогда так и не была запущена.

Языки программирования

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

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

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

В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code ). Такой подход применяется в Forth, некоторых реализациях Lisp, Java, Perl, Python, языках для.NET Framework.

Литература

  • Дейкстра Э. Дисциплина программирования = A discipline of programming. - 1-е изд. - М.: Мир, 1978. - 275 с.
  • Бьярне Страуструп. Программирование: принципы и практика использования C++, исправленное издание = Programming: Principles and Practice Using C++. - М.: Вильямс, 2011. - С. 1248. - ISBN 978-5-8459-1705-8
  • Александр Степанов, Пол Мак-Джонс. Начала программирования = Elements of Programming. - М.: Вильямс, 2011. - С. 272. - ISBN 978-5-8459-1708-9
  • Роберт У. Себеста. Основные концепции языков программирования / Пер. с англ. - 5-е изд. - М.: Вильямс, 2001. - 672 с. - ISBN 5-8459-0192-8 (рус.) ISBN 0-201-75295-6 (англ.)
  • Иан Соммервилл. Инженерия программного обеспечения / Пер. с англ. - 6-е издание. - М.: Вильямс, 2002. - 624 с.
  • Иан Грэхем. Объектно-ориентированные методы. Принципы и практика / Пер. с англ. - 3-е изд. - М.: Вильямс, 2004. - 880 с.

Привет всем.

Как понять суть программирования в общих чертах? Чтобы иметь представление об этом.

Попробую пояснить свой вопрос:
Скажем, мы видим как рисуют художники (на бумаге или с помощью компьютера). Мы видим, что рисунок начинается со структуры, общей формы, каркаса объектов, потом добавляются мелкие детали, свет, тени, цвета.
Или мы видим как гончар создает кувшин, или как создается автомобиль на заводе: от "пустого" кузова до законченного автомобиля.
Для наглядности на Youtube много видео, где можно посмотреть этот процесс или телепередача "Как это устроено".

Во всех этих примерах важно то, что мы видим процесс создания чего-то и имеем общее представление об этих процессах и о том, как создается конечный продукт. Нам не нужно тратить много времени на изучение мануалов, книг, чтобы иметь общее представление об этих вещах. Это особенно полезно для тех, кто думает заняться определенным делом и перед этим хочет посмотреть сам процесс, суть рассматриваемой деятельности.
Допустим человек хочет начать рисовать, но сомневается, подойдет ли ему это или нет. Он смотрит видео, где показан процесс создания рисунка, от начальных штрихов до конечной картины. Человек видит как создается рисунок, как в нем постепенно добавляются дополнительные детали, тени, цвет. Посмотрев этот процесс человек думает: "Ага, это то, что мне подходит. Это то чем я точно хочу заняться" Или наоборот: "Как же мне взбрело в голову подумать о том, чтобы заняться этим? Мне это совершенно не подходит."
Человек не тратит сотни часов и дней на изучение композиции, как строится перспектива, как падает свет, как формируются тени, чтобы понять, подходит ли ему рисование или нет, хочет он заниматься этим или нет.

Так вот: как понять суть программирования в общих чертах? Чтобы иметь представление об этом. Может есть какие-нибудь статьи, книги, видео иди другие материалы, которые могут дать мне общее представление о программировании? Или нужно обязательно тратить кучу времени на изучение материала, чтобы понять, подходит ли мне это или нет?
Может есть какие-нибудь интерпретации, которые объясняют суть программирования в общих чертах?
Также хотелось бы иметь представление об ООП.

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

Надеюсь я понятно изложил свой вопрос. Спасибо за внимание.