Automatic programming: Difference between revisions

Content deleted Content added
Line 10:
Mildred Koss, an early [[UNIVAC]] programmer, explains: "Writing machine code involved several tedious steps—breaking down a process into discrete instructions, assigning specific memory locations to all the commands, and managing the I/O buffers. After following these steps to implement mathematical routines, a sub-routine library, and sorting programs, our task was to look at the larger programming process. We needed to understand how we might reuse tested code and have the machine help in programming. As we programmed, we examined the process and tried to think of ways to abstract these steps to incorporate them into higher-level language. This led to the development of interpreters, assemblers, compilers, and generators—programs designed to operate on or produce other programs, that is, ''automatic programming''."<ref>Chun, Wendy. "On Software, or the Persistence of Visual Knowledge." Grey Room 18. Boston: 2004, pg. 30.</ref>
 
== Generative programming ==
''Generative programming'' is a style of [[computer programming]] that uses automated [[source code]] creation through [[generic programming|generic]] [[Frame Technology (software engineering)|frames]], [[class (computer science)|classes]], [[Prototype-based programming|prototypes]], [[template processor|template]]s, [[aspect (computer science)|aspect]]s, and [[Code generation (compiler)|code generator]]s to improve [[programmer]] productivity.{{failed verification|date=December 2017}}<ref>James Wilcox, "[http://edgewatertech.wordpress.com/2011/03/11/paying-too-much-for-custom-application-implementation-code-generation/ Paying Too Much for Custom Application Development]", March 2011.</ref> It is often related to code-reuse topics such as [[component-based software engineering]] and [[Product Family Engineering|product family engineering]].
 
Line 43:
* [[Semantic translation]]
* [[Vocabulary-based transformation]]
 
 
==See also==
* [[Fourth-generation programming language]]
* [[Low-code development platforms]]
 
==Notes==