An Entity of Type: programming language, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

In computer programming, Intentional Programming is a programming paradigm developed by Charles Simonyi that encodes in software source code the precise intention which programmers (or users) have in mind when conceiving their work. By using the appropriate level of abstraction at which the programmer is thinking, creating and maintaining computer programs become easier. By separating the concerns for intentions and how they are being operated upon, the software becomes more modular and allows for more reusable software code.

Property Value
dbo:abstract
  • Intentionale Programmierung ist ein Programmierparadigma. Sie bezeichnet den Ansatz, vom herkömmlichen Quelltext als alleinige Spezifikation eines Programms abzurücken, um die Intentionen des Programmierers durch eine Vielfalt von jeweils geeigneten Spezifikationsmöglichkeiten in besserer Weise auszudrücken. Die Intentionale Programmierung befindet sich noch in Entwicklung, basierend auf Ideen von Charles Simonyi. Insbesondere auch die traditionellen, in der Regel sehr ausgereiften Notationen diverser Problemdomänen (z. B. mathematische Formeln, Notenschrift, chemische Strukturformeln, Schaltungssymbole etc.) sollen verwendbar sein. Die Unzulänglichkeit, einen komplizierten Sachverhalt lediglich mit einer einzigen Darstellung zu erfassen, ist nichts Ungewöhnliches. Z. B. in der Differentialgeometrie versucht man Mannigfaltigkeiten zu beschreiben. Eine Kugel kann nicht in allen Aspekten gut auf eine einzige zweidimensionale Karte projiziert werden. Man muss mehrere Karten anfertigen (einen Atlas), die jeweils nur Teilaspekte erfassen. Es gibt derzeit keine Implementierung einer intentionalen Programmiersprache. (de)
  • In computer programming, Intentional Programming is a programming paradigm developed by Charles Simonyi that encodes in software source code the precise intention which programmers (or users) have in mind when conceiving their work. By using the appropriate level of abstraction at which the programmer is thinking, creating and maintaining computer programs become easier. By separating the concerns for intentions and how they are being operated upon, the software becomes more modular and allows for more reusable software code. Intentional Programming was developed by former Microsoft chief architect Charles Simonyi, who led a team in Microsoft Research, which developed the paradigm and built an integrated development environment (IDE) called IP (for Intentional Programming) that demonstrated the paradigm. Microsoft decided not to productize the Intentional Programming paradigm, as in the early 2000s Microsoft was rolling out C# and .NET to counter Java adoption. Charles Simonyi decided, with approval of Microsoft, to take his idea out from Microsoft and commercialize it himself. He founded the company Intentional Software to pursue this. Microsoft licensed the Intentional Programming patents Simonyi had acquired while at Microsoft, but no source code, to Intentional Software. An overview of Intentional Programming as it was developed at Microsoft Research is given in Chapter 11 of the book Generative Programming: Methods, Tools, and Applications. (en)
  • En programmation informatique, la programmation par intention (PPI, en anglais intentional programming, IP) est un paradigme de programmation qui permet au code source du logiciel de refléter précisément l'intention du développeur lors de la conception. En respectant le niveau d'abstraction de la pensée du programmeur, la revue et la maintenance des programmes informatiques devient plus facile étant donné que le lecteur du code source n'a plus à comprendre l'implantation que le développeur a choisie pour savoir ce que le programme est censé faire. Le concept a été introduit par Charles Simonyi alors qu'il dirigeait une équipe chez Microsoft Research. Son groupe a développé un environnement de développement intégré nommé PPI qui démontre ce concept. Pour des raisons encore obscures, Microsoft a interrompu le développement sur PPI au début des années 2000. Une présentation de la programmation par intention est disponible dans le chapitre 11 du livre Generative Programming: Methods, Tools, and Applications, de Krzysztof Czarnecki et Ulrich Eisenecker. (fr)
  • インテンショナルプログラミング(英: intentional programming)は、プログラミングにおいて、ソースコードにインテンション(意図、意向)を可視化することで、その開発者がそのソースコードにどんな内容を記述したのかをわかりやすくするためのプログラミング手法。インテンションとは、プログラマが構想を練る際に頭の中に生じる概念をさす。プログラマの思考と抽象化のレベルをうまく一致させ、ソースコードの閲覧とプログラムの保守を容易にする。 インテンショナルプログラミングはマイクロソフトに長く勤めたチャールズ・シモニーが提唱した考え方である。彼はマイクロソフトリサーチで、この概念を実証する IP と名づけた統合開発環境の開発を指揮した。理由は不明だが、マイクロソフトはインテンショナルプログラミングに関する作業を止めさせたため、IP の開発は2000年代初期に中止された。 インテンショナルプログラミングに関するよい解説は「Generative Programming: Methods, Tools, and Applications」という本の11章にある。 (ja)
  • Programowanie intencyjne lub intencjonalne PI ( Intentional programming IP) – koncepcja programowania komputerowego stanowiąca próbę ułatwienia pisania i pielęgnowania programów komputerowych. Nazwa ta jest związana ze sposobem, w jaki systemy usiłują pojąć dodatkowe znaczenia – zamysły (intencje programistów) – niezależnie od tego jak kody źródłowe prezentują te zamysły. Robiąc tak system pozwala się programiście znacznie łatwiej śledzić rozwlekły kod. Termin wprowadził Charles Simonyi, wieloletni pracownik firmy Microsoft i kierownik zespołu badawczo-rozwojowego pracującego nad systemem znanym jako IP. W „normalnym” programowaniu operuje się pewną liczbą zbiorów tekstowych zwanych kodami źródłowymi. Kody źródłowe są przetwarzane przez programy takie jak kompilatory (lub interpretery), co można obrazowo opisać jako łączenie i przekształcenie wielu programów źródłowych do pewnej specyficznej postaci, która w wyniku innych koniecznych zmian tworzy w końcu wykonywalny program komputerowy. W sensie ogólnym kod (program) źródłowy zawiera w sobie zamiary (intencje) programisty, ale na bardzo niskim poziomie, głęboko ukryte. Przypuśćmy na przykład, że zamierzamy napisać program wypisujący liczby od 1 do 10. Przy użyciu syntaktyki języka Java program taki można napisać jak poniżej: for (int i = 1; i <= 10; ++i) { System.out.println("liczba " + i); } Powyższy kod zawiera jedną z najbardziej rozpowszechnionych w większości języków programowania konstrukcję – pętlę zamkniętą – reprezentowaną przez instrukcję for. Kod ten, po skompilowaniu, otrzymaniu następnie programu wykonywalnego i jego uruchomieniu wykona 10 iteracji, w każdej drukując aktualną wartość zmiennej i zwiększając wartość tej zmiennej o 1 za każdym razem. Tym niemniej kod ten nie w pełni obrazuje zamysł programisty – było nim proste „wydrukuj liczby od 1 do 10”. Jeśli ktoś będzie miał się zajmował tym kodem, to prawdopodobnie odtworzy tę prostą intencję, ale nie zawsze jest to tak oczywiste. W systemach PI powyższa pętla lub podobna do niej będzie skutkiem translacji powyższej intencji „wydrukuj liczby od 1 do 10”. Kluczową różnicę stanowi to, że tak wygenerowany kod będzie pozbawiony poziomu semantycznego, gdyż jest on domeną zarządzaną przez system PI, co pozwala, zwłaszcza dla wielkich (długich) programów drastycznie zwiększyć ich czytelność. Kluczem do zrozumienia PI (IP) jest koncepcja tożsamości (deklaracji lub typu) zmiennych. W powyższym kodzie mamy symbol „i”, który w tym przypadku jest licznikiem pętli. W wielkich programach symbol ten może być użyty wiele razy, i do tego do różnych celów. Rozważmy na przykład taki kod: String i = "Jestem Polką/Polakiem"; for (int i = 1; i <= 10; ++i) { System.out.println(i); } System.out.println(i); Jest on całkowicie poprawny, nawet jeśli wygląda dość ułomnie. Znaczenie symbolu „i” zmienia się – na górze i na dole wskazuje na znakowy (string) obiekt zawierający wartość „Jestem Polką/Polakiem”, a w pętli oznacza jak poprzednio wartość licznika typu integer. Tożsamość „i” zmienia się zgodnie z ogólną cechą większości języków programowania – definiowania tożsamości na podstawie tego, gdzie jest zawarty symbol, czyli jego zasięgu, jak też innych różnych reguł. W kodzie ciągnącym się przez wiele stron trudnym staje się określenie, który symbol odnosi się do jakiego obiektu. Jeśli podejmie się decyzje o zmianie nazwy jednego z nich, to należy starannie sprawdzić cały kod, aby stwierdzić gdzie jest on używany. W systemie PI (IP) oba powyższe symbole „i” będą reprezentowane przez oddzielne, prywatne identyfikatory. System PI będzie śledził każdy z nich, i potrafi w każdej chwili wskazać jaki obiekt odnosi się do jakiej definicji. Jeśli zostanie podjęta decyzja o przenazwaniu, np. dość nieszczęśliwej zmiennej znakowej, to system PI „wiedząc” o wszystkich użyciach tego identyfikatora, potrafi zmienić go we wszystkich tych miejscach na przykład na „mojeZnaki” bez problemów. Systemy PI oferują ponadto kilka poziomów szczegółowości, pozwalając programiście niejako włączać lub wyłączać powiększanie (zoom) w postrzeganiu kodu. W powyższym przykładzie programista może wejść na poziom, który „oznajmi” coś w rodzaju: <> <> Tak więc systemy PI w wielkim stopniu samodokumentują się, co pozwala programiście postrzegać program w postaci obrazu na wysokim poziomie uogólnienia. Faktycznie systemy IP zawierają bazę symboli i ich definicji, oraz operacji (manipulacji) nad nimi. System generuje z takiej bazy kod źródłowy, który jest następnie kompilowany jak zwykle, itd. Możliwe jest wygenerowanie dowolnego rodzaju źródła wymaganego przez użytkownika, o ile jest dostępny odpowiedni translator. Pod tym względem systemy PI stanowią rodzaj generatorów kodu. Microsoft nigdy nie utworzył takiego systemu, ale Simonyi po opuszczeniu Microsoftu założył własną firmę i kontynuował prace rozwojowe. (pl)
  • 在计算机编程中,意图(Intentional)编程,是查尔斯·西蒙尼开发的一种编程范式,在软件源代码中编码编程者(或用户)构思他们的工作时心中的精确“意图”。通过使用适当层次的抽象,编程者在其中思考、创建和维护计算机程序会变得更容易。通过分离对意图与具体操作的关切,软件变得更加模块化,并允许更加可重用的软件代码。 意图编程是前微软首席架构师查尔斯·西蒙尼开发的,他当时在微软研究院领导了一个团队,开发了这个范式,并建造了一个叫做IP(意图编程)的集成开发环境(IDE)来展示这个范式。微软决定不产品化意图编程范式,因为在2000年代早期,微软推出了C#和.NET来反击Java的广泛采用。查尔斯·西蒙尼决定在微软的批准之下,将他的想法带离微软自己商业化它。他建立了一个公司叫来追求这个目标。微软将西蒙尼在微软期间所获得的意图编程专利授权许可给了意图软件,但不包含源代码。 对在微软研究院期间开发的意图编程的概述可见于叫做《生成式编程:方法、工具和应用》的一本书的第11章。 (zh)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 2311014 (xsd:integer)
