5 ms·
So... you're given a blank check, either as a industrial research lab manager or DARPA program manager. What "revolutionary" research in CS would you champion?
by beambot 15y ago
So... you're given a blank check, either as a industrial research lab manager or DARPA program manager. What "revolutionary" research in CS would you champion?
It's easy to be critical from the sidelines. There are very smart people still working in this space, including Knuth himself.
- pnathan 15y agoWell, that's a good challenge. As it so happens, I do do research for my Master's, although sadly, it's just evolutionary, due to me not being bright enough, time & funds. Fortunately for my graduation date, I don't have to come up with something seminal. :-) I am working on some parallel debugging technology for an XMOS XCore chip. It's mostly a rehash of techniques...from the 80s. :-) If I had a really revolutionary idea, I would have dug up a PhD program to sponsor me and be working on it, telling it everyone who would listen. I don't have that class of ideas right now. Research is hard, and takes a lot of very bright people collaborating for years and creating a good tribal knowledge to come up with really strong results. The MIT lab is a good example, as is the Bell labs. For an evolutionary approach, I would like to revisit the on-demand compilation to native code of dynamic languages. Getting Python/Ruby/Perl to compile native on the fly would provide an efficiency boost. (Please note, Steel Bank Common Lisp already does this). Another needed research area is a usable and robust certificate authority system. Diginotar/Comodo-style hacks need to stop, ASAP. Yet another evolutionary approach would be to work on a provably secure/levels of trust style system for phones operating systems (c.f. early 80s DARPA research). A more revolutionary research program would be to revisit the WIMP metaphors for computer use. Review the early Stanford/PARC research and take a different jumping off point. I strongly suspect there's a local maximum of awesome between pure CLI and pure WIMP, and we've not gotten there yet. A more ambitious (possibly physically impossible?) project would be to determine how to create massive WiFi ranges: single WiFi hubs that easily cover a mile. Determining how to create, say, 10Gbit Wifi would provide a very nice public good. I've had good success working with CSP-style parallelism, and would love to see more parallel constructions that use it (c.f. occam). That avenue may be the 'normal' way forward for parallel code. None - NONE - of the above technologies is more than a rehash of old tech. SCADA systems are sickeningly insecure/fragile. I would fund heavy-duty research into how to put together secure SCADA systems (Protocols, operating systems, control centers, etc, etc), and have them be a straightforward upgrade. I suspect that satisfying the constraints of SCADA systems would result in some interesting new knowledge. Possibly a distributed yet authoritative CA system would induce some groundbreaking algorithms relating to trust and efficient distributed systems. Automatic testing, verification, and reliability analyses based on Software Contracts instead of HM typing seems like it'd be fruitful to me, but I don't know the state of the art there.
- joebadmo 15y agoIANACS, but I think the time is right for new ui paradigms too. Here are my thoughts: http://blog.byjoemoon.com/post/9325300749/a-different-kind-of-gui http://blog.byjoemoon.com/post/9325300749/a-different-kind-o...
- andrewflnr 15y agoThank you. You've almost single-handedly convinced me that it might be worth my time to do real research during my CS education. A lot of those sound interesting.
- pnathan 15y agoHi andrewflnr, thank you for your kind comment. Nearly everything in the software/computer science world can be an area of active research if you start looking into it. It takes a lot of digging to get to the point of active research in some areas, particularly in the ones that have been well studied. Most of a typical undergraduate course will only prepare you for reading the research; most of a master's is about getting you ready to actually contribute something (the thesis). The PhD is where the real action starts happening for most people. Why is that? The '10000 hours' in computer science is usually needed to get you to the point where you can start contributing significant work. It is absolutely worth your time to spend time working on real research. The caveat is the place of research determines the coolness. Some places... you run tests. Some places... you do some really awesome work. Look into REUs if you're still an undergraduate. Those are essentially internships for academics. They are paid. :-) I would be happy to communicate further with you; my email address is in my profile.
- beambot 15y agoThat sounds like a very good list. Just to throw my hat into the ring... don't forget about robotics. I really love my work: http://healthcare-robotics.com/ http://healthcare-robotics.com/ http://www.hizook.com/blog/2010/10/16/pr2-robot-autonomously-delivers-medication-using-uhf-rfid-live-cnn http://www.hizook.com/blog/2010/10/16/pr2-robot-autonomously...
- 15y ago
- MaysonL 15y agoGiven a blank check, I'd split it between Gilad Brachs for Newspeak development, and Alan Kay to further the work being done at VPRI.
- wyck 15y agoI would put together a team of super hero's that doesn't care so much about languages and goes straight for the guts of the systems, the 1's and 0's. That is what is holding everything back, it's a very primitive system. The future is in 3-d, literally. Multi-valued, multi-relationship, multi-patterned, the math is there, but no one has figured out how to make it into an actual machine yet.
- jules 15y agoFor the field of programming language design ask yourself this question: what will programming be like in 50 years? Will we still be typing characters into VIM? I don't think so. Looking a little forward can go a long way.
- ajanuary 15y agoThat's what they kept saying 25 years ago, yet look where we are...
- apotheon 15y agoWell . . . what they said 25 years ago was probably about Berkeley vi, not Vim, so I guess in 50 years we'll be using something two generational advances forward from Vim.
- apotheon 15y agoHonestly, I think that in 50 years either we'll still be doing textual programming, just at a higher and more dynamic level, or we won't be doing any programming at all because the machines will have left our ability to contribute well behind.