[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/programowanie-wedlug-intencji-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/programowanie-wedlug-intencji-wikipedia\/","headline":"Programowanie wed\u0142ug intencji – Wikipedia","name":"Programowanie wed\u0142ug intencji – Wikipedia","description":"before-content-x4 W programowaniu komputerowym, Programowanie wed\u0142ug intencji (PPI, po angielsku celowe programowanie W Ip ) to paradygmat programowania, kt\u00f3ry pozwala","datePublished":"2021-09-11","dateModified":"2021-09-11","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/3\/38\/Info_Simple.svg\/12px-Info_Simple.svg.png","url":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/3\/38\/Info_Simple.svg\/12px-Info_Simple.svg.png","height":"12","width":"12"},"url":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/programowanie-wedlug-intencji-wikipedia\/","wordCount":2897,"articleBody":" (adsbygoogle = window.adsbygoogle || []).push({});before-content-x4W programowaniu komputerowym, Programowanie wed\u0142ug intencji (PPI, po angielsku celowe programowanie W Ip ) to paradygmat programowania, kt\u00f3ry pozwala kodom \u017ar\u00f3d\u0142owym oprogramowania precyzyjnie odzwierciedla\u0107 intencj\u0119 programisty podczas projektu. Szanuj\u0105c poziom abstrakcji my\u015bli programisty, przegl\u0105d i konserwacja program\u00f3w komputerowych staj\u0105 si\u0119 \u0142atwiejsze, poniewa\u017c czytelnik kodu \u017ar\u00f3d\u0142owego nie musi ju\u017c rozumie\u0107 zak\u0142adu, ni\u017c deweloper postanowi\u0142 wiedzie\u0107, co powinien zrobi\u0107 program. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4Koncepcja zosta\u0142a wprowadzona przez Charlesa Simonyi podczas prowadzenia zespo\u0142u w Microsoft Research. Jego grupa opracowa\u0142a zintegrowane \u015brodowisko programistyczne o nazwie PPI kt\u00f3ry pokazuje t\u0119 koncepcj\u0119. Z niejasnych powod\u00f3w [[[ Pierwszy ] , Microsoft przerwa\u0142 rozw\u00f3j PPI Na pocz\u0105tku 2000 roku. Prezentacja programowania wed\u0142ug intencji jest dost\u0119pna w rozdziale 11 ksi\u0105\u017cki Programowanie generatywne: metody, narz\u0119dzia i aplikacje , de Krzysztof Czarnecki et ulrich eisenecker [[[ 2 ] . (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4Jak przewiduje Simonyi, opracowanie nowej aplikacji za po\u015brednictwem paradygmatu programowania wed\u0142ug intencji post\u0119puje w nast\u0119puj\u0105cy spos\u00f3b. Programista najpierw tworzy zestaw narz\u0119dzi specyficzny dla pola danego problemu (na przyk\u0142ad ubezpieczenie na \u017cycie ). Eksperci w tej dziedzinie, pomagali programista, a nast\u0119pnie opisuj\u0105 planowane zachowanie aplikacji w spos\u00f3b \u201eto, co widzisz, to, co dostajesz\u201d (w j\u0119zyku angielskim: Wysiwyg). Podsumowuj\u0105c, zautomatyzowany system u\u017cywa opisu programu i przybyszu do wygenerowania ostatecznego programu. Kolejne zmiany s\u0105 wprowadzane tylko na poziomie \u201etakiego wy\u015bwietlacza, takiego jak wynik\u201d (WYSIWYG), przy u\u017cyciu systemu o nazwie \u201eWarsztaty domeny\u201d (w j\u0119zyku angielskim: domena robocza) [[[ 3 ] . Table of ContentsPrzechowywanie kodu \u017ar\u00f3d\u0142owego i separacja prezentacji [[[ modyfikator |. Modyfikator i kod ] Zidentyfikowa\u0107 [[[ modyfikator |. Modyfikator i kod ] Poziom szczeg\u00f3\u0142\u00f3w [[[ modyfikator |. Modyfikator i kod ] osoba m\u00f3wi\u0105ca po angielsku [[[ modyfikator |. Modyfikator i kod ] Frankofony [[[ modyfikator |. Modyfikator i kod ] Przechowywanie kodu \u017ar\u00f3d\u0142owego i separacja prezentacji [[[ modyfikator |. Modyfikator i kod ] G\u0142\u00f3wn\u0105 zalet\u0105 PPI (i prawdopodobn\u0105 przeszkod\u0105 dla jego akceptacji przez spo\u0142eczno\u015bci programist\u00f3w) jest to, \u017ce kod \u017ar\u00f3d\u0142owy nie jest przechowywany w plikach tekstowych, ale w pliku binarnym w\u0142a\u015bciciela, kt\u00f3ry przypomina XML. Podobnie jak w przypadku XML, nie ma potrzeby konkretnego analizatora sk\u0142adniowego dla ka\u017cdego fragmentu kodu, kt\u00f3ry powinien dzia\u0142a\u0107 na informacjach tworz\u0105cych program, obni\u017caj\u0105c barier\u0119 w pisaniu narz\u0119dzi analizy lub narz\u0119dzi restrukturyzacji. Film pokazuje, w jaki spos\u00f3b system manipuluje j\u0119zykami, kt\u00f3re u\u017cywaj\u0105 preprocesora na podstawie tekstu poprzez badanie konkretnych zastosowa\u0144 makr w zbiorniku kodu w celu wymy\u015blenia bardziej higienicznej abstrakcji. \u015acis\u0142a integracja wydawcy z formatem binarnym wprowadza do kodu \u017ar\u00f3d\u0142owego jedne z naj\u0142adniejszych funkcji normalizacji baz danych. Redundancja jest eliminowana, podaj\u0105c ka\u017cd\u0105 definicj\u0119 zidentyfikowa\u0107 Unikalne i przechowuj\u0105c nazwy zmiennych i operator\u00f3w w dok\u0142adnie unikalnym miejscu. Oznacza to, \u017ce \u0142atwiej jest r\u00f3wnie\u017c rozr\u00f3\u017cni\u0107 wewn\u0119trznie mi\u0119dzy sprawozdania A odniesienia, nast\u0119pnie \u015brodowisko pokazuje typ w typu odwa\u017cnym. Przestrze\u0144 nie jest r\u00f3wnie\u017c przechowywany jako element kodu \u017ar\u00f3d\u0142owego, a ka\u017cdy programista pracuj\u0105cy nad projektem mo\u017ce wybra\u0107 wy\u015bwietlanie wci\u0119cia \u017ar\u00f3d\u0142a, jak preferuje. Bardziej radykalne wizualizacje obejmuj\u0105 wy\u015bwietlanie stwierdze\u0144 deklaracji jako zagnie\u017cd\u017conych podprogram\u00f3w, edytuj\u0105c Wyra\u017cenia warunkowe Podobnie jak drzwi logiczne lub ponowna reprodukcja nazw w j\u0119zyku chi\u0144skim. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4Projekt wydaje si\u0119 normalizowa\u0107 rodzaj schematu XML dla popularnych j\u0119zyk\u00f3w, takich jak C ++ i Java, pozostawiaj\u0105c u\u017cytkownikom mieszank\u0119 \u015brodowiska i po\u0142\u0105czenie tego z pomys\u0142ami Eiffla i innych j\u0119zyk\u00f3w. Cz\u0119sto wspomniane w tym samym kontek\u015bcie co Programowanie zorientowane na j\u0119zyk Dzi\u0119ki dedykowanym j\u0119zykom i programowaniu zorientowanym na wygl\u0105d PPI twierdzi, \u017ce zapewnia prze\u0142om w Programowanie generatywne . Techniki te pozwalaj\u0105 programistom rozszerzy\u0107 \u015brodowisko j\u0119zykowe, aby uchwyci\u0107 konstrukcje specyficzne dla tej domeny bez inwestowania w pisanie kompletnego kompilatora i wydawcy ka\u017cdego nowego j\u0119zyka. Program w Javie, kt\u00f3ry zapisuje liczb\u0119 od 1 do 10, przy u\u017cyciu sk\u0142adni z nawiasami programowymi, mo\u017ce by\u0107 taki: for (int i = 1; i Tak wi\u0119c systemy PPI s\u0105 L'Auto-Documentation W du\u017cej mierze, co pozwala programistowi utrzyma\u0107 dobry wysoki poziom widoku ca\u0142ego programu. Istniej\u0105 projekty, kt\u00f3re wykorzystuj\u0105 podobne pomys\u0142y, aby stworzy\u0107 kod o wy\u017cszym poziomie abstrakcji. W\u015br\u00f3d nich znajdujemy: \u2191 \u201eSimonyi chcia\u0142a wykorzysta\u0107 sw\u00f3j pomys\u0142 z laboratorium i umie\u015bci\u0107 go przed obs\u0142ug\u0105 klienta. Wyja\u015bnia, \u017ce \u200b\u200bby\u0142 nierealny, podczas gdy Microsoft dokona\u0142 ogromnych post\u0119p\u00f3w w kr\u00f3tkim okresie. , powiedz klientom, \u017ce nie by\u0142 to w\u0142a\u015bciwy spos\u00f3b robienia rzeczy (...) '\" ' http:\/\/www.technologyreview.com\/Infotech\/18021\/page4\/\u00bb ( Archive.org\u2022 \u2022 Wikiwix\u2022 \u2022 Archive.is\u2022 \u2022 Google\u2022 Co robi\u0107 ?) (Cytat z \u201eCz\u0119\u015b\u0107 II: co\u015b, co mo\u017cesz zrobi\u0107, mog\u0119 to zrobi\u0107 meta: Space Tourist i miliarder programista Charles Simonyi zaprojektowa\u0142 Microsoft Office. Teraz chce przeprogramowa\u0107 oprogramowanie.\u201d] Wtorek, 9 stycznia 2007 r., Scott Rosenberg, Przegl\u0105d technologii w Massachusetts (MIT) Institute of Technology (MIT).) \u2191 Addison-Wesley, Reading, MA, USA, Juin 2000. \u2191 Scott Rosenberg: \" Wszystko, co mo\u017cesz zrobi\u0107, mog\u0119 zrobi\u0107 meta . \" Massachusetts (MIT) Review Technology Institute of Technology Institute (MIT) , 8 stycznia 2007 osoba m\u00f3wi\u0105ca po angielsku [[[ modyfikator |. Modyfikator i kod ] Miejscowe oprogramowanie - La Soci\u00e9t\u00e9 de Charles Simonyi. ' \u015amier\u0107 j\u0119zyk\u00f3w komputerowych, narodziny celowego programowania , raport techniczny Charlesa Simonyi (1995) \u00bb ( Archive.org \u2022 \u2022 Wikiwix \u2022 \u2022 Archiwum \u2022 \u2022 Google \u2022 Co robi\u0107 ?) (Linki FTP) Celowe programowanie - innowacje w dziedzi\u0144cu , Talk: Charles Simonyi (1996) Wywiad Edge.org z Charlesem Simonyi (ankieter: John Brockman) \u201eWszystko, co mo\u017cesz zrobi\u0107, mog\u0119 zrobi\u0107 meta\u201d Wtorek, 09 stycznia 2007, Scott Rosenberg, Przegl\u0105d technologii Oczekiwanie na dzie\u0144, w kt\u00f3rym wszyscy pisze oprogramowanie W The New York Times , 28 stycznia 2007 Czy programowanie jest form\u0105 szyfrowania? , autor: Charles Simonyi (2005) Zawarto\u015b\u0107 informacji z program\u00f3w , autor: Charles Simonyi (2005) Funkcja X uwa\u017cana za szkodliwe , autor: Charles Simonyi (2005) Notacje i j\u0119zyki programowania , autor: Charles Simonyi (2005) Osobiste obserwacje od dewelopera , Mark Edel (2005) Frankofony [[[ modyfikator |. Modyfikator i kod ] (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/programowanie-wedlug-intencji-wikipedia\/#breadcrumbitem","name":"Programowanie wed\u0142ug intencji – Wikipedia"}}]}]