Поддерживать
www.wikidata.ru-ru.nina.az
Mo dulnoe programmi rovanie organizaciya programmy kak sovokupnosti nebolshih nezavisimyh blokov nazyvaemyh modulyami struktura i povedenie kotoryh podchinyayutsya opredelyonnym pravilam Ispolzovanie modulnogo programmirovaniya pozvolyaet uprostit testirovanie programmy i obnaruzhenie oshibok Apparatno zavisimye podzadachi mogut byt strogo otdeleny ot drugih podzadach chto uluchshaet mobilnost sozdavaemyh programm Modul posledovatelnost logicheski svyazannyh fragmentov oformlennyh kak otdelnaya chast programmy Vo mnogih yazykah oformlyaetsya v vide otdelnogo fajla s ishodnym kodom ili poimenovannoj nepreryvnoj eyo chasti chto obespechivaet razdelnuyu kompilyaciyu modulej Pri postroenii modulya ispolzuetsya koncepciya odin modul odna funkciya to est modul element programmy reshayushij odnu samostoyatelnuyu zadachu Nekotorye yazyki predusmatrivayut obedinenie modulej v pakety Modulnoe programmirovanie obespechivaet uproshenie proektirovaniya programmnogo obespecheniya i raspredeleniya processa razrabotki mezhdu gruppami razrabotchikov Neobhodimost razrabotki bolshih programmnyh sistem privela k poyavleniyu modulnogo programmirovaniya kogda ves proekt razbivaetsya na sostavnye chasti nazyvaemye modulyami prichyom kazhdyj iz nih imeet svoj kontroliruemyj razmer chyotkoe naznachenie i detalno prorabotannyj interfejs s vneshnej sredoj Krome togo modulnoe programmirovanie uproshaet processy obnovleniya koda i refaktoringa i pozvolyaet zamenyat odin modul drugim Rol modulej mogut igrat struktury dannyh biblioteki funkcij klassy servisy i drugie programmnye edinicy realizuyushie nekotoruyu funkcionalnost i predostavlyayushie interfejs k nej Odnim iz metodov napisaniya modulnyh programm yavlyaetsya obektno orientirovannoe programmirovanie ispolzuyushee takie svojstva kak inkapsulyaciya polimorfizm i pozdnee svyazyvanie Modulnaya sistema modulejNesmotrya na to chto modulnoe programmirovanie nikak ne svyazano s detalyami konkretnogo opredelennogo yazyka i dazhe v sluchae otsutstviya yavnoj podderzhki so storony yazyka mozhet primenyatsya pri dostatochnoj discipline so storony programmistov bolshinstvo yazykov vydvigayut na verhnij uroven svoyu sobstvennuyu sistemu modulej slovno perenos sistemy modulej s odnogo yazyka na drugoj byl by nevozmozhen V 2000 godu Ksave Lerua predlozhil delat sistemy modulej modulnymi to est parametrizuemymi opisaniem konkretnogo yadra yazyka so svoej sistemoj tipov V kachestve primera on prodemonstriroval obobshyonnuyu realizaciyu yazyka modulej ML kak naibolee razvitoj sistemy modulej iz izvestnyh na dannyj moment i primery eyo instancirovaniya na tradicionnyj dlya neyo yazyk ML i na yazyk Si Realizaciya Lerua sama postroena posredstvom yazyka modulej ML a imenno v vide funktora parametrizovannogo dannymi o yadre yazyka i opisaniem ego mehanizma proverki soglasovaniya tipov Eto znachit chto pri napisanii kompilyatora nekotorogo yazyka dostatochno opisat yadro yazyka i peredat ego dannomu funktoru kak bibliotechnoj funkcii v rezultate poluchitsya kompilyator rasshireniya izvestnogo yazyka sistemoj modulej ML IstoriyaIstoriya koncepcii modulej kak edinic kompilyacii voshodit k yazykam Fortran II i Kobol to est k koncu 1950 h godov V 1976 godu poyavilas publikaciya v kotoroj byla razvita koncepciya modulnosti o yazyke angl kotoryj byl razrabotan v Xerox PARC V 1977 godu podrobno oznakomilsya s etoj koncepciej uchyonyj Niklaus Virt obshayas s razrabotchikami v Xerox PARC Eti idei byli ispolzovany Virtom pri sozdanii yazyka Modula 2 publikaciya o kotorom vyshla v 1977 godu Termin modul v programmirovanii nachal ispolzovatsya v svyazi s vnedreniem modulnyh principov pri sozdanii programm V 1970 h godah pod modulem ponimali kakuyu libo proceduru ili funkciyu napisannuyu v sootvetstvii s opredelyonnymi pravilami Naprimer modul dolzhen byt prostym zamknutym nezavisimym obozrimym ot 50 do 100 strok realizuyushim tolko odnu funkciyu zadachi imeyushim odnu vhodnuyu i odnu vyhodnuyu tochku Pervym osnovnye svojstva programmnogo modulya sformuliroval angl v 1972 godu dlya napisaniya odnogo modulya dolzhno byt dostatochno minimalnyh znanij o tekste drugogo Takim obrazom v sootvetstvii s opredeleniem modulem mogla byt lyubaya otdelnaya procedura funkciya kak samogo nizhnego urovnya ierarhii urovnya realizacii tak i samogo verhnego urovnya na kotorom proishodyat tolko vyzovy drugih procedur modulej Takim obrazom Parnas pervym vydvinul koncepciyu skrytiya informacii angl information hiding v programmirovanii Odnako sushestvovavshie v yazykah 1970 h godov tolko takie sintaksicheskie konstrukcii kak procedura i funkciya ne mogli obespechit nadyozhnogo skrytiya informacii iz za povsemestnogo primeneniya globalnyh peremennyh Reshit etu problemu mozhno bylo tolko razrabotav novuyu sintaksicheskuyu konstrukciyu kotoraya ne podverzhena vliyaniyu globalnyh peremennyh Takaya konstrukciya byla sozdana i nazvana modulem Iznachalno predpolagalos chto pri realizacii slozhnyh programmnyh kompleksov modul dolzhen ispolzovatsya naravne s procedurami i funkciyami kak konstrukciya obedinyayushaya i nadyozhno skryvayushaya detali realizacii opredelyonnoj podzadachi Takim obrazom kolichestvo modulej v komplekse dolzhno opredelyatsya dekompoziciej postavlennoj zadachi na nezavisimye podzadachi V predelnom sluchae modul mozhet ispolzovatsya dazhe dlya zaklyucheniya v nego vsego lish odnoj procedury esli neobhodimo chtoby vypolnyaemoe eyu lokalnoe dejstvie bylo garantirovano nezavisimym ot vliyaniya drugih chastej programmy pri lyubyh izmeneniyah Vpervye specializirovannaya sintaksicheskaya konstrukciya modulya byla predlozhena Niklausom Virtom v 1975 godu i vklyuchena v ego novyj yazyk Modula Realizaciya v yazykah programmirovaniyaYazyki formalno podderzhivayushie koncepciyu modulej yazyk assemblera IBM S 360 Kobol RPG PL 1 Ada D angl Fortran Haskell Blitz BASIC OCaml Paskal ML Modula 2 Oberon Komponentnyj Paskal Zonnon Erlang Perl Python i Ruby Modulnoe programmirovanie mozhet byt osushestvleno dazhe kogda sintaksis yazyka programmirovaniya ne podderzhivaet yavnoe zadanie imyon modulyam Programmnye instrumenty mogut sozdavat moduli ishodnogo koda predstavlennye kak chasti grupp komponentov bibliotek kotorye sostavlyayutsya s programmoj komponovshikom Sm takzheBlok programmirovanie Primechaniyahttps cyberpedia su 6x88a4 html ot 22 oktyabrya 2013 na Wayback Machine Modulnoe programmirovanie Studopediya neopr studopedia ru Data obrasheniya 21 noyabrya 2022 21 noyabrya 2022 goda Modulnost programmnogo koda KiberPediya neopr cyberpedia su Data obrasheniya 21 noyabrya 2022 21 noyabrya 2022 goda Razrabotka programmnogo obespecheniya neopr poisk ru ru Data obrasheniya 21 noyabrya 2022 21 noyabrya 2022 goda End Sub Pri vypolnenii pervoj podprogrammy proc1 v etom primere proishodit vyzov procedury AcB neopr lektsii org Data obrasheniya 21 noyabrya 2022 21 noyabrya 2022 goda Leroy 2000 Strukturnoe i modulnoe programmirovanie KiberPediya neopr cyberpedia su Data obrasheniya 21 noyabrya 2022 21 noyabrya 2022 goda A brief history of FORTRAN COBOL Subprograms neopr Data obrasheniya 23 oktyabrya 2009 5 maya 2009 goda Niklaus Virt Kratkaya istoriya Modula i Lilith ot 20 yanvarya 2007 na Wayback Machine perevod s angl s kommentariyami v tekste R Bogatyreva The History of Modula 2 and Oberon neopr Data obrasheniya 22 oktyabrya 2009 1 iyunya 2012 goda Parnas D L On the criteria to be used in decomposing systems into modules angl Communications of the ACM 1972 Vol 15 no 12 doi 10 1145 361598 361623 LiteraturaXavier Leroy A Modular Module System vol 10 issue 3 Journal of Functional Programming 2000 S 269 303
Вершина