This post originated from an RSS feed registered with Agile Buzz
by Martin Fowler.
Original Post: Bliki: gotoAarhus2012
Feed Title: Martin Fowler's Bliki
Feed URL: http://martinfowler.com/feed.atom
Feed Description: A cross between a blog and wiki of my partly-formed ideas on software development
The last couple of months have been heavy on the travel (towards
the end of it I calculated that I'd spent 40 out of the last 44 days
on the road) which is why my website has been quiet. Now I'm back
home again and can reflect on some of it - and the goto conference is
always full of things to reflect on.
The goto/infoQ conferences put a lot of emphasis on new
thinking on data before they became fashionable, so again there
was quite a bit of that this year. There were a couple of tracks
that focused heavily on NoSQL technologies, one gave a quick tour of
many leading NoSQL databases, another concentrated on their
applications.
Adrian Cockcroft
shared many lessons that Netflix has learned in building its
computer infrastructure.
The large scale usage of Cassandra by Netflix was particularly
interesting and I want to take a moment to show my appreciation for
the openness of Netflix in sharing their lessons and tools. Too
often our profession's progress has been held back by secrecy that's
born more out of vanity than any real competitive advantage. Netflix
is a delightful example of companies that are both pushing the boundaries and
sharing their tools as they go.
Indeed the new
data panorama was a theme in my travels beyond just goto. Many
of my colleagues are exploring the possibilities both in their
client work and in the spare time. It's the bit of computing that
I'm finding most compelling at the moment, with lots of
opportunities to explore new techniques and find new ways for
software to improve the work of its users. It also provides an
opportunity to push back against the sad tendency to see developers
as a passive recipient of requirements. Many of the opportunities
offerred by the new data world can only be seen by those closer to
the technology, so I'm hoping this could tilt us back towards
ConversationalStories.
Scott
Hanselman talked about cloud servers, the power of javascript,
and by implication the example of a more open Microsoft
Another theme that struck me was the growing centrality of
javascript. Scott Hanselman's keynote featured a showcase of
unlikely ways in which javascript, running in a browser, is doing
things that many people find surprising. And, of course,
there was Anders Hejlsberg's closing keynote, with another approach
to taming the monstrous complexities of javascript.
I like to tease colleagues who are delving into modern,
sophisticated languages like Clojure, F#, and Scala by claiming that
Javascript is the only language of the future. While it's fun to
pull peoples' chains, it's not a cheerful thought - I'm one of those
who despairs that a language with such deep flaws plays such an
important role in computation. Still the consequence of this is that
we must take javascript
seriously as a first-class language and concentrate on how to
limit the damage its flaws cause. There's a lot to like in
Microsoft's TypeScript approach, and it's something I can easily see
myself using over the next few months - where I'm hoping to get more
time to spend on work that will involve more javascript than any
sane person would like.
Anders
Hejlsberg's keynote was the second successive year where a keynote
at goto talked about an important technology to fix the flaws of
javascript
Javascript was one common theme to Scott and Anders's talks, but
there was another element that was every bit as important. Back in
2007 I wrote about how Microsoft had
struggled to co-exist with the open-source world. I later
learned that my little article had set off a small tempest, with
various Microsoft managers denouncing my criticism and labeling me
an irredeemable enemy. Such a reaction was discouraging but
fortunately other, stronger, forces were in play. Both Scott's
colleagues in the ASP.NET / Azure worlds and the TypeScript team
have a degree of openness which would seem shocking just a few years
ago. TypeScript is sitting on codeplex, and
implemented in itself so is as easy to run on Macs and open-source
unixen as it is on Windows. My sense is that Microsoft is very much
a factional organization, with many factions still deeply inimical
to the open-source world, but with such large factions now working
on coexistence with open-source, many developers with a long
standing distrust of the Evil Empire should be reconsidering where
to direct their suspicions.
Another speaker who talked about the browser-centered future was
Dan North, who gave a wildly entertaining performance to a packed
room on the evolution of browser applications. During this he
indicated how little he cared about the many developments of
graphics; while I mostly share his insouciance I will disagree over
one technology: SVG. SVG is more than a standard to get vector
graphics on the web, the more important impact of SVG is that it
creates vector shapes as elements in the DOM, where they can be
accessed by javascript and CSS. This I think is a profound shift.
You can see one consequence of this by perusing the d3 gallery, where
you can see how this rethinks the world of data visualization. At
the moment the web is still a world of static text and images, with
video present but essentially alien. SVG opens up a toolbox for
animation and interactivity which I'm thinking could imply a big
difference to how we use the browser for both application UIs and
publications.