On March 7th of last year I attended an OCE event called the “AMD HSA and Heterogeneous Computing Research Showcase.” I recently came across my notes from the event and I thought a few quotes from the keynote speaker, Phil Rogers from AMD Canada, were worth sharing.
Phil Rogers on AMD’s commitment to open industry standards:
“open standards always win over time.”
Phil Rogers on programming with threads:
“An expert can get two threads right. An expert can sometimes get three threads right… but cannot get all of the test cases right… doesn’t scale (to 100s of threads).”
The following quote is one of my favorite quotes regarding the right way to conduct Software Engineering (SE) research. It summarizes the importance of utilizing empirical methods to inspire and guide the development of new SE tools and techniques:
“In all fields of SE, empirical methods should enable the development of scientific knowledge about how useful different SE technologies are, for different kinds of actors, performing different kinds of activities, on different kinds of systems. Such scientific knowledge should guide the development of new SE technology and be a major input to important SE decisions in industry and services.”
– Dag I. K. Sjoberg, Tore Dyba, Magne Jorgensen. The future of empirical methods in software engineering research. In Proc. of ICSE 2007, Future of Soft. Eng. (FOSE ’07), pages 358-378, 2007.
Last year Bertrand Meyer authored a post titled Long Live Incremental Research! at BLOG@CACM. Rather then writing my own post on the topic, I instead want to encourage people to read Meyer’s post as I think he does a great job of summarizing the importance of approaching research incrementally and not aiming for the next great breakthrough. A few quotes from his post:
“First, 99.97% of all research (precise statistic derived from my own ground-breaking research, funding for its continuation would be welcome) is incremental. Second, when a “breakthrough” does happen — the remaining 0.03% — it was often not planned as a breakthrough.”
“…humans are quickly overwhelmed by concurrency and find it much more difficult to reason about concurrent than sequential code. Even careful people miss possible interleavings…”
– Herb Sutter & James Larus, Microsoft. Software and the concurrency revolution. Queue, 3(7):54–62, 2005.