Cool Code
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Hartmut Wilms on Sep 11, 2008
As the Professional Developers Conference (PDC) 2008 draws near, Douglas Purdy, Don Box and others are dropping some information about Microsoft Oslo.
Until recently Oslo has been one of the best kept secrets by Microsoft. There have been many rumors about Oslo being Microsoft’s future SOA strategy, distributed application server or Microsoft’s next unified SOA product portfolio. Finally, Douglas Purdy, Product Unit Manager for Oslo, announces, that he will be talking about Oslo and its technology at the PDC. In his announcement he states that “Oslo is just the modeling platform”:
To that end, we have boiled down Oslo to three very simple things:
- A tool that helps people define and interact with models in a rich and visual manner
- A language that helps people create and use textual domain-specific languages and data models
- A relational repository that makes models available to both tools and platform components
That is it. That is all Oslo is.
Although the scope of Oslo seemingly does not live up to expectations, Douglas adds that “the impact of this platform on software development and management will be transformational” and that for him “Oslo is the first step in my vision ‘to make everyone a programmer (even if they don’t know it)’” .
Don Box joins in and explains the goal of Oslo as “to make it possible to build real apps purely out of data”:
We’re building “Oslo” to simplify the process of developing, deploying, and managing software. Our goal is to reduce the gap between the intention of the developer and the actual artifacts that get deployed and executed. The approach we’re taking is to move more of the definition of an application into the world of data, where we (and you) can more easily make queries as to the developer’s original intent.
According to Don all data, which define services, applications and processes, will be available both at development and runtime . Oslo will provide several schemas for target platform components that are ‘instantiated’ by these data. Data will be stored in a relational database by default, but Oslo is not limited to the relational model. Actually Oslo’s modeling language is built against an abstract data model.
In his article on eWeek Darryl Taft interviews Don Box, Steven Lucco and Brad Lovering, Oslo’s technical lead, who explains Oslos emphasis on a data-driven approach and delves into the details of the role of the D (modeling) language in the Oslo effort. Read the details in the eWeek article.
In the dawn of Oslo there might be some uncertainties regarding the future of core components of .NET Framework. Nicholas Allen eases concerns on possibly diminishing support for WCF and WF as these will remain the foundation of Microsoft’s distributed computing platform. In his post on Oslo he says:
What Oslo doesn't change is what your services can actually do. There's nothing forcing you to start modeling your applications to make use of features in the Microsoft frameworks. Modeling is a tool that is supposed to enhance the productivity of developers and IT professionals rather than be the single way to do things.
The first bits of Oslo will be released as a community technology preview (CTP) at the PDC in October 2008.
... they're making Access all over again
I think Lovering's comparison with Access and Excel is misleading, as he admits himself. The textual DSL approach, and the LISP and ML approach to application development, which have influenced the language D, hint at something that goes beyond "clicky" RAD-Tools ...
A language that helps people create and use textual domain-specific languages and data models
sounds rather as something like Jetbrains MPS.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.
3 comments
Watch Thread Reply