I’ve been around software for 20 years now. Looking back, I have mixed
feelings about the progress we’ve made. The end results have been amazing
but the process of building software hasn’t fundamentally changed since the
80s. In fact, I see us make some of the same mistakes over and over again.
One of the common anti-patterns is over-relying on tools and frameworks
instead of inventing new programming models.
Layers of abstraction are fundamental to software. Some layers are defined
through programming models, e.g., machine language, assembly language, 3GLs,
JSP. Others are defined through a combination of tools and frameworks, e.g.,
MFC and Visual Studio on top of C++. There is a limit to how high we can
raise a level of abstraction through tools and frameworks alone. At some
point, a new programming model is the best way forward.
Here are some examples: CASE tools ... (more)
In my last XML in Transit column (XML-J, Vol. 1, issue 5) I promised to
complete my trilogy on Simple Object Access Protocol (SOAP) by addressing the
aspects of the latest specification that we haven't covered yet:
intermediaries, error handling, and data encoding. Forgive me for deviating
slightly from that plan. After fielding several questions about large-scale
SOAP systems, I've gotten the impression that many people who've looked at
the SOAP specification are confused by the notion of intermediaries.
Therefore, I've decided to ignore data encoding for the time being and focu... (more)
There was a period around 1999-2000 when anything XML was hyped beyond
belief. An XML-centric GUI tool, no matter how narrow in focus, attracted
interest and, often enough, VC funding. The net result was a myriad of XML
tools - really XML gadgets - that tried to address a large number of
overlapping small problems. As a rule, all the GUI tools vied for the .xml
(or .dtd, .xsd, .xsl, etc.) file extensions and interoperated poorly with
Let's take a quick inventory of XML tools on my work computer: six XML
document editors, two schema editors, three XSLT stylesheet ... (more)
It's been a long time since the last XML in Transit column. Did you miss my
musing on Web services? I doubt it. More likely, you were busy keeping up
with all the new initiatives in the Web services space. Those of you with
corporate responsibilities were probably wondering how to get some real ROI
out of Web services. The more entrepreneurial of you were thinking how to
make money in this new world.
I too have been trying to organize my thoughts. This is going be the first in
a series of articles that go beyond the basic SOAP/WSDL/UDDI Web services
stack to cover the innovation ... (more)
In 1975 Niklaus Wirth, the Swiss computer scientist who created the Pascal
programming language, published a seminal book entitled Algorithms + Data
Structures = Programs. If Wirth had written about business applications,
Computing + Storage = Applications would have been a better title. Of course,
in 1975 there weren't that many business applications. Most of them ran
limited back-office functions on mainframes. PCs weren't on the map. The
killer app for PCs - the first spreadsheet - wouldn't be created until 1981.
More than a quarter of a century later, things have changed. Most... (more)