Subtext (programming language): Difference between revisions

Content deleted Content added
Added {{notability}}, {{self-published}} and {{third-party}} tags (within {{multiple issues}}) to article (TW)
GreenC bot (talk | contribs)
Rescued 1 archive link; reformat 1 link. Wayback Medic 2.5 per WP:USURPURL and JUDI batch #27ae
 
(7 intermediate revisions by 5 users not shown)
Line 5:
}}
[[File:Subtext vista.png|thumb|300px|'''Schematic tables.''' An alpha build of the Subtext environment, which illustrates the unique "polymorphic conditionals" present in the IDE.]]
'''Subtext''' is a moderately [[visual programming language]] and environment, for writing [[application software]]. It is an experimental, research attempt to develop a new [[programming language|programming]] model, called Example Centric Programming, by treating copied blocks as first class prototypes, for program structure. It uses live text, similar to what occurs in [[spreadsheet]]s as users update cells, for frequent feedback. It is intended to eventually be developed enough to become a practical language for daily use. It is planned to be open software; the license is not yet determined.
 
Subtext was created by Jonathan Edwards who submitted a paper on the language to [[OOPSLA]]. It was accepted as part of the 2005 conference.
Line 18:
 
==Coherence==
A continuation and subset of the Subtext language using other principles,<ref>{{usurped|1=[https://web.archive.org/web/20090430153310/http://coherence-lang.org/ Coherence home page]}}, states continuation of Subtext</ref> is '''Coherence''', an experimental programming language and environment, which uses a new model of change-driven computation called "Coherent reaction", to coordinate the effects and side-effects of programs interactively as they are being developed. The language is specialized for interactive application software, and is being designed by the creator of Subtext, Jonathan Edwards, who reports upon its development by publishing white papers.
 
{{cquote|Side effects are both the essence and bane of imperative programming. The programmer must carefully coordinate actions to manage their side effects upon each other. Such coordination is complex, error-prone, and fragile. Coherent reaction is a new model of change-driven computation that coordinates effects automatically. Automatically coordinating actions lets the programmer express what to do, not when to do it.||[http://dspace.mit.edu/handle/1721.1/45563 Coherent Reaction]|Jonathan Edwards, ''Coherent Reaction'', [[MIT CSAIL]]}}
Line 26:
 
==References==
*[http://subtextualwww.subtext-lang.org/OOPSLA04.pdf Example Centric Programming] Jonathan Edwards. In OOPSLA October ’04. Describing IDE improvements using advanced UI techniques to present the results of a program during development, instead of the programmer interpreting the program code mentally. Screenshots from a prototype IDE using [[Eclipse (software)|Eclipse]] illustrate the techniques with functional examples.
*[http://sdgwww.csailsubtext-lang.mit.edu/pubs/2005org/OOPSLA05.pdf Subtext: uncovering the simplicity of programming] Jonathan Edwards. In OOPSLA October ’05: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications.
*[http://www.subtextualsubtext-lang.org/OOPSLA06.pdf First Class Copy & Paste] Jonathan Edwards. MIT CSAIL draft paper in March 2006. Detailed description and illustrations of the various functional programming elements within the first Subtext environment, including data flow, assignments, "action" invocation, current and hypothetical data state, concurrent transactions and operation of a console agent.
*[http://coherencewww.subtext-lang.org/Onward09.pdf Coherent Reaction] Jonathan Edwards. In OOPSLA Onward '09. Documents the beginnings of an experimental programming language loosely based upon Subtext, which uses "Coherent reaction", a new model of change-driven computation to coordinate the effects and side-effects of programs automatically. [http://hdl.handle.net/1721.1/45563 (report)]
 
;Cited
Line 35:
 
==External links==
{{commons category|Subtext (programming language)}}
;Official
*[http://subtextual.org/ Subtextual.org], official website of Subtext.
*[http://coherence-lang.org/ Coherence], official website of Coherence.
*[http://alarmingdevelopment.org/ Alarming Development], Weblog for Subtext discussion and debate.
 
;Related
*[http://jamesshore.com/Blog/I-Want-Subtext.html James Shore: I Want Subtext], the benefits of Subtext and improvements to the schematic tables for [[Abstraction (computer science)|abstraction]].
*[http://lists.csail.mit.edu/mailman/listinfo/subtext/ Subtext Info Page], Email list with archives, means to subscribe/unsubscribe.
 
[[Category:Experimental programming languages]]