Ted Neward recently posted a response to a talk by Biily Hollis, and asked “Where is this decade’s Access”. I think it is a great question, if only because I asked Scott Guthrie practically the same thing the other week.
Like many of the people Ted refers to, I started my professional career in FoxPro (I always find it amusing that productivity aspects of that tool, such as manipulating data as part of your 3GL, has only made it into the mainstream with LINQ To SQL, many years later). FoxPro had a passionate following, indeed I have heard it suggested that much of what we consider developer community today, was started by the FoxPro user base. For a whole class of scenarios, particularly a small workgroup of about a dozen users, FoxPro made it very quick to rapidly code and deploy applications. Even Visual Basic and Access, those other poster children of the ‘long tail’ (as Ted puts it) developer market, did not have the capabilities that came with FoxPro for many years. FoxPro was ideal for applications that were essentially CRUD based. FoxPro was one of the XBase family of programming languages, a basic derived dynamic language but with a heavy slant to data retrieval and manipulation. When I used it, there was no RDMS attached, but the flat file DBF data format. In many cases that was ideal our customers could not support the RDBMS solutions available at the time, and utlizing a file server was the easiest way to a networked database. Fox was an ideal tool for the time, when PC applications targetted less than a dozen users working on a LAN.
I have to agree with Ted’s assertion that today, professional development tools, targetted at RAD application of solutions for small businesses do not seem to engender the same passion and commitment that FoxPro once did. Nor do they seem to offer the same productivity. And that may be a gap, because there is probably still a market for applications that target a dozen people in a workgroup.
Now before anyone worries I’m not about to have some damscence conversion to point-and-click development. When I used it FoxPro was certainly not a point-and click too anyway. But there is still a place for a toolset that makes it easy to knock up CRUD based sites. In a previous post I talked about DDD’s idea of strategic design, dividing up into generic domain, supporting sub-domain, and core domain. RAD tools are often ideal in the supporting sub-domain development (by duct tape programmers).
A lot of the Ruby enthusiasts I meet seem to love Rails for exactly the same reason I loved FoxPro. The ability to knock out usable applications quickly and with little fuss, yet still produce something professional. Rails works ‘out-of-the-box’ to deliver CMS like systems to a wide range of customers. No one is suggesting the Rails crowd is dumbed-down, but their tools do embrace simplicity. 37 Signals embraced the principle of keep it stupid, simple, for Rails to enable folks to build just this kind of applicaiton easily with configuration and outright reject attempts to add complexity.
So when Ted talks about simplicity he is chanelling the spirit of the Rails crew with their focus on keeping it stupid and simple.
The question is whether there is the commitment to take this combination forward or not from MS.