dbo:wikiPageLength
  • 13808 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1057041554 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • インテンショナルプログラミング(英: intentional programming)は、プログラミングにおいて、ソースコードにインテンション(意図、意向)を可視化することで、その開発者がそのソースコードにどんな内容を記述したのかをわかりやすくするためのプログラミング手法。インテンションとは、プログラマが構想を練る際に頭の中に生じる概念をさす。プログラマの思考と抽象化のレベルをうまく一致させ、ソースコードの閲覧とプログラムの保守を容易にする。 インテンショナルプログラミングはマイクロソフトに長く勤めたチャールズ・シモニーが提唱した考え方である。彼はマイクロソフトリサーチで、この概念を実証する IP と名づけた統合開発環境の開発を指揮した。理由は不明だが、マイクロソフトはインテンショナルプログラミングに関する作業を止めさせたため、IP の開発は2000年代初期に中止された。 インテンショナルプログラミングに関するよい解説は「Generative Programming: Methods, Tools, and Applications」という本の11章にある。 (ja)
  • 在计算机编程中,意图(Intentional)编程,是查尔斯·西蒙尼开发的一种编程范式,在软件源代码中编码编程者(或用户)构思他们的工作时心中的精确“意图”。通过使用适当层次的抽象,编程者在其中思考、创建和维护计算机程序会变得更容易。通过分离对意图与具体操作的关切,软件变得更加模块化,并允许更加可重用的软件代码。 意图编程是前微软首席架构师查尔斯·西蒙尼开发的,他当时在微软研究院领导了一个团队,开发了这个范式,并建造了一个叫做IP(意图编程)的集成开发环境(IDE)来展示这个范式。微软决定不产品化意图编程范式,因为在2000年代早期,微软推出了C#和.NET来反击Java的广泛采用。查尔斯·西蒙尼决定在微软的批准之下,将他的想法带离微软自己商业化它。他建立了一个公司叫来追求这个目标。微软将西蒙尼在微软期间所获得的意图编程专利授权许可给了意图软件,但不包含源代码。 对在微软研究院期间开发的意图编程的概述可见于叫做《生成式编程:方法、工具和应用》的一本书的第11章。 (zh)
  • Intentionale Programmierung ist ein Programmierparadigma. Sie bezeichnet den Ansatz, vom herkömmlichen Quelltext als alleinige Spezifikation eines Programms abzurücken, um die Intentionen des Programmierers durch eine Vielfalt von jeweils geeigneten Spezifikationsmöglichkeiten in besserer Weise auszudrücken. Die Intentionale Programmierung befindet sich noch in Entwicklung, basierend auf Ideen von Charles Simonyi. Es gibt derzeit keine Implementierung einer intentionalen Programmiersprache. (de)
  • In computer programming, Intentional Programming is a programming paradigm developed by Charles Simonyi that encodes in software source code the precise intention which programmers (or users) have in mind when conceiving their work. By using the appropriate level of abstraction at which the programmer is thinking, creating and maintaining computer programs become easier. By separating the concerns for intentions and how they are being operated upon, the software becomes more modular and allows for more reusable software code. (en)
  • En programmation informatique, la programmation par intention (PPI, en anglais intentional programming, IP) est un paradigme de programmation qui permet au code source du logiciel de refléter précisément l'intention du développeur lors de la conception. En respectant le niveau d'abstraction de la pensée du programmeur, la revue et la maintenance des programmes informatiques devient plus facile étant donné que le lecteur du code source n'a plus à comprendre l'implantation que le développeur a choisie pour savoir ce que le programme est censé faire. (fr)
  • Programowanie intencyjne lub intencjonalne PI ( Intentional programming IP) – koncepcja programowania komputerowego stanowiąca próbę ułatwienia pisania i pielęgnowania programów komputerowych. Nazwa ta jest związana ze sposobem, w jaki systemy usiłują pojąć dodatkowe znaczenia – zamysły (intencje programistów) – niezależnie od tego jak kody źródłowe prezentują te zamysły. Robiąc tak system pozwala się programiście znacznie łatwiej śledzić rozwlekły kod. Termin wprowadził Charles Simonyi, wieloletni pracownik firmy Microsoft i kierownik zespołu badawczo-rozwojowego pracującego nad systemem znanym jako IP. (pl)
rdfs:label
  • Intentionale Programmierung (de)
  • Intentional programming (en)
  • Programmation par intention (fr)
  • インテンショナルプログラミング (ja)
  • Programowanie intencyjne (pl)
  • 意图编程 (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:knownFor of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is dbp:knownFor of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License