Language-Oriented Programming

  • Pickering R
  • Eason K
N/ACitations
Citations of this article
136Readers
Mendeley users who have this article in their library.
Get full text

Abstract

This paper describes the concept of language-oriented programming, which is a novel way of organising the development of a large software system, leading to a different structure for the finished product. The approach starts by developing a formally specified, domain-oriented, very high-level language which is designed to be well-suited to developing ''this kind of program''. The development process then splits into two independent stages: (1) Implement the system using this ''middle level'' language. (2) Implement a compiler, translator or interpreter for the language, using existing technology. The approach is claimed to have advantages for domain analysis, rapid prototyping, maintenance, portability, user-enhanceable systems, and reuse of development work, while also providing high development productivity. We give an example where the method has been used very successfully (in conjunction with rapid prototyping) in the development of a large software system: a reverse engineering tool. A major benefit of this approach to software development, as compared to the usual sequential waterfall model is the speed with which products can be brought to market. This is due to concurrent engineering: the effective overlap of development stages. Finally, the middle-out development style is compared and contrasted with the more usual top-down, bottom-up and outside-in development methods.

Cite

CITATION STYLE

APA

Pickering, R., & Eason, K. (2016). Language-Oriented Programming. In Beginning F# 4.0 (pp. 241–264). Apress. https://doi.org/10.1007/978-1-4842-1374-2_11

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free