Что означает слово программирование
Программирование
Программи́рование — процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций (программ) на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи). Соответственно, люди, которые этим занимаются, называются программистами (на профессиональном жаргоне — кодерами), а те, кто разрабатывает алгоритмы — алгоритмистами, специалистами предметной области, математиками.
В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Иначе это называется «программная инженерия» («инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.
Программирование для ЭВМ основывается на использовании языков программирования, на которых записывается программа. Чтобы программа могла быть понята и исполнена ЭВМ, требуется специальный инструмент — транслятор.
В настоящее время активно используются интегрированные среды разработки, включающие в свой состав также редактор для ввода и редактирования текстов программ, отладчики для поиска и устранения ошибок, трансляторы с различных языков программирования, компоновщики для сборки программы из нескольких модулей и другие служебные модули.
Текстовый редактор среды программирования может иметь специфичную функциональность, такую как индексация имен, отображение документации, средства визуального создания пользовательского интерфейса. С помощью текстового редактора программист производит набор и редактирования текста создаваемой программы, который называют исходным кодом. Язык программирования определяет синтаксис и изначальную семантику исходного кода. Компилятор преобразует текст программы в машинный код, непосредственно исполняемый электронными компонентами компьютера. Интерпретатор создаёт виртуальную машину для выполнения программы, которая полностью или частично берёт на себя функции исполнения программ.
Программирование в широком смысле можно разбить на несколько стадий:
Содержание
История
Антикитерский механизм из Древней Греции был калькулятором, использовавшим шестерни различных размеров и конфигурации, обусловливавших его работу, [1] по отслеживанию метонова цикла, до сих пор использующегося в лунно-солнечных календарях. [2] Аль-Джазари построил программируемый автомат-гуманоид в 1206 году. Одна система, задействованная в этих устройствах, использовала зажимы и кулачки, помещённые в деревянный ящик в определённых местах, которые последовательно задействовали рычаги, которые, в свою очередь, управляли ударными инструментами.
Часто первым программируемым устройством принято считать жаккардовый ткацкий станок, построенный в 1804 году Жозефом Мари Жаккаром, который произвёл революцию в ткацкой промышленности, предоставив возможность программировать узоры на тканях при помощи перфокарт.
Первое программируемое вычислительное устройство, Аналитическую машину, разработал Чарлз Бэббидж (но не смог её построить). 19 июля 1843 года графиня Ада Августа Лавлейс, дочь великого английского поэта Джорджа Байрона, как принято считать, написала первую в истории человечества программу для Аналитической машины. Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости. В своей первой и единственной научной работе Ада Лавлейс рассмотрела большое число вопросов. Ряд высказанных ею общих положений (принцип экономии рабочих ячеек памяти, связь рекуррентных формул с циклическими процессами вычислений) сохранили свое принципиальное значение и для современного программирования. В материалах Бэббиджа и комментариях Лавлейс намечены такие понятия, как подпрограмма и библиотека подпрограмм, модификация команд и индексный регистр, которые стали употребляться только в 1950-х годах. Однако ни одна из программ написанных Адой Лавлейс никогда так и не была запущена.
Языки программирования
Большая часть работы программистов связана с написанием исходного кода, тестированием и отладкой программ на одном из языков программирования. Исходные тексты и исполняемые файлы программ являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей.
Различные языки программирования поддерживают различные стили программирования (парадигмы программирования). Отчасти искусство программирования состоит в том, чтобы выбрать язык программирования, наиболее полно подходящий для решения поставленной задачи. Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью (или между временем программиста и временем пользователя).
Единственный язык, напрямую выполняемый ЭВМ — это машинный язык (также называемый машинным кодом и языком машинных команд). Изначально все программы писались в машинном коде, но сейчас этого практически уже не делается. Вместо этого программисты пишут исходный код на том или ином языке программирования, затем, используя компилятор, транслируют его в один или несколько этапов в машинный код, готовый к исполнению на целевом процессоре, или в промежуточное представление, которое может быть исполнено специальным интерпретатором — виртуальной машиной. Но это справедливо только для языков высокого уровня. Если требуется полный низкоуровневый контроль над системой на уровне машинных команд и отдельных ячеек памяти, программы пишут на языке ассемблера, мнемонические инструкции которого преобразуются один к одному в соответствующие инструкции машинного языка целевого процессора ЭВМ. (По этой причине трансляторы с языков ассемблера — ассемблера — получаются алгоритмически простейшими трансляторами.)
Программные средства
Программные средства, используемые при разработке программ делятся на системные и инструментальные. В системном обеспечении основными являются операционные системы, инструментальные средства и технологии Windows, Mac OS X, Linux и т. п.
На олимпиадах по информатике и программированию с успехом используются только свободно распространяемые лицензионные инструментальные средства (в большинстве своём распространяются по лицензии GNU GPL). Из языков программирования на олимпиадах по программированию последние годы часто используются языки программирования Паскаль, C/C++ и Java.
Что такое разработка: объяснение для новичков
Авторизуйтесь
Что такое разработка: объяснение для новичков
Объясняем, что такое программирование и с чего начать, на примере JavaScript. Этот язык занимает лидирующие позиции в рейтингах популярности, а также поддерживает императивные, структурируемые, объектно-ориентированные и управляемые событиями парадигмы.
Примечание Вы читаете улучшенную версию некогда выпущенной нами статьи.
Набор инструментов для программирования с нуля
Инструментарий типичного программиста чаще всего состоит из следующих вещей:
Вы можете использовать бесплатное ПО в начале работы, такое как Atom и Notepad++. Также можно попробовать SublimeText, однако этот редактор является платным.
Переменные
В начале программирования нужно освоить переменные — именованные области памяти для хранения данных. Есть две основные причины, по которым следует именовать данные:
Примечание В названиях переменных нельзя использовать апострофы.
Чтобы переменная существовала, её нужно объявить. Объявление переменных служит в роли свидетельства о «рождении» для данных. Давайте посмотрим на пример:
Ключевое слово var означает переменную.
Переменной нужно присвоить значение:
Теперь вы можете использовать переменную, the_number_of_days_in_december вместо числа 31.
13–15 декабря, Онлайн, Беcплатно
Следует помнить, что вы также можете объявлять переменные для данных, которые ещё не существуют. Например, вы можете объявить var donalds_birthday и сообщить приложению, чтобы оно ожидало ввода значения. Всё, что будет введено пользователем для этой переменной, будет использоваться в тексте под именем donalds_birthday
Переменной также можно объявить целую строку или фрагмент текста:
Откройте консоль в Google Chrome нажатием клавиши F12 (для владельцев Mac рекомендуется ознакомиться с этой статьёй). Перед вами появится следующее окно:
Убедитесь, что выбрана вкладка «Console», кликните на пустом поле рядом со знаком «больше» ( > ), объявите переменную и присвойте ей значение, а затем нажмите клавишу ввода.
В консоли отображается сообщение undefined из-за того, что строка кода не вывела какие-либо данные, чего, собственно, делать и не должна. Теперь введите название своей переменной в строку и нажмите кнопку ввода.
Поздравляем! Консоль (которая также служит в роли интерпретатора) понимает вашу переменную.
Объекты
А что такое разработка без объектов? В JavaScript объекты объявляются почти так же, как и переменные:
Мы можем использовать объект human и ссылаться на него точно так же, как и на любую другую переменную. Компьютер поймёт, что нужно сослаться на какое-либо определённое свойство, если мы его напишем через точку:
Каждый из элементов сверху может быть изменён и ссылаться на другое свойство. Например, давайте изменим имя (name):
Массивы
Чтобы начать программировать, нужно изучить и массивы — списки похожих фрагментов данных. В программировании на JavaScript массивы выглядят следующим образом:
Для массивов принято использовать [квадратные скобки]. В данном случае вы можете использовать tweets в любом месте вашего кода, ссылаясь на массив, который только что определили.
Примечание Счёт массивов начинается с нуля, а не с единицы.
Если вы хотите обратиться к какому-то отдельному элементу, то можно сделать следующее:
Внутри квадратных скобок мы пишем индекс элемента, к которому хотим обратиться.
Каждое из приведённых выше выражений — переменная. Вы можете присвоить им какое-нибудь новое значение, чтобы поэкспериментировать:
Теперь tweets[2] будет ссылаться на новое значение.
Массивы могут содержать текст, числа, даты, объекты и даже другие массивы. Массивы также могут быть свойствами объектов.
Чтобы обратиться к message, вы можете написать следующее:
И компьютер поймёт, что вы имеете в виду ‘Blink twice if you need help’
API — набор свойств и методов (целевых фрагментов кода), которые имеют свои имена, как переменные.
Метод похож на свойство, потому что к нему можно получить доступ через точку. Он отличается от свойства тем, что после него нужно поставить (круглые скобки). В этих круглых скобках хранятся данные, которые мы хотим добавить в наш массив. Теперь в tweets четыре элемента. Это выглядит вот так:
Функции
Функция — это фрагмент кода, который что-то выполняет и имеет имя. Функции можно легко объявлять:
Объявление функции начинается с ключевого слова, затем ей даётся имя. return заставляет значение «выпрыгивать» из функции. Затем функция завершается (если вы напишете код после return, то он не будет выполнен). Таким образом, вы можете сделать следующее:
Функция может быть свойством объекта. Она может быть элементом массива. Она может возвращать число, дату, строку, объект, массив, другую функцию, массив функций и т. д.
Часть данных, которую мы добавляем в функции, называется аргументом. Объявление функции, которая может ожидать аргументы, выглядит так:
В JavaScript также можно писать математические выражения как на калькуляторах:
Вы могли бы записать предыдущую функцию таким образом:
Эта функция делает всё то же, что и предыдущая, только в неё введена переменная в качестве посредника.
Логические ветви и сравнения
Мы делаем это с помощью оператора if (если) — ключевого слова, похожего на метод. Аргумент, который он ожидает, представляет собой какое-то выражение (обычно сравнение). Сравнения принимают два значения и сравнивают их друг с другом. В результате чего выбирается одно из следующих ключевых слов: true — в случае соответствия правилу и false — в случае несоответствия. Это называется логическим выражением.
Циклы
Но что такое циклы в программировании? Иногда при работе с массивом может понадобиться выполнить какой-то блок кода несколько раз подряд. В таких случаях следует использовать циклы. Простейшим видом цикла JavaScript является while (цикл выполняется, пока условие истинно):
null и undefined
Области применения
Если вы объявите переменную внутри функции, то вы не сможете ею воспользоваться где-нибудь за пределами функции. Пример:
Комментирование кода
Не всегда бывает понятно, что выполняет тот или иной код. Поэтому всегда следует комментировать его. В JavaScript комментарии начинаются с // :
// переменная равна 21.
// Если она не равна 21, пожалуйста, измените на 21.
// Что сделать: добавить больше переменных.
Так что же такое программирование
Программирование — это написание приложений, основанное на определённых правилах, некоторые их которых перечислены в нашей статье.
Теперь вы понимаете, что представляет собой разработка на базовом уровне. Желаем успехов на пути к освоению мастерства программирования. Если же вы понимаете, что JavaScript — не ваше, узнайте, какой язык программирования подойдёт для новичка.
Значение слова «программирование»
1. Действие по знач. глаг. программировать. Программирование производства. Операция программирования.
2. Раздел прикладной математики, изучающий и разрабатывающий методы и средства составления программ для вычислительных машин.
Источник (печатная версия): Словарь русского языка: В 4-х т. / РАН, Ин-т лингвистич. исследований; Под ред. А. П. Евгеньевой. — 4-е изд., стер. — М.: Рус. яз.; Полиграфресурсы, 1999; (электронная версия): Фундаментальная электронная библиотека
По известному выражению Никлауса Вирта «Программы = алгоритмы + структуры данных»; иными словами, ключевыми непосредственными задачами программирования являются создание и использование алгоритмов и структур данных.
В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения. Эта инженерно-техническая дисциплина называется «программная инженерия». Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.
Программирование основывается на использовании языков программирования, на которых записываются инструкции для компьютера. Современное приложение содержит множество таких инструкций, связанных между собой.
Текстовый редактор среды программирования может иметь специфичную функциональность, такую, как индексация имен, отображение документации, подсветка синтаксиса, средства визуального создания пользовательского интерфейса. С помощью текстового редактора программист производит набор и редактирование текста создаваемой программы, который называют исходным кодом. Язык программирования определяет синтаксис и изначальную семантику исходного кода.
В настоящее время активно используются интегрированные среды разработки, включающие в свой состав также редактор для ввода и редактирования текстов программ, отладчики (т. н. дебаггеры) для поиска и устранения ошибок, трансляторы с различных языков программирования, компоновщики для сборки программы из нескольких модулей и другие служебные модули.
программи́рование
1. действие по значению гл. программировать; составление программы ◆ Понятие гена, — пишет академик Н. Дубинин, — наполнилось физиологическим и биохимическим содержанием, было показано, что код гена, т. е. его молекулярная структура, программирует в клетке синтез белков. Это программирование имеет сложный характер… В. А. Мезенцев, «Чудеса: Популярная энциклопедия», Том 2. Книга 3, 1991 г. (цитата из НКРЯ) ◆ Будущее колонизировано планированием, в нём может произойти только запрограммированное или подлежащее программированию. В. В. Бибихин, «Язык философии», 1993 г. (цитата из НКРЯ)
Фразеологизмы и устойчивые сочетания
Делаем Карту слов лучше вместе
Привет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать Карту слов. Я отлично умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!
Спасибо! Я стал чуточку лучше понимать мир эмоций.
Вопрос: ориентированность — это что-то нейтральное, положительное или отрицательное?
Что такое программирование
Сегодня слово «Программирование» можно увидеть / услышать, как в какой-нибудь вирусной рекламе в социальной сети, так и в литературном или кинематографическом произведении. Однако что такое программирование и кто такие программисты? Не мудрствуя лукаво, можно поступить как матерый кодер и загуглить новое слово.
Согласно многочисленным определениям, программирование — это процесс создания компьютерных программ. Расшифровать это определение можно следующим образом. Программирование есть ничто иное, как объяснение машине что, в каком виде и как нужно получить пользователю. То есть это своеобразное искусство перевода пожеланий человека на язык машины.
Суть программирования
Основная идея заключается в том, чтобы составить алгоритм и перевести его на язык программирования. Гуру разработки часто рекомендуют начать разработку программы с ответа на вопрос: «Можно ли реализовать эту задачу программно?». К примеру, даже сегодня мы не можем заставить компьютер предсказать, что будет через несколько дней. И пусть этот пример не совсем корректен, потому как данная задача невыполнима в принципе. Однако, если сузить постановку задачи до предсказания поведения какой-нибудь валюты на бирже — подобная задача решается при помощи достаточного сложного алгоритма и большой базы экспериментальных данных.
Алгоритмы
После того, как было принято решение о возможности программной реализации поставленной задачи, необходимо построить алгоритм её решения. То есть максимально подробно описать последовательность шагов по решению задачи с учетом всех возможных ветвлений, циклов и ошибок. На самом деле, строить алгоритм можно и для простейших повседневных операций. Так, к примеру, можно описать алгоритм заваривания чая:
Этот алгоритм не универсален, однако для человека, который засыпает заварку в кружку и имеет дома газовую, а не электрическую плиту, он действителен.
Существует несколько способов описания алгоритма:
Языки программирования
Фактически, язык программирования, это набор правил описания команд и заранее созданных функций. Каждый язык программирования ограничивает разработчика строго предопределенным набором ключевых слов и команд, которые могут быть использованы при разработке. Выделяют несколько уровней языков:
Во время разработки программного продукта могут выделяться разные уровни абстракций. То есть по разному представляться объекты реального мира. В зависимости от этого языки программирования принято разбивать на следующие виды:
Объектно-ориентированное программирование
Данный подход подразумевает написание программы в виде системы объектов, каждый из которых отражает тот или иной объект реального мира. Объектам реального мира в соответствие ставятся классы. А от каждого класса, в свою очередь, может порождаться бесчисленное количество объектов класса. К примеру, если мы будем разрабатывать программу для автосервиса, классами будут: автомобиль, двигатель, подвеска, корпус, тормозная система и другие запчасти. А объекты класса — конкретные модели этих запчастей, которые используются в процессе. Читать про ООП подробнее.
Работа программистом
Для меня это вечная учеба и поиск чего-то нового. Выбирая эту профессию следует быть готовым к тому, что учеба не кончится ни после университета, ни после получения высокой должности. Эта специфика, в первую очередь, появляется из-за того, сфера информационных технологий достаточно молода и постоянно развивается. Не проходит и полугода, чтобы не появилось многообещающей технологии или пары новых фреймворков. Однако и скучать тут не придется. Любой программист решает множество задач, которые требуют не только логичности мышления, но и своеобразный творческий подход к решению каждой задачи. Определенно бонусом будет умение учиться самостоятельно и достаточно крепкая нервная система, потому как напряженно шевелить мозгами придется часто, если не постоянно.
Что такое программирование в итоге
Эта очень сжатое описание некоторых важных вопросов, которые задают себе и окружающим начинающие программисты, или те, кто только собирается ими стать. На каждую из этих тем можно дать куда более развернутый и подробный ответ, но для того, чтобы просто познакомиться с основными понятиями программирования этого вполне достаточно.
Если вы решили заняться программированием, рекомендую ознакомиться со статьями посвященными языку C#. Он достаточно прост в освоении, и весьма популярен в настоящее время.
Также рекомендую прочитать статью Как стать программистом. А также подписывайтесь на группу ВКонтакте, Telegram и YouTube-канал. Там еще больше полезного и интересного для программистов.
Программирование
Программирование сочетает в себе элементы искусства, науки, математики и инженерии.
В узком смысле слова, программирование рассматривается как кодирование — реализация одного или нескольких взаимосвязанных алгоритмов на некотором языке программирования. В более широком смысле, программирование — процесс создания программ, то есть разработка программного обеспечения.
Большая часть работы программиста связана с написанием исходного кода на одном из языков программирования.
Различные языки программирования поддерживают различные стили программирования (т. н. парадигмы программирования). Отчасти, искусство программирования состоит в том, чтобы выбрать один из языков, наиболее полно подходящий для решения имеющейся задачи. Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью (или между временем программиста и временем пользователя).
Единственный язык, напрямую выполняемый процессором — это машинный язык (также называемый машинным кодом). Изначально, все программисты прорабатывали каждую мелочь в машинном коде, но сейчас эта трудная работа уже не делается. Вместо этого, программисты пишут исходный код, и компьютер (используя компилятор, интерпретатор или ассемблер) транслирует его, в один или несколько этапов, уточняя все детали, в машинный код, готовый к исполнению на целевом процессоре. Даже если требуется полный низкоуровневый контроль над системой, программисты пишут на языке ассемблера, мнемонические инструкции которого преобразуются один к одному в соответствующие инструкции машинного языка целевого процессора.
Содержание
Парадигмы программирования [ править ]
Функциональное программирование в соответствующем Вики-учебнике подробно изложено, поэтому поговорим об императивном программировании.
Для императивных языков программирования можно выделить 4 современных парадигмы программирования:
Процедурное программирование [ править ]
Вот пример процедурного кода, выводящего строку:
Вот пример объектно-ориентированного кода, который делает то же самое:
Методологии программирования [ править ]
Сравнение языков программирования [ править ]
В этой статье сравнивается более 50 языков программирования по основным свойствам синтаксиса.
Выражения [ править ]
Выражения в языках программирования в широком смысле могут быть подразделены на 4 типа по синтаксической структуре:
Операторы [ править ]
Как правило в языках программирования имеются следующие соглашения по операторам:
Разделитель операторов используется для демаркации границы между двумя отдельными операторами. Терминатор операторов используется для маркировки конца отдельного оператора. Языки, которые интерпретируют конец строки как конец оператора называются однострочными языками программирования.
«Продолжение строки» — это соглашение для однострочных языков о ситуациях, когда символ окончания строки может быть неправильно интерпретирован как окончание оператора. В таких языках «продолжение строки» позволяет оператору охватывать более одной строки.
Продолжение строки [ править ]
Операция продолжения строки обычно происходит на стадии лексического анализа: как правило символ новой строки не добавляет токен в соотв. список, если было обнаружено продолжение строки.
Библиотеки [ править ]
Импорт библиотеки — это способ добавить внешние (возможно откомпилированные) процедуры, программы или пакеты. Импорты классифицируют по уровню (модуль, пакет, класс, процедура,…) и по синтаксису (директивы, атрибуты,…)
Вышеуказанные операторы также могут быть разделены на 2 группы — являются ли они синтаксическим удобством (просто добавляют элементам краткое название, при этом элементы всё равно доступны по своему полному названию), либо нужны для доступа к коду (без этого оператора доступ к элементам невозможен даже при наличии полного имени).
Блоки [ править ]
Блок представляет собой способ группировки двух или более отдельных операторов, выражений или иных элементов кода, которые должны представлять собой целое..
Комментарии [ править ]
Однострочные комментарии [ править ]
Как правило эти комментарии простираются до символа перевода строки, и используют оговоренную последовательность токенов для индикации начала комментария.
Символ | Языки |
---|---|
C | Фортран от I до Фортрана (C в первом столбце) |
REM | Бейсик, Bat-файлы |
:: | Bat-файлы, COMMAND.COM, Cmd.exe |
NB. | J; от аббревиатуры Nota bene (с лат. — «заметь хорошо»). |
⍝ | APL; используется функциональный глиф (up shoe jot — U+235D) напоминающий лампу («освещающий» комментируемое). |
# | sh и другие оболочки UNIX, Cobra, Perl, Python, Ruby, Seed7, Windows PowerShell, PHP, R, make, Maple, Elixir, Nim [12] |
% | TeX, Пролог, MATLAB, [13] Erlang, S-Lang, Visual Prolog |
// | ActionScript, Си)|C (C99), Си++, C#, D, F#, Go, Java, JavaScript, Kotlin, Object Pascal (Delphi), Objective-C, PHP, Rust, Scala, Sass, Swift, Xojo |
‘ | Monkey, Visual Basic, VBScript Small Basic, Gambas, Xojo |
! | Фортран, Basic Plus, Inform, Pick Basic |
; | Assembly x86, AutoHotkey, AutoIt, Лисп, Common Lisp, Clojure, REBOL, Scheme, |
— | Euphoria, Haskell, SQL, Ада, AppleScript, Eiffel, Lua, VHDL, SGML |
* | Assembler S/360 (* в первом столбце), Кобол от I до Коболa 85, PAW, Фортран от IV до Фортрана 77 (* в первом столбце), Pick Basic |
|| | Curl |
« | Vimscript, ABAP |
\ | Форт |
*> | Кобол 90 |
Многострочные комментарии [ править ]
Как правило многострочные комментарии используют оговоренные последовательности символов для маркировки начала и конца комментария. В этом контексте символы пустого места или перевода строки игнорируются.