News for hackers. Stuff that matters.
Re:Systems software research is irrelevant by kragen on Monday January 26, 2009 @04:17AM (#450193)
Mathematics started maybe 2500 years ago. Calculus wasn't discovered until less than 400 years ago. The crisis in mathematics spawned by non-Euclidean geometry didn't happen until less then 200 years ago. Symbolic logic was in the last century or two.

Biology is presumably older. No need to point out what we've done in the last century.

Herbal medicine goes back much further than we have records. But penicillin (from molds) wasn't discovered until the 1930s.

Ironworking goes back 3000 years. The Bessemer process was developed less than 200 years ago.

Archery and animal husbandry go back to the Stone Age. But less than 1000 years ago, new developments in horseback archery were crucial to Genghis Khan's conquest of most of Eurasia.

Plant breeders have been studying plant heredity and breeding more productive cultivars since the Stone Age. Then 50-some years ago we discovered the structure of DNA, and now we have a remarkable variety of projects based on it.

A "mature subfield" is just one that had its last big development a while ago. In the case of "systems," that development in 2000 had been perhaps minicomputers or C. Pike was right in 2000 but his polemic is not applicable to 2009.

Look what's happened since 2000. MapReduce. Eventual consistency all over the place. Software transactional memory (even if that turns out not to pan out, there are lots of people using ZODB already). Google App Engine. Virtualization (VMWare has 3000 employees) and paravirtualization (XenSource's work is based on the RTLinux approach pioneered at New Mexico Tech), which incidentally involve new operating system kernels. Google Native Client. Widespread use of mobile code in AJAX apps. Haskell and OCaml are becoming usable and have been used in a few widespread apps. The inner loops of games are written in Cg or HLSL. OS X introduced a new way to structure Unix graphics (which is now being used by Compiz). JIT compilation has gone mainstream in the JVM, the CLR, and Chrome v8. We build our GUIs in Flex or DHTML instead of GDI or Quartz or even X. The hot new software is all written in Ruby or new dialects of Lisp. The majority of internet traffic is BitTorrent, which didn't exist in 2000. People develop software in refactoring IDEs. We store our files in decentralized source-control systems that use self-certifying names, like Git and Mercurial. Sun's hottest new products are a filesystem and a profiler. Firefox is having XPCOM ripped out of it largely by means of automated transformations of C++ code. Transmeta failed but you can hardly claim they weren't applying systems software research in industry. TCP/IP now does service autodiscovery the way Appletalk used to, so groups of people with laptops collaboratively take notes in real-time with SubEthaEdit. Lightroom was largely written in Lua, from a university in Brazil; lots of games are scripted in it. Lots of other apps are written largely in Python, which came from a university in Holland and then CNRI. C and C++ are much less dominant than they were in 2000. OS X runs on CMU's Mach.

Today, systems software --- operating systems, networking, languages --- is an extremely active field today, with lots and lots of research being done that's highly relevant to and influential in industry. Most of the exciting demos I see these days are noncommercial or come from corporate R&D labs. There's still ossified and insular research but there's also a huge explosion of new and innovative research. Instead of a high-end workstation with Unix, X, Emacs, TCP/IP, Netscape, C, C++, Java, and Perl, now we have Unix (often in the form of MacOS or Linux+GNOME or KDE), X (with Compiz), Emacs (revitalized!) or Eclipse or SharpDevelop; Firefox with Firebug, Flash, Canvas, AdBlock Plus, and GreaseMonkey instead of Netscape 4, or just as likely some WebKit browser; TCP/IP but with zeroconf, IPv6, and 802.11; C#, Java, Python, Ruby, and above all JavaScript.

There are no comments on this comment yet.