tags:

views:

279

answers:

5

If you work as a professional programmer, how much does the world of academia directly affect the work you do (I'm ignoring indirect effects such as programming language features that have worked their way into your languages)? Do you ever pull up and read journal papers? Do you listen to talks by academics or communicate with them? Have you had inspirations based on academic projects?

A: 

Totally! The work of academia helps you decide if you want to use one type of algorithm versus another. One type of data structure versus another.

Just look at Donald Knuth's TAOCP to see a brilliant example of the fruits of academic research!

HTH

Hmmm. Hash or linked list? Decisions, decisions. (-:

Edit: Digesting further your question, look at the awesome ACE (and associated TAO) projects that were borne out of academia.

Ongoing learning is one of the benefits of our job. Just remember that you're either "green and growing" or "ripe and rotting"! (-:

aka. As they say in rugby "Use it! Or lose it!" A saying that applies to your brain as well! (-:

cheers,

Rob

Rob Wells
+4  A: 

It happens quite a lot actually. Being in academia, I see quite a lot of interest from commercial and governmental organizations. If you are doing anything professionally that is cutting edge or state of the art and you aren't reading journals then you won't know that what you are doing hasn't been done or disproven. Obviously, if you're just building a typical boiler plate CRUD application you will have no use for this sort of endeavor, but contrary to popular belief there are people building software that is not CRUD.

BobbyShaftoe
+6  A: 

It did earlier in my career when I was in a research environment (kind of obvious that it would have an impact there). I am almost tempted to say that it has very little effect now but, on reflection, I think that it does. This is not because I am likely to use any techniques from the cutting edge of computer science but rather because, in order to really satisfy the needs of my users (health promotion specialists) I do have to have a more than passing familiarity with developments in that field.

So...academia can be important but perhaps not in the ways that you anticipate. I would also say that the more ambitious you are about having an impact as a developer, the more likely it is that you'll find that academia is relevant.

Mark Brittingham
@Mark,I'd give you +2 if I could for the second paragraph of your answer! cheers. (-:
Rob Wells
+1  A: 

In recent years there are many academic tools and techniques that make their way into industrial products that you use every day.

For example, many Eclipse users use Mylyn, which started out as a PhD thesis.

Many things that you see in Visual Studio are based on academic work of students and researchers collaborating with Microsoft Research and its programming group.

If you use aspect oriented programming, you use a lot of academic work and papers.

And if you use IBM Jazz, many components were built in academic collaboration.

For the average programmer, however, there is no real need to investigate academic sources or publications because he will only use a tool that is a "stable" product, which many early research prototypes are not.

My own research, for example, probably found things that would help you as a programmer (e.g., how to write and use documentation better), and maybe with some luck you would end up using those techniques one day :)

Uri
I'd love to know why this was downvoted. I am of the opinion that for most programmers (not necessarily SO people) academic materials are not sufficiently relevant or approachable.
Uri
@Uri, I did it because I thought the statement "For the average programmer, however, there is no .. need to investigate academic sources" did a disservice to those non-average guys who care about the job they do when they research the best way to do the job. (Quotes elided due to 300 char limit) )-:
Rob Wells
I would argue that (unfortunately) the average programmer does not spend his time doing research or contributing to stack overflow.
Uri
Academic work is presented and evaluated in ways that don't answer the question "will it work for me". It may sound snobbish, but reading, understanding, and benefiting from such article is not very practical for most developers. Certain publications, like CACM, are more approachable.
Uri
"For the average programmer..." In that quote you sum up the problem! (-: Most programmers, who are average, go through the motions clicking on their gui buttons to build things as they program by coincidence, i.e. getting things working without understanding why. No SO contributers there!
Rob Wells
@Uri, definitely agree with your second point though. Most programmers, incl. me I must admit, find almost all academic papers dry and impenetrable. But when the fruits of academic research are presented in a more accesible form then I am more than happy to use them, e.g. Don Knuth's TAOCP
Rob Wells
I'm not sure I would classify TAOCP as an academic book even though it was written by an academic. Just like I wouldn't classify textbooks as "academic" in the sense that they are very different from papers. Knuth is one of those few people who have the ability to write really well in both mediums.
Uri
A: 

Depends on what you mean by "professional" programmers. If that means building CRUD apps, then no. Oftentimes, academia stuff like data structures and algorithms are already baked into frameworks. But if you are working on deeper topics, say an OS or a language, then probably.

By the way, this question is probably more wiki material than a normal SO question.

barneytron