The POCO C++ Libraries Blog


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 Training & Consulting in the USA

Filed under: Uncategorized by guenter at 09:31

As posted earlier, I will spend this summer in Silicon Valley from beginning of July to end of September. This is a great opportunity if anyone is interested in a POCO training, as I can offer these with significantly reduced travel expenses. I’m also available for occasional consulting services during that period. Please contact us if interested.

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

POCO Sponsorship

Filed under: News by alex at 19:07

Recently, we’ve received inquiries about sponsoring the POCO project. Aside from corporate (Gold, Silver, Bronze) type sponsorships which come with commercial-grade support, small individual contributions are very welcome and encouraged. Please look for the PayPal link at the bottom of the Sponsorship page or contribute directly from here:

Thanks to all who have contributed so far and will do so in the future!

POCO is on the Move

Filed under: News by alex at 03:15

After many months of absence and low-level involvement with the project (for personal and professional reasons), I am back. We also have commitment from two other community members (Marian Krivos and Franky Braem) to help significantly with the project. For starters, Marian has retired old and I have just committed brand new trunk code. For the time being, it was only built on Windows, but we’ll have other builds ready within the next week or two.

Most significant new features are:

  • DynamicAny (now known as Poco::Dynamic::Var, although Poco::DynamicAny will still work) improvements
  • Poco::Data improvements (DateTime support, bulk operations, SessionPool, Transaction support, async SQL execution, in-memory SQLite … warning, though – we broke old Poco::Data code!)
  • Poco::PDF library
  • Poco::JSON library and Poco::Util::JSONConfiguration (not in the trunk yet, will be soon)
  • VS project generator
  • PocoDoc generator

And many more other improvements. This code is base for 1.5 release, which we are targeting for mid-September Aug 27 July 4 30 (to steal the fireworks thunder ;-) ). At the same time, we are actively working with C++ Standards Committee on the proposal for inclusion of POCO into the C++ standard. Yes, async I/O is on our TODO list. I won’t promise it for 1.5, though, unless I get a committed contributor willing to write it.

Which brings me to the “last but not least”: we need contributors (library or build/test system owners/maintainers in particular) and sponsors. If you are benefiting from POCO, please consider helping in any way you can. This can be by contributing code, owning a library or other concern (build system, tests, samples, platform, OS installation packages …), providing CI server space, sponsoring, etc.

Let’s join forces and give POCO the boost (no pun intended) it deserves.

EDIT (Oct 15 2012): little bit more than 3 months late, we have POCO 1.5.0. Thanks to everyone who helped with this release.

« Previous PageNext Page »