Why care about C++0x lambda functions? Syntactically, they are nothing but sugar for function objects. However, they are an essential and enabling sugar that will change the way we will write C++ code more often than most people realize.
This talk will cover what lambda functions are and how to use them effectively, including how lambdas touch many wide-ranging kinds of code — from their convenience when writing concurrent and scalable parallel code, to how they stand to revolutionize STL usability and programming, to how they enable such small conveniences as local functions and local variable initialization.
Note that lambda functions, although futuristic, are not a far-future feature. They are available today in several shipping C++ compilers, including Intel C++ 11, Microsoft Visual Studio 2010, and gcc 4.5. The future is now. Come find out how this powerful feature affects you and your code.
Herb Sutter is the chair of the ISO C++ committee. He is responsible for the design of lambda functions in Visual C++ 2010 and their integration in the Parallel Patterns Library. He is partly responsible for the design of lambda functions in the C++0x standard, notably capture defaults and final syntax.
Highly interactive programming languages provide developers with a remarkable ability to empower their creativity through a unique and highly responsive development process. This can be seen to broadly similar to the differences between the waterfall model and more recent agile approaches yet at an different timescale – that of moments vs. minutes, rather than days vs. weeks. Programming with an approach which allows one moment to flow frictionlessly to another without having to wait for compile cycles gives the developer a unique HyperAgile workflow which will be examined in detail in this talk.
Kyle McDonald is a media artist who works with code, with a background in philosophy and computer science. He creates intricate systems with playful realizations, sharing the source and challenging others to create and contribute. Kyle is a regular collaborator on arts-engineering initiatives such as openFrameworks, having developed a number of extensions which provide connectivity to powerful image processing and computer vision libraries. For the past few years, Kyle has applied these techniques to problems in 3D sensing, for interaction and visualization, starting with structured light techniques, and later the Kinect. Kyle's work ranges from hyper-formal glitch experiments to tactical and interrogative installations and performance.
He was recently Guest Researcher in residence at the Yamaguchi Center for Arts and Media, Japan, and is currently adjunct professor at ITP.
Golan and Pablo discuss the NeoLucida.
Casey Reas is an artist and educator based in Los Angeles. He has exhibited, screened, and performed his work internationally in galleries and museums around the world including the Institute for Contemporary Art, London; New Museum for Contemporary Art, New York; P.S.1 Contemporary Art Center, New York; Museum of Contemporary Art, North Miami; Museum of Modern Art, Shanghai; Victoria and Albert Museum, London; Institute for Contemporary Art among many others.
He is the recipient of a 2008 Tribeca Film Institute Media Arts Fellowship (supported by the Rockefeller Foundation) and of the 2005 Golden Nica from the Prix Ars Electronica. Cited in the 2008 ArtReview Power 100, his images have also been featured in various publications including The New York Times, The International Herald Tribune, Print, Eye, Technology Review, and Wired.
Reas is also a professor at the University of California, Los Angeles. He holds a masters degree from the Massachusetts Institute of Technology in Media Arts and Sciences as well as a bachelors degree from the School of Design, Architecture, Art, and Planning at the University of Cincinnati.
With Ben Fry, Reas initiated Processing in 2001, an open source programming language and environment for creating images, animation, and interaction.