Inventing the Future Programming Language

Business programmers need a better programming language. The languages we are currently using are surprisingly anemic. They were basically designed to shuffle small amounts of data from place to place. Our program statements are speaking to mechanized agents that are, charitably, only somewhat smarter than a simple calculator. A business programming notation should include fundamental business concepts as built-in capabilities. We need to raise the agent's level of intelligence. Fortunately, that is not too difficult once we set our mind to it.

Automating business processes means automating workflow. We need a notation that expresses the business process workflow directly and clearly. A business process involves collaborating communities of agents that share a common vocabulary, a common corporate memory, utilize shared resources, communicate via work-orders, carry-on conversations that last for years, and, last but not least, a business requires bookkeeping. All of these concepts can and should be built into the run-time. We can move the business programming focus from the data process to the business process. We should be working for the business, not the database. -- A programming language is a coordinated set of notations. Each notation speaks to a specific interpreter. Typically the interpreters share an organized set of objects - a kind of dictionary, whiteboard, scoreboard, and ontology that enables the interpreters' collaboration. An ideal notation can be quickly and correctly interpreted by both humans and machines. We demonstrate how natural language can be used to produce a set of notations that are both human readable and machine readable. These notations provide the means to program the "agency" - the community of agents that are collaborating to run the business.

Bio: Richard Green is a Software Architect specializing in enterprise scale business systems. He lives in Ann Arbor, Michigan, USA.