Monday, March 26, 2012
How's this for a renaissance? People are starting C++ user groups!
- The Jerusalem .NET/C++ User Group will cover both topics. They've had their first meeting already.
- The Central Ohio C++ User Group has also had its first meeting and will meet monthly.
- In Austin Texas they're calling it the C++ Meetup and the description sounds a lot like a user group
- The Belgian C++ User Group has its first meeting in April
It's so much fun to see this excitement springing up. There seem to be two popular topics for first meetings: either "What's new in C++ 11" or "Writing Windows 8 Apps". I think these two things arriving together - the huge language and library improvements (and the unexpected synergy of the language changes and the library changes) with the chance to write for Windows 8 in C++and XAML - is producing much more interest than there used to be.
And now the fun is spreading to Toronto! No, I'm not founding the group - I'm surely not the only C++ developer in Toronto after all. But I am honoured to be speaking at the first event on April 17th right downtown (pretty much Yonge and Bloor.) I'd love to dive deep into C++ AMP, or show how the Consumer Preview of Windows 8 is easier to code for, but I think I should begin at the beginning, so my talk is titled What happened in C++ 11 and why do I care? and has this abstract:
C++, both the language and the libraries that come with every compiler, is
defined by an ISO standard. The latest version of the standard, generally known
as C++ 11 after its approval last fall, was optimistically called C++0x
throughout the multi-year process that led to its adoption. Many of the language
changes (new keywords, new punctuation, new rules) and library changes
(genuinely smart pointers, threading, and more) have already been implemented by
vendors who were following the standards process closely.
In this session
Kate will introduce and demonstrate many of the highlights of C++11 including
lambdas, auto, shared_ptr, and unique_ptr. These are all supported in
Microsoft’s Visual Studio 2010. You can see how to make your code more readable
and expressive, easier to update, more correct (less bugs and memory leaks) and
faster, not by trading off among those possible constraints but by adopting
modern C++ which gives you improvements in all four areas at once. If you’ve
been ignoring the Standard Library, for example, you must see how lambdas make
all the difference and open a world of productivity to you.
A sneak peek of the next version of
Visual Studio will show you even more C++11 goodness.
If you've looked at my Pluralsight courses
, you'll know that my biggest challenge is going to be fitting this into an hour plus Q&A. This will be an overview, an overture if you like, and should whet your appetite for the meetings to come!
as soon as you can, please spread the word, and I hope to see you there!
Friday, March 23, 2012
My C++ precon, an all-day session about modern C++, has had a slight title change and is now called PRC08, C++ in Visual Studio 11: Modern, Readable, Safe, Fast. The content is still the same. My high level outline is:
- Modern C++ with the Standard Library (demo of strings, shared pointers)
- Application Lifecycle Management for Visual C++ 11
- Leveraging Lambdas for the PPL and C++ AMP
practices for C++ developers today
This is all day the Sunday before Tech Ed Orlando starts, June 10th. You don't have to be registered for Tech Ed to attend a pre-con. It's a great way to get caught back up on what's been happening with C++ over the last decade or so. It's really not the language you remember. I plan to show you what's fun and amazing about it. Forget all that pointer-to-pointer-to-pointer and manual memory management stuff you may remember, and get ready to see how C++ can be simple, fast, and genuinely useful in some surprising ways.
Thursday, March 22, 2012
A mentoring client of mine needs someone to take on a specific project that should be about 500 hours of work. That fits nicely into a summer, and the work would be suitable for a student or a junior programmer. Here's the job description we wrote up (the mentor is me by the way):
- Familiarity with one or more programming
languages and IDEs
- Careful attention to detail, especially for
visual design (form layouts and alignments, fonts etc)
- Willingness to learn a large and complex project
- Time management skills including estimating and
reporting effort and time for tasks and projects
Nice to have:
- .NET programming experience and familiarity with
- Experience developing a Windows Forms
- Background in software testing or user support
The job offers:
- Work onsite in Peterborough
- 40 hours a week as soon as the student’s
schedule will allow
- Important work improving a product that is
mission-critical to real customers
- Specific project to be tackled and completed;
more will likely follow if this one goes well
- Training on the tools to be used and the tasks to be done
- Regular access to a world expert mentor in
- Pleasant working environment with nice
coworkers, relaxed dress code, and an open office
It's worth mentioning that there is no C++ involved in this at all. So don't hold back if you don't have it, and don't rush to apply thinking it's a C++ job, because it's not. If you're interested, email me directly (please don't just comment here or tweet me or the like) and
I will pass along your resume and contact details. I may have another client
looking for someone soon as well, with similar requirements, so let me know if I can hang on to your info and pass it along twice.
Wednesday, March 14, 2012
People keep on releasing interviews with me. If you're willing to listen to them, I'm more than willing to keep on talking. There's remarkably little overlap in all of these.
On The Tablet Show
, Richard and Carl (yes, that
Richard and Carl) asked me about C++ in this wacky new world of Windows 8. We had the usual freewheeling conversation and covered a lot of ground in 49 minutes.
For PluralSight, Fritz
asked me questions about my latest course, and the industry in general. This one's just ten minutes, and there's a transcript if you'd rather read than listen.
Tuesday, March 13, 2012
In recent years the speed at which Tech Ed session recordings have appeared has increased dramatically. I can now sometimes watch a missed session while I am still at the conference, in time to seek out the speaker and ask questions if I want to. But one thing that hasn't changed is that the precons, the all-day sessions held the day before the conference starts, are not recorded. Whether you attend one or not, you can't watch afterwards.
This has two consequences. First, if you want to see what's been happening to C++ lately and why people who've ignored it for the last ten years are suddenly interested again, you have to register (Orlando, June 10th or Amsterdam, June 25th) and you have to come and listen to me live. Second, if you do that, you want to take plenty of notes because you won't be able to just watch the video again later if there was a part where you got caught up in something on Twitter and just weren't listening.
Here's what I'm going to do to reduce the note-taking burden for my attendees. (I can't speak for other precon presenters, but you're welcome to ask them.) I will put a number of useful bits and pieces for you to download, using credentials I'll give out on the day. These will include:
- The PPT decks I will use to present, with some
notes added to some slides
- Written demo scripts
for all demos with exact step-by-step instructions (occasionally, it might just
say “show the for loop and explain what it is doing”, but if there is code to
be added or edited, it is in the script, if there is an option to be set the
exact menu choices are in the script, etc.)
- Zip files of
starting points for all the demos and ending points too
During the precon itself, I will collect Live IDs from attendees who would like to be added as a user to a subsite on my “hosted TFS” preview page, which
I am using as a sandbox. This
makes it possible to play around with the new ALM features without having to get a site all set up. I am not sure
what will happen to this preview site by Tech Ed time, but I’m presuming
it will continue to exist all through 2012. That’s the site I intend to use
during the ALM (module 2) section of the precon.
I also intend to record each demo in advance – I typically record all my talks when I’m practicing for length and I have a pretty good mike that I use for my PluralSight courses. It's not much effort to edit them so that you can use them for a reference. I would have put this in the bulleted list but I don't want to 100% promise that I'll get them all nicely edited in time. I hope to provide them.
Specifically for module 4, Best
Practices, I am planning to write a short paper that makes the same points in prose
– sentences, code snippets etc – and if it's ready in time, I'll bring printouts of that paper
to the session (leave me a comment if you think that would be useful.) It will be on my web site eventually, but I am trying to push myself to get it written before Tech Ed so it can be at the precon.
Anything else you think would help to reduce the note-taking burden? It's a full day, and a lot of us are out of practice receiving information in pieces of that size. Let me know!
Monday, March 12, 2012
It's been a week-and-a-bit that the beta of Visual Studio 11 has been out. I'm using it more than Visual Studio 2010 at the moment - in both Windows 7 and Windows 8, and for C++ projects exclusively at the moment. (Say what you will about the C++ Renaissance, but the fraction of my consulting, writing, and coding that is C++ has taken a major uptick in the last 6 or so months.) I'm getting used to the look, and I'm certainly motivated to use more keyboard shortcuts
Herb has a nice blog post
that summarizes the C++ features in this release. You can read the details there, I'll just summarize briefly:
- Complete Standard Library for C++ 11. Especially the async and threads stuff. Standard!
- Some more language C++ 11 features. Range for is the big one here.
- C++ AMP. You know I care about this one!
- The continuation (.then) syntax of PPL, which makes WinRT asynchronicity much more readable.
- Windows 8 - both C++/CX and WinRL
And there will be more coming, sooner than "Visual Studio 12" whenever that might be. There will be out of band releases with more goodies as they get finished. If you care what gets done (and released) in what order, you can tell the team. I took the survey myself - I care about uniform initialization, defaulted constructors, and then some other bits and pieces at lower priority. Since they aren't just going to gather them all up and release them a few years from now, order matters. Share your opinion, and you're more likely to get what you want.
Sunday, March 11, 2012
Recently the Tech Ed people interviewed me for a profile that is now live. You can read it on their blog. We are all starting to work our way towards being ready for June. The content catalogs are partially public for both Tech Ed North America and Tech Ed Europe. If you search on C++, you'll find more than just my precon, by the way.
Who is giving those talks? Well I am doing the precons in both places - that's official. And I wrote the abstracts for the other two talks, so I'm pretty sure I'm giving those too. I would love to see you there. And if you have colleagues who are coming to Tech Ed who really don't "get" why C++ is different these days, please encourage them to join me for the all-day precon that answers precisely that question.
Saturday, March 10, 2012
I've been working on another C++ course for Pluralsight to complement the C++ WinRT/Windows 8/Metro course I did as well as the two-part C++ Fundamentals course (part 1, part 2). It's finished and live!
The topics I cover are:
- Avoid Manual Memory Management
- Use Lambdas
- Use Standard Containers
- Use Standard Algorithms
- Embrace Move Semantics
- Follow Style Rules
- Consider the PImpl Idiom
- Stop Writing C With Classes
I had a real blast writing this - while I was editing it I could hear my own enjoyment of parts of it. I hope you enjoy it too. A Pluralsight subscription is such a bargain - buy one for the topics you simply MUST learn for work, then use it on your own time to learn all those other things that you think you might benefit from. (I recommend Annual Plus - $500 gets you the sample code and offline viewing, all you can learn for a year.) Whether C++ is "must learn for work" or "I hear it's different know, wonder if it could help me" for you, I hope you find it helpful. Please let me know!
© Copyright 2021 Kate Gregory
Theme design by Bryan Bell
newtelligence dasBlog 2.3.9074.18820
| Page rendered at Monday, November 29, 2021 4:39:11 AM (Eastern Standard Time, UTC-05:00)
On this page....
Pluralsight Free Trial