Программирование: различия между версиями
ЕссБот (обсуждение | вклад) м замена категории на шаблон для работы полки, removed: Категория:Программирование с помощью AWB |
ЕссБот (обсуждение | вклад) м →См. также: установка шаблона "по алфавиту" по консенсусу на форуме с помощью AWB |
||
Строка 59: | Строка 59: | ||
* [[:Категория:Языки программирования|Все учебники по языкам программирования]] |
* [[:Категория:Языки программирования|Все учебники по языкам программирования]] |
||
⚫ | |||
{{По алфавиту}} |
|||
⚫ |
Версия от 22:02, 24 марта 2016
Программи́рование — процесс и искусство создания компьютерных программ с помощью языков программирования. Программирование сочетает в себе элементы искусства, науки, математики и инженерии.
В узком смысле слова, программирование рассматривается как кодирование — реализация одного или нескольких взаимосвязанных алгоритмов на некотором языке программирования. В более широком смысле, программирование — процесс создания программ, то есть разработка программного обеспечения.
Большая часть работы программиста связана с написанием исходного кода на одном из языков программирования.
Различные языки программирования поддерживают различные стили программирования (т. н. парадигмы программирования). Отчасти, искусство программирования состоит в том, чтобы выбрать один из языков, наиболее полно подходящий для решения имеющейся задачи. Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью (или между временем программиста и временем пользователя).
Единственный язык, напрямую выполняемый процессором — это машинный язык (также называемый машинным кодом). Изначально, все программисты прорабатывали каждую мелочь в машинном коде, но сейчас эта трудная работа уже не делается. Вместо этого, программисты пишут исходный код, и компьютер (используя компилятор, интерпретатор или ассемблер) транслирует его, в один или несколько этапов, уточняя все детали, в машинный код, готовый к исполнению на целевом процессоре. Даже если требуется полный низкоуровневый контроль над системой, программисты пишут на языке ассемблера, мнемонические инструкции которого преобразуются один к одному в соответствующие инструкции машинного языка целевого процессора.
В некоторых языках, вместо машинного кода генерируется интерпретируемый двоичный код "виртуальной машины", также называемый байт-кодом (byte-code). Такой подход применяется в Forth, Lisp, Java, Perl, Python а также в языках платформы Microsoft .NET.
Парадигмы программирования
Функциональное программирование в соответствующем Вики-учебнике подробно изложено, поэтому поговорим об императивном программировании.
Для императивных языков программирования можно выделить 4 современных парадигмы программирования:
- Процедурное программирование (ПП)
- Объектно-ориентированное программирование (ООП)
- Компонентно-ориентированое программирование (КОП)
- Аспектно-ориентированое программирование (АОП)
Процедурное программирование
Вот пример процедурного кода, выводящего строку
<?php
print "Hello, world.";
?>
Вот пример объектно-ориентированного кода, который делает то же самое:
<?php
class helloWorld {
function myPrint() {
print "Hello, world.";
}
}
$myHelloWorld = new helloWorld();
$myHelloWorld->myPrint();
?>
Методологии программирования
См. также
- Аспектно-ориентированное программирование
- Объектно-ориентированное программирование
- Компонентно-ориентированное программирование
- Основы функционального программирования
- Операционные системы
- Языки программирования в школе
- Московская олимпиада по информатике - 2005
- Все учебники по языкам программирования