Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Jonathan Allen on Dec 13, 2011
Digital Mars, makers of the C++ alternative D, have decided to discontinue the original version of D. They had been maintaining D1 along with its successor D2 since 2007, but with the later now well established they feel it is no longer appropriate to dedicate resources to the older language past December 2012.
In the announcement Andrei Alexandrescu writes,
Phasing D1 away will not only clarify our vision, but also free up considerable time to concentrate on D's two largest issues: (1) quality of compiler implementation and (2) breadth of the standard library. These two matters prevent users from fully tapping into all of D's core assets. They affect expressiveness because code that's supposed to work doesn't or necessitates ugly workarounds; they affect modeling power because bugs prevent full creative uses of the language, and lacuna in the standard library limit the "bricks" to use when building; and they affect efficiency because, evidently, a quality compiler and a good standard library are essential ingredients in writing efficient code.
D is distinguished by being C-like systems language with a much higher concern for safety. In addition to “const”, it supports declarations such as “pure”, “safe”, and “immutable” and by default only allows immutable objects to be shared between threads. As with most modern languages it disallows the reading of uninitialized values, has support for closures, and uses garbage collection to reduce the likelihood of memory leaks.
Tools to unit test your JavaScript
Introduction to WebSphere Liberty Profile
The WebSphere Liberty Profile for Developers: An Introduction
Early Access! Download JBoss Developer Studio 5.0 now, with packages for Mac, Windows or Linux!
D2 (or simply D) is such a fantastic language. It's seriously one of the most underrated, underexposed and untapped development platforms out there. I would prefer to code in D over almost any other language -- more than Java, more than C# and certainly to god more than JavaScript.
Not only that, but D is a much nicer system level programming language than C++ for its simple and smart compiler. It's like having a clean natively compiled language that doesn't suck (seriously, try to find another one that doesn't suck). The only reasonable competition for D is Go, and Go doesn't support Windows very well (or at all, depending on how loosely we define "support").
D is phenomenal, and I hope that somehow Digital Mars and Andrei can find some way to make it relevant.
First orders of business:
* Unify or simply choose one of the "standard" libraries... the Phobos / Tango divide will kill the platform.
* Advertise and get some luminaries pushing this stuff the way that Ruby was pushed!
* Get a better website. I see this has already started. :-)
From the moment I read The D Programming Language, I wanted to use D. But it failed all of the long-term relevance tests... :-(
Here's to hoping for much success and luck to you all.
Clinton
I believe D2 support started with Fedora 16. LDC2 (a LLVM-based implementation of a D compiler) was included in.
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
3 comments
Watch Thread Reply