Andrei Alexandrescu
Graduate student, University of Washington, Computer Science and Engineering

Andrei's research is in NLP.

In the programming community, Andrei is best known for his two books, C++ Coding Standards (coathored with Herb Sutter) and Modern C++ Design. Also, Andrei is a former columnist for C/C++ Users Journal, a former columnist for the C++ Report, and a sought-after speaker at conferences worldwide.

Andrei's less-known past includes stints as a rock band drummer, a classical guitar player, a paratrooper in the Romanian military, and a consultant on Wall Street. As of now, outside attending grad school, Andrei keeps many and varied interests, but given that he doesn't have any free time, discussing them is a moot point.

If you are thinking of buying either C++ Coding Standards or Modern C++ Design, clicking on the links on this page will take you to Amazon Associates links that automatically give Andrei some percentage of the sales (there's no extra cost to you).

But before shopping from Amazon, do some comparison shopping (by clicking on the two following links) for C++ Coding Standards and Modern C++ Design—you might find suprisingly good deals.


News (newest news first. Updated ):

October 30th, 2006: Andrei will give a 15-minutes talk during University of Washington's Industrial Affiliates Meeting.


June 26th, 2006: Andrei is proud to use and mirror the Zero debugger for Linux. The Zero debugger is an amazing feat of software engineering even if you forgot it's actually the creation of a sole programmer—Cristi Vlasceanu (who also came up with the name Loki for the now well-known library. It's the perfect debugger. If you use C++ on Linux, Zero will make you very, very happy. Download the first release of Zero to ever hit the Net!


May 17, 2006: Andrei talked for the Northwest C++ Users Group.


March 22, 2006: Loki enters top 100 most active projects on Sourceforge, mainly due to the great work of a burgeoning community led by Peter Kümmel and Richard Sposato.


March 21, 2006: Amazon's top 20 has never seen a nastier nose! Andrei's mugshot makes it in top 20 customer images on Amazon. Needless to say, you're kindly encouraged to keep that nose there with your vote.


January 27, 2006: In only two weeks, AdSense has brought a whopping $5.17. That rendered Andrei so ecstatic, he wrote Secure Copy Improved (scpi) , basically scp able to resume broken transfers. In addition to its resume ability, scpi features advanced compression and the ability to transfer files from multiple sources in a shot. Enjoy!


January 13, 2006: It's Friday the 13th! What a good time to start playing with AdSense: . Heck, what wouldn't a grad student do for a few cents more? Please let Andrei know if you find them annoying.


July 19, 2005: Loki is growing: Peter Kümmel branches off the release entitled "loki-book-1st-edition-version" in Loki's home on Sourceforge. This is in order to provide a reference implementation for Modern C++ Design, as well as allow Loki to grow beyond the confines of its book. Peter has many exciting ideas to improve Loki, stay tuned for more or even login to Sourceforge and let us know if you'd like to participate to the Loki library.


July 14, 2005: Andrei's site gets a new name! (Brownie points if you figure out where "erdani" comes from.)


June 21, 2005: Loki, the famous library introduced by Modern C++ Design, is now part of the Debian OS distribution. Click here for an overview, and here for details of the package. Thanks Martin F. Krafft for pushing this through!


May 11, 2005: An inexpensive English (in addition to Traditional Chinese) edition of C++ Coding Standards will be published in People's Republic of China.


March 28, 2005: Let's try those French skills... Le livre «C++ Coding Standards» sera traduit en français par Pearson Education France.


March 16, 2005: C++ Coding Standards wins the Jolt Productivity Award. (Note that that's not the "big" one, the Jolt Award, which was won by Better, Lighter, Faster Java. Congrats to Bruce A. Tate and Justin Gehtland, as well as to all other finalists.)


March 7, 2005: IEEE Computing reviews publishes a review of C++ Coding Standards by Martin Schweitzer. This is a members-only site, so let's only reproduce a few words that convey the feel of the entire review:

"I am pleased to say that this book has almost made the need for a company to have its own coding standard obsolete. The book gathers together 101 best practices, and presents them in a form that makes them easy to implement as a coding standard. Of course, if the book was just a coding standard, it would not be as useful as it is. The work is a lot more than a set of standards or guidelines..."

February 12th, 2005: Announcement: thanks to the geniuses who designed either Windows Firewall's persistent storage, Windows Update, or both, this site was down for "maintenance" for more than a week. (Notice the grammatical malice.)


February 9th, 2005: publishes a glowing review of C++ Coding Standards.


December 13th, 2004: C++ Coding Standards is already to be translated in Japanese and Korean. Konnichiwa! An-nyung-ha-se-yo?


October 29th: Order now! Andrei's second book, C++ Coding Standards, written with his long time friend Herb Sutter, has hit the shelves. Amazon has it for 40% off. (The first printing sold like hot cake in less than a month; 2nd printing is coming in a matter of days, so you may want to preorder.)


September 10: Andrei initiates and coauthors what is likely to be a long saga: an effort for standardizing support for multithreaded execution in C++.


June 16: An inexpensive edition of Modern C++ Design is to be published in India.


April 16-17: Andrei's talk on multithreading (one of his two talks at the ACCU conference Spring 2004) drew the record attendance of 138 people, number surpassed only by keynotes. It didn't help that the air conditioning wasn't working. Nobody fainted though.


March 18-19: Andrei gave four (yes, that's four!) talks at Software Development Conference and Expo West 2004, namely: Exception-Safe Code Made Easy, Write Less Code and More Software, C++ Multithreading Made Complicated, Part 1: Techniques and Idioms for Thread-safe Objects, and (somewhat predictably) C++ Multithreading Made Complicated, Part 2: Single-Object and Multi-Object Transactions.


March 1: Looks like Modern C++ Design's Czech translation is underway. That would be the eighth language in which the book is translated. Ah, almost forgot about the Polish translation which is now complete. If you want to see Modern C++ Design translated in your language, you may want to lobby a publisher specialized in that language by simply writing them.


November 10: Together with Scott Meyers and Herb Sutter, Andrei participated to The Future of C++ panel at the Overlake Hospital Conference Center in Bellevue, WA. It was a loot!


October 17: Andrei undeservedly makes it into the Wikipedia, perhaps introduced by a kind anonymous friend. It is perhaps the only place ever where Andrei is being mentioned in the same place as Turing, Knuth, or Buffett :o). Thank you!


September 16: Sprechen Sie Deutsch? Modern C++ Design gets translated in Kant's language!


September 17-18: Andrei gave two talks at Software Development Best Practices, Boston, MA.


September 11: Man, it feels good to be a gangstah... the song says, but it feels even better to be a Romanian. Cultural affinity? High skill? Good education? Um, we can do that :o).


September 11: Proud Edison's followers at MailPort25 Inc. are on their way to patent email whitelists. It's as simple as collecting known addresses onto a list, asking for a "are you a human being" confirmation, and storing unconfirmed messages in a purgatory in the meantime. Now the problem is that Andrei was implementing the same idea underway (idea that, let's face it, is as obvious as it gets) for his own little email system, without worrying that it would occur to some genius to patent it along with the kitchen sink. But how can you mess with Uncle Sam, who MailPort25 claims to have on their side (quote: "Any reproduction or duplication of this process without the expressed written consent of MailPort25, Inc. is strictly forbidden and violators will be subject to punishment pursuant the governing laws of the United States of America"). Best proof that the idea is not as unique as a lawyer would like to make you believe, the folks at Email101 claim that the technology is "unique" to them. Nicely enough, they don't try to rub shoulders with Uncle Sam at the same time. Research goes on. Were typelists patented yet?

September 5: Enable Software offers commercial support for the popular Loki library authored by Andrei and contributed to by many enthusiasts.


March 24-28: Andrei gave one talk at Software Development 2003 West 2003, Santa Clara, CA, USA.


November 21, 2002: Andrei faced two red-eye flights in 48 hours to give (for free!) two invited talks at SD East, all that without missing a beat on teaching and research. But, make sure you turn that red-eye reduction feature on, should you take his mug shot. The talks are: Discriminated Unions: Concept, Uses, and a C++ Implementation and Single-Object and Multi-Object Multithreaded Transactions in C++. They are quite cool, especially the latter one, which always elicits vivid participation from attendees. Must be because anybody who's done threads and has the scars to prove it develops a sort of co-dependent relationship with the subject.


November 8: "I can't believe it's MSVC 6!" Benjamin Kaufmann wrote the most complete port of Loki to Microsoft Visual C++ 6 (Service Pack 5). If you've ever thought of doing something similar, you'd know just what a great job Benjamin did.


November 4: Andrei gets to OOPSLA through the backdoor :o}. He replaced Detlef Vollmann (who needed to cancel his trip) in presenting the tutorial Aspect-Oriented Programming in C++. In a press statement, Andrei denied any involvement with Vollmann's trip cancellation.


October 29: CodeCraft features "Efficient Generic Sorting and Searching in C++ (I): In Search of a Better Search". You may want to mosey around CodeCraft, it has good content (you bet!)


October 15: Modern C++ Design goes Russian!


July 18, 2002: Modern C++ Design's translation in Romanian hits the shelves! Title: Programarea moderna in C++, Teora publishing house, 2002.


May 31, 2002: Andrei doesn't enjoy giving interviews, but he couldn't pass an opportunity to rant about why writing is worth it, and to dispense advice to anyone who wouldn't mind listening. Or reading. See his online interview with InformIT.


May 24, 2002: The long-awaited online errata list for Modern C++ Design is now online.


May 15, 2002: Sensational! Rani Sharoni ports Loki to VC7 in its entirety!


April 6, 2002: With overwhelming majority, the participants at the Association of C and C++ Users Conference 2002 in England, vote Modern C++ Design as the best C++ book of 2001.