2. Программирование
Это процесс создания программ (программного
обеспечения). Для этого программисты пишут
исходный код на одном из языков программирования
3. История
205 год до н. э Антикитерский механизм из Древней Греции был калькулятором, использовавшим
шестерни различных размеров и конфигурации, обусловливавших его работу, по отслеживанию
метонова цикла, до сих пор использующегося в лунно-солнечных календарях.
1206 год — Аль-Джазари построил программируемый автомат-гуманоида. Одна система,
задействованная в этих устройствах, использовала зажимы и кулачки, помещённые в деревянный ящик
в определённых местах, которые последовательно задействовали рычаги, которые, в свою очередь,
управляли перкуссионными инструментами.
1804 год — построен жаккардовый ткацкий станок, построенный Жозефом Мари Жаккаром, который
произвёл революцию в ткацкой промышленности, предоставив возможность программировать узоры на
тканях при помощи перфокарт, его иногда считают первым программируемым устройством.
19 июля 1843 года — Чарлз Бэббидж разработал (но не смог её построить) «Аналитическую машину» —
первое программируемое вычислительное устройство.
4. Программные средства
Скриншот фрагмента кода на языке Java в текстовом редакторе vim,
демонстрирующий подсветку синтаксиса, поддержку Unicode, фолдинг
Программные средства, используемые при разработке программ делятся на
системные и инструментальные. В системном обеспечении основными
являются операционные системы, инструментальные средства и технологии
Windows, Mac OS X, Linux и т. п.
На олимпиадах по информатике и программированию с успехом используются
только свободно распространяемые лицензионные инструментальные средства
(в большинстве своём распространяются по лицензии GNU GPL). Из языков
программирования на олимпиадах по программированию последние годы
часто используются языки программирования Паскаль, C/C++ и Java.
Для ведения документации при разработках программ могут использоваться
офисные пакеты программ (например, OpenOffice.org и Microsoft Office).
5. Python
Высокоуровневый язык программирования
общего назначения с динамической строгой
типизацией и автоматическим управлением
памятью, ориентированный на повышение
производительности разработчика, читаемости
кода и его качества, а также на обеспечение
переносимости написанных на нём программ
6. C++
Поддерживает такие парадигмы программирования, как
процедурное программирование, объектно-
ориентированное программирование, обобщённое
программирование. Язык имеет богатую стандартную
библиотеку, которая включает в себя распространённые
контейнеры и алгоритмы, ввод-вывод, регулярные
выражения, поддержку многопоточности и другие
возможности. C++ сочетает свойства как
высокоуровневых, так и низкоуровневых языков. В
сравнении с его предшественником — языком C —
наибольшее внимание уделено поддержке объектно-
ориентированного и обобщённого программирования.
7. JavaScript
Этот язык занимает лидирующие
позиции в рейтингах популярности, а
также поддерживает императивные,
структурируемые, объектно-
ориентированные и управляемые
событиями парадигмы.