Императивное программирование
Императи́вное программи́рование — парадигма программирования (стиль написания исходного кода компьютерной программы), для которой характерно следующее:
- в исходном коде программы записываются инструкции (команды);
- инструкции должны выполняться последовательно;
- данные, получаемые при выполнении предыдущих инструкций, могут читаться из памяти последующими инструкциями;
- данные, полученные при выполнении инструкции, могут записываться в память.
Императивная программа похожа на приказы (англ. imperative — приказ, повелительное наклонение), выражаемые повелительным наклонением в естественных языках, то есть представляют собой последовательность команд, которые должен выполнить процессор.
При императивном подходе к написанию кода (в отличие от функционального подхода, относящегося к декларативной парадигме) широко используется присваивание. Наличие операторов присваивания увеличивает сложность модели вычислений и делает императивные программы подверженными специфическим ошибкам, не встречающимся при функциональном подходе.
Основные черты императивных языков:
- использование именованных переменных;
- использование оператора присваивания;
- использование составных выражений;
- использование подпрограмм;
- и др.
История
Первыми императивными языками были машинные инструкции (коды) — команды, готовые к исполнению компьютером сразу (без каких-либо преобразований). В дальнейшем были созданы ассемблеры, и программы стали записывать на языках ассемблеров.
Ассемблер — компьютерная программа, предназначенная для преобразования машинных инструкций, записанных в виде текста на языке, понятном человеку (языке ассемблера), в машинные инструкции в виде понятном компьютеру (машинный код). Одной инструкции на языке ассемблера соответствовала одна инструкция на машинном языке. Разные компьютеры поддерживали разные наборы инструкций. Программы, записанные для одного компьютера, приходилось заново переписывать для переноса на другой компьютер. Были созданы языки программирования высокого уровня и компиляторы — программы, преобразующие текст с языка программирования на язык машины (машинный код). Одна инструкция языка высокого уровня соответствовала одной или нескольким инструкциям языка машины, и для разных машин эти инструкции были разными.
Первым распространённым высокоуровневым языком программирования, получившим применения на практике, стал язык Fortran, разработанный Джоном Бэкусом в 1954 году. Fortran является компилируемым языком программирования, позволяет использовать именованные переменные, составные выражения, подпрограммы и многие другие элементы, распространённые в императивных языках. Для упрощения выражения математических алгоритмов в конце 1950‑х годов был разработан язык Algol. В дальнейшем Algol послужил базой для написания операционных систем для некоторых моделей компьютеров. Языки COBOL (1960 год) и Basic (1964 год) стали первыми языками, разработчики которых пытались сделать языки похожими на английский язык. В 1970-х годах Никлаус Вирт разработал язык Pascal. Денис Ритчи создал язык C. В 1978 году команда разработчиков из фирмы Honeywell начала разработку языка Ada, через четыре года опубликовала требования для его работы; спецификация языка увидела свет в 1983 году, была обновлена в 1995 и 2005-2006 годах.
В 1980-х годах возрос интерес к объектно-ориентированному программированию (ООП). В 1980 году сотрудники исследовательского центра Xerox PARC на основе языка Smalltalk, разработанного Аланом Кэем в 1969 году, создали язык Smalltalk-80. Бьёрн Страуструп на основе языка C и по образу и подобию языка Simula (предположительно, первого в мире ООП-языка, разработанного ещё в 1960-х годах) разработал язык C++. Первая реализация C++ была создана в 1985 году. В 1987 году Ларри Уолл выпустил язык Perl и интерпретатор для него. В 1990 году Гвидо ван Россум выпустил язык Python. В 1994 году в фирме Sun Microsystems был разработан язык Java. В 1995 году Расмус Лердорф разработал язык PHP. Язык Ruby был выпущен в 1995 году. Язык C# был выпущен в 2002 году вместе с программной платформой (фреймворком) .NET Framework, поддерживающей несколько языков.
См. также
Примечания
- Harold Abelson, Jerry Sussman, and Julie Sussman: Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), Pitfalls of imperative programming. Дата обращения: 20 октября 2013. Архивировано из оригинала 26 ноября 2013 года.
Литература
- Роберт В Себеста. Основные концепции языков программирования = Concepts of Programming Languages. — 5-е изд. — М.: «», 2001. — С. 672. — ISBN 0-201-75295-6.
- Terrence W. P., Zelkowitz M. V. Programming Languages: Design and Implementation. — 3. — Prentice Hall, 1996 год.
Ссылки
- Императивное программирование в обзоре парадигм программирования Д. Петрова.
- Оперативное конструирование программ в императивных языках программирования.
В статье есть список источников, но не хватает сносок. |
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Императивное программирование, Что такое Императивное программирование? Что означает Императивное программирование?
Imperati vnoe programmi rovanie paradigma programmirovaniya stil napisaniya ishodnogo koda kompyuternoj programmy dlya kotoroj harakterno sleduyushee v ishodnom kode programmy zapisyvayutsya instrukcii komandy instrukcii dolzhny vypolnyatsya posledovatelno dannye poluchaemye pri vypolnenii predydushih instrukcij mogut chitatsya iz pamyati posleduyushimi instrukciyami dannye poluchennye pri vypolnenii instrukcii mogut zapisyvatsya v pamyat Imperativnaya programma pohozha na prikazy angl imperative prikaz povelitelnoe naklonenie vyrazhaemye povelitelnym nakloneniem v estestvennyh yazykah to est predstavlyayut soboj posledovatelnost komand kotorye dolzhen vypolnit processor Pri imperativnom podhode k napisaniyu koda v otlichie ot funkcionalnogo podhoda otnosyashegosya k deklarativnoj paradigme shiroko ispolzuetsya prisvaivanie Nalichie operatorov prisvaivaniya uvelichivaet slozhnost modeli vychislenij i delaet imperativnye programmy podverzhennymi specificheskim oshibkam ne vstrechayushimsya pri funkcionalnom podhode Osnovnye cherty imperativnyh yazykov ispolzovanie imenovannyh peremennyh ispolzovanie operatora prisvaivaniya ispolzovanie sostavnyh vyrazhenij ispolzovanie podprogramm i dr IstoriyaPervymi imperativnymi yazykami byli mashinnye instrukcii kody komandy gotovye k ispolneniyu kompyuterom srazu bez kakih libo preobrazovanij V dalnejshem byli sozdany assemblery i programmy stali zapisyvat na yazykah assemblerov Assembler kompyuternaya programma prednaznachennaya dlya preobrazovaniya mashinnyh instrukcij zapisannyh v vide teksta na yazyke ponyatnom cheloveku yazyke assemblera v mashinnye instrukcii v vide ponyatnom kompyuteru mashinnyj kod Odnoj instrukcii na yazyke assemblera sootvetstvovala odna instrukciya na mashinnom yazyke Raznye kompyutery podderzhivali raznye nabory instrukcij Programmy zapisannye dlya odnogo kompyutera prihodilos zanovo perepisyvat dlya perenosa na drugoj kompyuter Byli sozdany yazyki programmirovaniya vysokogo urovnya i kompilyatory programmy preobrazuyushie tekst s yazyka programmirovaniya na yazyk mashiny mashinnyj kod Odna instrukciya yazyka vysokogo urovnya sootvetstvovala odnoj ili neskolkim instrukciyam yazyka mashiny i dlya raznyh mashin eti instrukcii byli raznymi Pervym rasprostranyonnym vysokourovnevym yazykom programmirovaniya poluchivshim primeneniya na praktike stal yazyk Fortran razrabotannyj Dzhonom Bekusom v 1954 godu Fortran yavlyaetsya kompiliruemym yazykom programmirovaniya pozvolyaet ispolzovat imenovannye peremennye sostavnye vyrazheniya podprogrammy i mnogie drugie elementy rasprostranyonnye v imperativnyh yazykah Dlya uprosheniya vyrazheniya matematicheskih algoritmov v konce 1950 h godov byl razrabotan yazyk Algol V dalnejshem Algol posluzhil bazoj dlya napisaniya operacionnyh sistem dlya nekotoryh modelej kompyuterov Yazyki COBOL 1960 god i Basic 1964 god stali pervymi yazykami razrabotchiki kotoryh pytalis sdelat yazyki pohozhimi na anglijskij yazyk V 1970 h godah Niklaus Virt razrabotal yazyk Pascal Denis Ritchi sozdal yazyk C V 1978 godu komanda razrabotchikov iz firmy Honeywell nachala razrabotku yazyka Ada cherez chetyre goda opublikovala trebovaniya dlya ego raboty specifikaciya yazyka uvidela svet v 1983 godu byla obnovlena v 1995 i 2005 2006 godah V 1980 h godah vozros interes k obektno orientirovannomu programmirovaniyu OOP V 1980 godu sotrudniki issledovatelskogo centra Xerox PARC na osnove yazyka Smalltalk razrabotannogo Alanom Keem v 1969 godu sozdali yazyk Smalltalk 80 Byorn Straustrup na osnove yazyka C i po obrazu i podobiyu yazyka Simula predpolozhitelno pervogo v mire OOP yazyka razrabotannogo eshyo v 1960 h godah razrabotal yazyk C Pervaya realizaciya C byla sozdana v 1985 godu V 1987 godu Larri Uoll vypustil yazyk Perl i interpretator dlya nego V 1990 godu Gvido van Rossum vypustil yazyk Python V 1994 godu v firme Sun Microsystems byl razrabotan yazyk Java V 1995 godu Rasmus Lerdorf razrabotal yazyk PHP Yazyk Ruby byl vypushen v 1995 godu Yazyk C byl vypushen v 2002 godu vmeste s programmnoj platformoj frejmvorkom NET Framework podderzhivayushej neskolko yazykov Sm takzhePrimechaniyaHarold Abelson Jerry Sussman and Julie Sussman Structure and Interpretation of Computer Programs MIT Press 1984 ISBN 0 262 01077 1 Pitfalls of imperative programming neopr Data obrasheniya 20 oktyabrya 2013 Arhivirovano iz originala 26 noyabrya 2013 goda LiteraturaRobert V Sebesta Osnovnye koncepcii yazykov programmirovaniya Concepts of Programming Languages 5 e izd M 2001 S 672 ISBN 0 201 75295 6 Terrence W P Zelkowitz M V Programming Languages Design and Implementation 3 Prentice Hall 1996 god SsylkiImperativnoe programmirovanie v obzore paradigm programmirovaniya D Petrova Operativnoe konstruirovanie programm v imperativnyh yazykah programmirovaniya V state est spisok istochnikov no ne hvataet snosok Bez snosok slozhno opredelit iz kakogo istochnika vzyato kazhdoe otdelnoe utverzhdenie Vy mozhete uluchshit statyu prostaviv snoski na istochniki podtverzhdayushie informaciyu Svedeniya bez snosok mogut byt udaleny 26 maya 2021
