Merry Christmas and a Happy New Year 2014!
Meet me at Embedded Software Engineering Kongress in Sindelfingen, Germany, from December 3-5 in the exhibition area and if you’re there, don’t miss my talk “Sichere Fernwartung über das Internet” (secure internet-based remote access and management) on Thursday, December 5. Looking forward to meeting you there!
On Thursday, May 16 2013, there will be two POCO-related presentations at the
C++ Now conference in Aspen, Colorado:
This is an “upgrade” of the Silicon Valley Code Camp 2012 presentation, adding SQLite event callbacks in conjunction with WebSocket, resulting in a seamless “push” of data from database straight to an HTML5 web page.
Code is in GitHub repository, stay tuned for slides and videos …
Slides are available on SlideShare
Data from external sources comes in diverse types and brings along the need for datatype conversion. How can a C++ programmer accurately and efficiently transfer data from relational or XML database to JSON or HTML without stumbling over the C++ type checking mechanism? The answer is by using type erasure techniques; session will enumerate, explore and compare the most popular C++ type erasure solutions.
Given the above problem as well as both historical (ANSI C union and void*, MS COM Variant, boost::[variant, any, lexical_cast]) and recent (boost::type_erasure, Facebook folly::dynamic) development trends (including pending boost::any C++ standard proposal), it is obvious that there is a need for a way around the static nature of C++ language. There is also more than one solution to this problem; session will explore the internals of boost::[variant, any, type_erasure], folly::dynamic and Poco::Dynamic. Design, capabilities as well as pros and cons of each solution will be examined. Performance benchmark comparisons will be reviewed as well.
Type safety is an important feature of C++; type erasure is a necessary technique for modern software development. Session examines and compares existing solutions to these important concerns.
Stop by if you happen to be in the area or attending the conference.
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.
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:
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.
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!