Usage, macros, developer documentation
Last changed: May 18 2005
The purpose of this page is to point to various interesting concepts of the computer science, especially those related to software engineering, user interface design & construction, and programming.
Development
To understand what Language Oriented Programming is, let’s
first take a look at today’s mainstream programming. It goes something
like this:
Think:You have a task to program, so you form a conceptual model in
your head about how to solve the problem.
Choose: You choose some general-purpose language (such as Java or
C++) for writing the solution.
Program: You write the solution by performing a difficult mapping
of your conceptual model into the programming language.
The Program step is the bottleneck because the mapping is not
easy or natural in most cases. This method has proved ineffective for
programmers to express complex programs. In contrast, here is how LOP
would work:
Think: You have a task to program, so you form a conceptual model
in your head about how to solve the problem.
Choose: You choose some specialized DSLs for writing the
solution.
Create: If there are no appropriate DSLs for your problem, then you
create ones that fit your problem.
Program: You write the solution by performing a relatively
straightforward mapping of your conceptual model into the DSLs.
Programming