Andrei Alexandrescu

speaker

Andrei Alexandrescu is a researcher, software engineer, and author. He wrote three best-selling books on programming (Modern C++ Design, C++ Coding Standards, and The D Programming Language) and numerous articles and papers on wide-ranging topics from programming to language design to Machine Learning to Natural Language Processing. Andrei holds a PhD in Computer Science from the University of Washington and a BS in Electrical Engineering from University „Politehnica” Bucharest. He works as a Research Scientist for Facebook.

 

Presentations

Three Cool Things About D (2015)


C++ has been through many battles and won most of them. Invariably it has been patched with more armor, given more makeshift weaponry, and sent back to battle. Many contenders have tried to spell its demise, but C++ has remained undefeated ruler in one niche: high-performance systems with difficult modeling challenges. Between the halt of Moore’s law for serial speed and the continued demand for performance, one thing has become clear: a replacement for C++ must be good at what C++ is good at, and good at what C++ is bad at. The D programming language is that contender. It packs much more punch in a much smaller package. Better yet, D has the flexibility to compete against other languages on their own turf.

 

Writing Fast Code Part 1 (2015)


Software engineering folklore is rife with tales of optimizations. Programmers commonly discuss and argue whether a piece of code is faster than another, or what to do to improve the performance of a system small or large. Optimization is big. Arguably it’s bigger today, when serial execution speed has stalled and, after parallelizing what’s possible, we have single-thread speed as the remaining bottleneck. This class introduces attendees to a thorough approach to optimization approaches and techniques for contemporary computing architectures.

 

Writing Fast Code Part 2 (2015)


Software engineering folklore is rife with tales of optimizations. Programmers commonly discuss and argue whether a piece of code is faster than another, or what to do to improve the performance of a system small or large. Optimization is big. Arguably it’s bigger today, when serial execution speed has stalled and, after parallelizing what’s possible, we have single-thread speed as the remaining bottleneck. This class introduces attendees to a thorough approach to optimization approaches and techniques for contemporary computing architectures.