The C++ Libraries and Tools from Applied Informatics are based on the POCO C++ Libraries and add additional features such as Remoting for RPC/IPC and SOAP/WSDL web services, Open Service Platform for building modular, extensible applications, DNSSD/Zeroconf, Universal Plug and Play, Fast Infoset processing or secure remote access to smart devices. New in release 2012.1 is support for C++ code generation from XML Schema and WSDL documents, allowing Remoting to invoke SOAP 1.1/1.2 web services created using other middleware technologies such as Java JAX-WS or Microsoft .NET WCF. In addition to SOAP 1.1 and 1.2, the new Remoting also supports MTOM, HTTP Basic and Digest authentication and HTTP compression (gzip content encoding), as well as remote events with the new TCP transport.
A free evaluation version is available for download.
This release brings support for Visual Studio 2012, as well as some bugfixes and enhancements. See the CHANGELOG for the details. Available on the download page.
We’ve been asked and nudged for a long time to make the move; like everything else, it was something that requires resources of time and effort so it did not happen as fast as it should have. But finally, we’ve made it over to GitHub and now we can enjoy the benefits. Branching and merging is simple and intuitive, forking is readily available; we already have
(* edited on Jan 13 2013)
632* “forkers” and 27100* “stargazers“.
I like the code-centered paradigm of GitHub – everything (as it should) revolves around and is linked with code. My favorite feature is the “network graph” (depicted below) showing who forked and what changes were synced. We have a proto-wiki with roadmap and supported platforms.
So, if you have not done it yet, what the fork are you waiting for? Stop by, hang around and – fork it!
The POCO Network Graph
The POCO C++ Libraries source code is now on GitHub. The old Subversion repository on SourceForge will no longer be maintained.
Friday, November 2, 2012 12:45pm (U.S. Pacific Time)
This talk will give an update on recent progress and near-future directions for C++, both at Microsoft and across the industry, with some announcements of interest in both areas. The speaker is the lead language architect of Visual C++ and chair of the ISO C++ committee.
UPDATE (Nov 4 2012): It turns out 1.5 release was just in time for the front page.
After talk interview
It’s official! C++ now has it’s own “Marketing Department” and a reliable place to go learn about the language, where is it going and what’s happening around it.
According to isoccp.org About page, goals are:
1) To promote dissemination of correct and up-to-date information about modern C++.
2) To promote greater availability of high-quality C++ libraries, including both standard libraries (by reducing barriers to submitting and adopting libraries in Standard C++ itself) and community libraries (by having an organized, and ideally tool-supported, way for C++ developers to discover and use libraries).
To stay in tune with your favorite language, make sure to bookmark the above web site and visit often.
Development Release 1.5.0 is available. Major new features include a significantly improved Data framework, the new JSON library, and lots of other improvements. Please note that this is a development release and not considered stable. Interfaces may change, backwards compatibility may be broken, not all platforms may work and there may be some rough edges. See the CHANGELOG or download here.
The Code Camp 2012 “Dynamic C++” presentation went really well. There was 40+ attendees and lots of participation, discussion, interesting questions and suggestions. Slides are here.
Thanks a lot to everyone who attended and helped with this event.
EDIT: Code from the presentation is also available now.
I will speak at the Silicon Valley Code Camp (Oct 6-7 @ Foothill College in Los Altos, CA).
The title of the speech is “Dynamic C++”; here is the description:
The C++ static type system is beneficial in many ways; it can, however, also be a straitjacket. Is there a rationale for dynamic type layer on top of a statically typed language like C++? Given both historical (ANSI C union and void*, Microsoft COM Variant, boost::[variant, any, lexical_cast]) and recent (boost::type_erasure, Facebook folly::dynamic) development trends, the answer is a resounding “yes”.
This presentation is based on Poco::Dynamic::Var (aka Poco::DynamicAny) – a dynamic-typing set of C++ classes; furthermore, it will show the simplicity and practical advantages of mapping ad-hoc generated data sets of unknown type, size, and structure to C++ data structures. Specifically, the presentation demonstrates how to:
- Execute a generic “SELECT * FROM Table”;
- Dynamically map returned data (row/column count and types) to C++ data structures at runtime;
- Format the result as [XML, JSON, HTML, your-favorite-data-format-here];
- Stream the resulting formatted string to std::ostream compliant HTTP socket stream.
Surely, this must be very complicated to do in C++, right? Not at all – we’ll demonstrate all of the above done with a single line of code and then peek under the hood to see where/how does the magic happen. Portable? Of course. Scalable? You bet – it’s C++! The content of this presentation fits perfectly into modern AJAXian trends and we’ll prove it with an ExtJS example; it prompts re-thinking of the rationale for (a) employing dynamic languages on the server side or (b) polluting HTML with server-side code.
If you are in the neighborhood or interested enough to travel, register online (it’s free) and stop by for some good time and interesting presentations/discussions. Also, if interested in my speech, indicate it on the Code Camp website so I can gauge what audience size to expect. See you there!
Release 1.4.4 of the POCO C++ Libraries is now available. This is mostly a bugfix release, but we also managed to squeeze in a few new classes like Poco::DirectoryWatcher, Poco::ObjectPool and Poco::Crypto::DigestEngine, as well as various improvements. As always, the CHANGELOG has all the details. Upgrading is recommended for all users of previous releases.