Welcome back to DLL after our summer break! To kick off the new season, Richard Green will be sharing with us Hum, a language and framework he’s designing to better solve problems faced by businesses. We hope to see you there.
Algebraic languages such as C, C++, Java, and Python were not designed for business programming. They were designed for computing. But business programming involves very little computation. Automating a business process involves coordinating the work of a set of collaborating actors. Messaging, records retention, monitoring, resource tracking and allocation are all side-effects. Those side effects can be eliminated from the problem space by delegating them to the runtime framework.
Business processes are triggered by human beings. That means that programming the human interface is still part of the problem space. Current user interfaces are mostly fill-in-the-blank forms. Interactions are rather tightly coupled to the sensors. This is effective but crude. How will we program receptionist robots and other human-machine interfaces in the future? Can we eliminate sensor artifacts from our dialog code?
Engineering is mainly about assembling known solutions into a cohesive whole. Richard will demonstrate one possible assembly and explain the requirements, experiences, and design decisions that led to this solution. For a software engineer, designing this kind of innovation is relatively straightforward. But the essence of innovation involves social engineering, not software engineering.
Richard Green is a retired software engineer. His prior roles include enterprise architect, business analyst, project manager, chief programmer, methodologist, and CASE developer. He currently programs in Smalltalk, Erlang, Java, and Python. Building the Hum programming framework is one of his hobbies.