The POCO C++ Libraries Blog

Archive: News

“Dynamic C++” Presentation Slides

Filed under: Events,News,Videos and Screencasts by alex at 08:33

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.

“Dynamic C++” presentation at Silicon Valley Code Camp

Filed under: Events,News by alex at 06:09

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:

  1. Execute a generic “SELECT * FROM Table”;
  2. Dynamically map returned data (row/column count and types) to C++ data structures at runtime;
  3. Format the result as [XML, JSON, HTML, your-favorite-data-format-here];
  4. 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 Available

Filed under: News by guenter at 08:50

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.

Intro to POCO Talk at ACCU USA, Wed Aug 8

Filed under: Events,News by guenter at 18:03

I will give a talk titled “An Introduction to The POCO C++ Libraries” on Wednesday, August 8, at the monthly ACCU USA meeting. It will be at the Symantec VCAFE Building, 350 Ellis Street in Mountain View, CA. Doors will be open at 6:30pm, the talk will start at 7:00pm. Attendance is open to all and free. See you there!

Join us at PocoDevCon Silicon Valley, August 31 in Sunnyvale!

Filed under: Events,News by guenter at 19:47


There will be an informal meeting of POCO users and contributors in the San Francisco Bay Area on Friday, August 31, 2:00-6:00pm. We will meet at Plug and Play Tech Center in Sunnyvale, CA (440 N. Wolfe Rd). There will be a few presentations by Alex and me, as well as plenty of time for socializing and discussions. We’ll provide drinks and snacks. If you’d like to present something yourself, please let me know (email guenter at or write a comment). I’ll post an agenda a few days before the event.
Please register at the event’s Eventbrite page if you’d like to join us. And yes, it’s free!

T-Shirts Available!

Filed under: News by guenter at 23:11

We now have T-Shirts available. Show your excellent taste in C++ class libraries and support the POCO developers by getting a T-shirt from our online shop.


PocoDevCon Silicon Valley

Filed under: News by guenter at 18:11

We (Alex and me) are planning a POCO developers meeting in the San Francisco Bay Area end of August. This will be a rather informal half-day event, giving the opportunity to meet us and fellow POCO users and contributors in the Bay Area.
We’ll do a few presentations, mainly about the current state and future of POCO. Also, there will be some presentation slots in case anyone wants to present something related to POCO (ideas, projects, etc.).
Before organizing a venue, I’d like to find out who’s interested in attending. I’ve set up a Doodle event with some possible dates: Friday, August 24, Saturday, August 25, Friday August 31 or Saturday, September 1. Please add yourself to the event if you’d like to attend. Looking forward to meeting you soon!


Update: since the weekend of August 31 is Labor Day Weekend, I’ve added options for the week before.

The Poco Way!

Filed under: News by guenter at 07:09

Napa Valley not only has great wines, but also great taste in C++ frameworks. They like Poco so much they named a road after it. Or so I’d like to think…


Found on Hwy 29, near Napa, CA.

Bad news for FOSS C++11 on Windows

Filed under: News by alex at 18:11

The Big Brother has spoken; thou shalt write Metro apps.

According to ars technica:

If you want to develop desktop applications—anything that runs at the command line or on the conventional Windows desktop that remains a fully supported, integral, essential part of Windows 8—you’ll have two options: stick with the current Visual C++ 2010 Express and Visual C# 2010 Express products, or pay about $400-500 for Visual Studio 11 Professional. A second version, Visual Studio 11 Express for Web, will be able to produce HTML and JavaScript websites, and nothing more.

This is not good for open source. I doubt Microsoft will ever put forth effort for full C++11 support in VS 2010. So, this essentially means that, if you want to compile not only traditional Win32 applications but also standard C++11 code on Windows, you’ll have to pay for the professional version of Visual Studio.


Photo illustration by Aurich Lawson

Photo illustration by Aurich Lawson

Update (June 9, 2012):

Apparently, Microsoft has changed it’s mind. Good.

POCO and C++ Standard

Filed under: News by alex at 21:03

Last week, I attended WG21 Study Group Meeting in Bellevue, WA kindly hosted by Microsoft, where SG1 (Concurrency and Parallelism) and SG4 (Networking) participants met to discuss the future direction and proposals for C++ standard. Study Groups are an attempt to augment the C++ standard library size to bring it on par with comparable libraries in other langues, most notably C# and Java.

C++ Standard Library Size

C++ Standard Library Size*

Yes, the small purple-ish rectangle on the right is the size of C++ standard library (click on the image to see it full size); we need more and C++ deserves more than that.

I presented Poco::Net to the SG4 and we discussed the proposals for the standard networking library. There were two other proposals presented/reviewed: asio as the networking/IO library and URI proposal from cpp-netlib. The consensus was that solid networking foundations should be built first – C++ standard needs networking types on which the standard network library can be built.

The result of the discussion was a tentative wish-list/agenda for proposals/implementations:

2012 – URI and IPv4/6 Address

2013 – HTTP and Resolvers (DNS, maybe more)

By this time, we’d hope to have fully defined async model (waiting on the SG1 discussion outcome). Something that is still uncertain to some extent is what exactly does std::async(std::launch::async) do – is it obligatory to  to launch an OS thread in the background or is the async behavior just “as if” the OS thread was launched, leaving room for other asynchronous back-end modes of operation.

2014 – sockets, async socket streams

2015 – ICMP, SSL

As things currently stand, we will be proposing portions of POCO for standardization. Günter and I will be working on a formal proposal for URI and IP Address, aiming to have it ready before the October meeting in Portland, OR. We will also soon start working on the Poco::Net based standard socket library proposal.

Also, before Portland meeting, we will comb through Foundation, start weeding out code addressed by C++11 and extract a subset that would make sense to be proposed for the next round of standardization. What exactly? Dynamic typing, caching, (de)compression, processes, various streams etc etc. This list does not even get into configuration, application, options, XML, JSON, database, … all of which are called for and sorely needed.

Our involvement in the standardization came from Herb Sutter’s call to C++ community (if impatient, scroll to 1:15 mark or just look at the picture below to get the idea) to get together and put forth an effort to create a standard C++ library comparable in size and utility to the one Java and C# have.

Portable C++ Library

Portable C++ Library*

As you can see from the above, the list is long, while time/manpower is short. A well-designed, standard-compliant and highly-portable framework community like POCO has a lot to offer to the C++ effort. As usual – I am asking for help. Participating in standardization process can be a rewarding experience, so if you have any inclination or desire to be part of the process, by all means let us know. More baggage we can drop-off to the standard implementation, more time and better foundation we’ll have to build new features on.

Do you want to help/participate in POCO proposals for C++ Standard? Let us know:

at(alex, dot(pocoproject, org));

* Pictures from Herb Sutter‘s “Going Native 2012” presentation

« Previous PageNext Page »