My experience with programming came from a field, computational linguistics, where there LOTS of unsolved problems (computationally modeling natural language, or having effective statistical approximations). This is not an exception: many other fields (like computational biology) have big unsolved problems, and promising breakthroughs. Yet, most of the programming that is done (and most of the money made from it) seem to be in areas like Enterprise Resource Planning, Client Relation Management..etc. Companies seem to be able to churn out new versions of such software and make more money year after year, and clients keep spending money upgrading to newer versions..etc. So, as an outsider to that world, I am wondering: What are the great advancements spurring this growth? Were there some grand challenges that got solved or are getting solved?
|comments disabled on deleted / locked posts|
migrated from stackoverflow.com Feb 20 '11 at 16:39
This question came from our site for professional and enthusiast programmers.
closed as primarily opinion-based by gnat, GlenH7, MichaelT, Kilian Foth, Ozz Oct 15 at 11:19
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.
Unfortunately if you are talking about computational problems alone, then the enterprise world is certainly not a hotbed of either research or discovery, though certain enterprise applications have more than others. That's mainly the ground of computer science, and you don't see many enterprise job-postings for "Computer Scientist", do you?
However, I'm not sure if you've noticed this but most of the software created for the enterprise over the past 15-20 years (roughly the time period for software which is still in use) is shockingly unusable. Employees and customers alike either:
I have to strongly disagree with the other answer, and say that many programmers, software engineers (myself included), and possibly even some computer scientists, find the opportunity to improve this situation to be vastly rewarding, and also very interesting.
Just a few of the problems to be solved to make software more usable:
Computational linguistics is certainly a different class of problems than these. The world of enterprise software is much more of an engineering practice - as said by Stephen C in What discipline does Computer Science belong to?, "the desired outcome of a engineering discipline is things that work."
The hardest thing to do in enterprise programming is to scale linearly when exhausting a given resource.
Common resource painpoints are:
Voice recognition is an unsolved challenge (on Enterprise, yes, companies are dying to get a fancy voice-controlled products, like in Star Trek Enterprise :))