Microsoft's 'Casablanca': Taking C++ to the cloud

Microsoft's 'Casablanca': Taking C++ to the cloud

Summary: Microsoft's DevLabs has delivered a new incubation -- a set of libraries for C++ developers interested in consuming and implementing RESTful services.


Microsoft's renewed love of all things C++ is continuing.

On April 30, the DevLabs (Developer Division Labs) rolled out a new set of libraries for C++ developers, codenamed "Casablanca." This set of libraries is designed to make it easier for C++ coders to consume and implement RESTful services, according to a blog post about the release from Microsoft Developer Division Corporate Vice President Soma Somasegar.

"Casablanca is a Microsoft incubation effort to support cloud-based client-server communication in native code using a modern asynchronous C++ API design," explained the DevLabs page.

Casablanca supports the access of REST services from native code on Vista, Windows 7 and the Windows 8 Consumer Preview by providing asynchronous C++ bindings to HTTP, JSON and URIs. There's a Visual Studio extension SDK to help devs write C++ HTTP client side code in Windows 8 Metro-Style apps, and promised support for writing native-code REST for Azure, with Visual Studio integration. (The VS11 Azure supportisn't there yet.)

Casablanca "builds on lessons from .NET, from Node.js, from Erlang, and from other influencers to create a modern model that is meant to be easy to program while still being scalable, composable, and flexible," Somasegar explained.

C#, Visual Basic and F# developers already have robust and scalable networking stacks. And Node.js developers can use the Windows Azure Software Development Kit (SDK) for building scalable network apps using JavaScript, Somasegar blogged. But C++ devs have lacked similar tools  that are optimized for consuming and implementing RESTful cloud services that take advantage of modern C++ features and practices.

Casablanca, like other DevLabs releases, is not guaranteed to become a shipping product or part of a shipping product. It is meant for experimentation and developer feedback.

"We would love to know whether you’re interested in using C++ to consume and implement cloud services, and if so, what kind of support you want in order to do so, whether “Casablanca” is on the right track, and how you’d like to see it evolve," said Somasegar, suggesting users share their two cents in the forums.

Microsoft launched DevLabs in 2008. It is one of the few Microsoft incubation labs that is still outwardly active.

Topics: Software Development, Microsoft


Mary Jo has covered the tech industry for 30 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • thanks, but no thanks!

    more closed and proprietary crap from M$.
    I'm sure there are better FOSS tools out there!
    The Linux Geek
    • Nobody cares what you think troll

      Stick to your iToys.
    • Are you playing a meta game?

      Trying to get the record for downvotes?


      F@#$%^ Old and Simple Software.

      If your needs are minimal, it's the solution for you ;-)
  • The author of c++...

    asked everyone to please stop using c++. He was very upset that all the additions had made c++ a horrible language, and he just wanted it to go away. He was right, of course, and the failure of c++ is what made Java so important.
    Tony Burzio
    • Just plain incorrect

      Remember Bjarne Stroustrup? He's the guy who created C++. Want to know what he actually thinks? Look at his wikipedia page; from there you'll find a link to his home page which has his C++11 FAQ. He's still heavily involved, thinks C++11 has some great additions...

      Sorry, Tony, you're just echoing someone else's misinformation.

    This looks like a promising library.
  • It's a good start

    C++ lacked the networking stack to make it useful on the server, and this addresses that failing.

    It's an important addition, but nowhere near the full featured stack of a node.js or .Net Framework.

    Still, it's a very good start!