Tuesday, April 28, 2015

ideas: "SmartWare" (Force.com is the next Visual Basic)

Dan Appleman is well known in Windows development community,
and is now mostly focused on (Sales)Force.com platform.
In his Pluraslight course he made a case that "higher abstraction level" of force.com
is equivalent to productivity of early Visual Basic (before VB.NET).

Force.com and Apex Fundamentals for Developers – Pluralsight Training
Dan Appleman: Kibitzing and Commentary » Blog Archive » Force.com is the next Visual Basic
The Salesforce Platform: The Return of the Citizen Programmer

At the same time, Microsoft has reduced focus on VB.NET,
and only under community pressure keeps it present in latest tools, such as ASP.NET 5

Visual Basic: Back by Popular Demand @ InfoQ

At the same time complexities of platforms keep increasing, and need to patch them.

C# Futures: Nullability Tracking

This calls a question, are there "next abstraction levels" on the horizon?
  • HardWare: in the electronics, mostly fixed
  • FirmWare: platforms, usually controlled by third-party, could include OS and frameworks
  • SoftWare: "classic" hand-crafted code, mix of GUI, algorithms, domain knowledge etc.
  • "AppWare": could be a transition to focused, task-oriented solutions
  • "APIWare": (micro) service interfaces, for distributed systems (that is all systems today)
  • "SmartWare": using more expressive but specific languages, that could be transformed to various platforms based on mapping semantic concepts, i.e. for NUI Agents etc.  
In a way, web development tools and languages are quickly but haphazardly evolving to elements of "transformations" out of necessity to support older web browsers. This is very low level compared to possibilities of expressing domain knowledge by higher-level abstractions. 

In "SmartWare" there should not be a strong distinction from language constructions and building blocks (APIs), to allow natural expansion, in a style of Lisp, but preferably with "fluent" syntax, like human languages. This kind of (r)evolution usually happens when there is a need that can't be addressed well with current techniques.  "Brute force" unfortunately goes long way in maintaining status quo... In the meantime, SalesForce's quick progress is helped by slightly "higher abstraction level" platform. 

No comments: