Is the industry too fragmented?

Too many ways to do things adding complexity

  • (2 Pages)
  • +
  • 1
  • 2

24 Replies - 3342 Views - Last Post: 05 July 2008 - 10:48 AM

#1 Martyr2  Icon User is offline

  • Programming Theoretician
  • member icon

Reputation: 4333
  • View blog
  • Posts: 12,128
  • Joined: 18-April 07

Is the industry too fragmented?

Post icon  Posted 28 June 2008 - 11:22 PM

I just recently watched a video covering Google's Android and how the basics of it are setup from the Linux kernel up the stack to applications. That was a nice talk and everything seemed fine until it went to Q&A where the developers in the audience started attacking the speaker for about 20-25 minutes with "Will Android work with this? Will it work with that? Can I develop even more applications? Can I integrate this with that and put it on android flawlessly?"

It got me wondering, is the industry a bit too fragmented in your opinion? I mean we have a ton of computer languages all which are capable of doing the same thing. We have a ton of mobile applications on a plethora of mobile devices leading to bajillions of combinations of potential device setups.

To accurately field the questions the speaker had to know or have an idea about 10-15 technologies, most of which were niche market technologies, just to successfully answer how Android will work with them. And you know what? Each questioner was probably alone in the technology they were talking about. None of them were really talking about the same ideas or working on the same problems. Some were probably even working on their own proprietary language or technology and they wanted to throw that on top of Android.

Even one developer, a female mind you, started asking if Android was not already "reinventing the wheel" and just adding another option to the pool of technologies already out there. Sure, throw another technology on the barbie and let it do what other platforms can do but with a flashy name and maybe 1 or 2 absolutely unique features.

In my opinion it might sound even better to work on merging some of these technologies and cut our 100+ programming languages for instance down to 10 really solid well used. But also cutting down the now booming mobile device OS market down to 2 or 3 just to simplify the combinations a bit and keep it under 100,000 combinations.

Interested in what you guys think of that. Do you think the industry should start focusing not only creating unique technologies but perhaps merging a few together so that we can all get on the same page?

Is This A Good Question/Topic? 0
  • +

Replies To: Is the industry too fragmented?

#2 Tom9729  Icon User is offline

  • Segmentation fault
  • member icon

Reputation: 180
  • View blog
  • Posts: 2,641
  • Joined: 30-December 07

Re: Is the industry too fragmented?

Posted 28 June 2008 - 11:28 PM

I feel a bit bad about replying with such a short post (compared to yours), but I think that diversity is one of the reasons I find the field of computer science so interesting. Having hundreds of ways to do everything might be inefficient, but I think that in the long run it will allow some kind of "natural selection" to take place in order to pick out the best technologies. :^:
Was This Post Helpful? 0
  • +
  • -

#3 Martyr2  Icon User is offline

  • Programming Theoretician
  • member icon

Reputation: 4333
  • View blog
  • Posts: 12,128
  • Joined: 18-April 07

Re: Is the industry too fragmented?

Posted 28 June 2008 - 11:45 PM

Well I see your point but what I see already happening is that only select technologies can work with other select technologies. C++ was built with the idea that it could interact with just about anything, but now with some of these other languages you need special software just to run the special software and only after then it will have a limited audience of other applications to work with.

Hopefully you are right and we are not going to be stuck with all these different programs and most of them not being able to talk to 95% of the rest of the industry.

That would be scary! :crazy:
Was This Post Helpful? 0
  • +
  • -

#4 Tom9729  Icon User is offline

  • Segmentation fault
  • member icon

Reputation: 180
  • View blog
  • Posts: 2,641
  • Joined: 30-December 07

Re: Is the industry too fragmented?

Posted 29 June 2008 - 12:07 AM

Well it doesn't matter how many implementations of something we have on our hands, what are really important are international standards and adhering to them.

I don't want to turn this into a Microsoft bashing thread, but they've certainly gotten themselves into the spotlight recently about the whole ISO MSOOXML fiasco. Their history isn't too bright either. Most of the teachers in my school are against students handing in digital copies of their homework (I mean like essays and projects, things that it would make sense for) simply because of the incompatabilites between different versions of Microsoft Office and the fileformats they save in.

I read an article about how they are planning to support the real ODF standard, but I bet you a barrel of monkeys that we're going to see plenty of "incompatabilities" pop up between MS ODF and the ODF that the rest of the world is using.

Edit: If you're worried about C++ incompatabilities, use GCC and write code sticking to whatever the latest standard is (I don't follow C++). That's one thing I love about C/C++, that there are actual international standards that ARE NOT dictated by one single corporation. As much as I love Java, that's one thing that worries me about it.

This post has been edited by Tom9729: 29 June 2008 - 12:09 AM

Was This Post Helpful? 0
  • +
  • -

#5 1lacca  Icon User is offline

  • code.rascal
  • member icon

Reputation: 44
  • View blog
  • Posts: 3,822
  • Joined: 11-August 05

Re: Is the industry too fragmented?

Posted 29 June 2008 - 04:12 AM

Really intersting topic!
I'd say what Tom suggested, that via some kind of a natural selection a selected group of technologies will prevail. Some due to the lobby/money/marketing behind them, and probably a bit less (I'm a bit pessimistic in this view, see VHS/Alpha, Blue-ray/HD-DVD, etc.) due to sheer superiority. This has happened already in the past, just think of the plethora of "personal computers" in the '80-ies, the document formats, the different database models besides the relational one, the P2P systems, whatever.
Also, some niche technology fields will always need their own tools, languages, methodologies. With the excess performance on our hands sometimes this can be bridged with translators, cross compilers, emulators, or virtualization, but probably it won't be alwaysy possible. The users of these technologies will always crawl out from under their rocks, and will be desperately asking the creators of new platforms, how much ork they'll need to make their thing work on it. Sometimes these special technologies are well worth the development, but sometimes they are just a nice example of the NIH (Not Invented Here) syndrome. It is not always easy to draw the line between the too.
Finally, people simply love to do things differently. There is no way around it.
About the multitude of languages/operating systems: a new thing can often easily cut off legacy chunks of bloat that are clogging the whole thing for the sake of backward compatibility, or fix a design decision that was probably right at the time but became a design fault (or at least just something uncomfortable) over the time, because of the evolution of other technologies (compiler technology-two phase compilers and forward declarations in C style languages, or the initial lack of try-catch exception handling in Symbian C++). So a new language or OS can greatly increase performance and productivity due to such things, but the old ones are quite reluctant to die out due to their user base. This will cause this fragmentation what we see right now, but I'd say that the useless crap will fade soon (to let other useless crap to turn up).

Finally about the standards dictated by one company. I think Java is a good example through the JSR system, that it can work. Also, it is needed, because if it would be forked in so many ways as Linux kernels, maybe J++ would have already derailed it into oblivion, or MS could have sabotaged the whole thing with it's usual Trojan horse practices.

So I'd say that such fragmentation is a good thing. Sure it takes more knowledge of the present situation to choose the best technology, but I'm sure it ensures that if you do take the time to evaluate your possible choices, you can save a great amount of work/time/money, that is a good thing (and you might need something else for a different task later). If something is useless for you, simply don't care about it. It does make the life of beginners in this field a bit more complicated, because they'd face the question what to learn, but as it was already pointed out on this board several times, usually the difference is really negligible between most languages, so after realizing that they hit a dead end, they could easily switch to something better.
Was This Post Helpful? 0
  • +
  • -

#6 RodgerB  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 66
  • View blog
  • Posts: 2,284
  • Joined: 21-September 07

Re: Is the industry too fragmented?

Posted 29 June 2008 - 05:05 AM

I believe the industry is a bit too fragmented, and it can only get more fragmented as the years progress. Why might this occur you ask? Because the internet is united by smart people outsmarting each other. Sun, MS, Linux, .NET, DirectX, OpenGL, VB.

Person a complains, person b attempts to do something about a's complaint, a joins up with b, c decides a and b's work is crap and c then becomes a. I see a pattern emerging.

Sloth's epic post about the internet:

Quote

this is like people saying computers are for spreadsheets and pivot tables and nothing else. these are diverse systems that can be used for a wide range of things. you guys donít hate the applications, you should all know this. you hate the way the general populace uses them, you all hate people, and it getís a little rise out of you that the normal people out there are carving out their own little piece of this wild wild west.

weíve all been out here on horse back, camping under the stars and dealing with the savages. but now the train tracks are getting laid down faster and faster and those townies in their big top hats and monocles, are headed our way. some of em are even carrying pocket watches, and they all get to do it so much easier than we had it.

the internets not just for nerds anymore guys. straps yourselves in, this ride is gonna be so fucking bumpy. manifest destiny is a bitch. donít trade blankets with anyone.

Was This Post Helpful? 0
  • +
  • -

#7 PsychoCoder  Icon User is offline

  • Google.Sucks.Init(true);
  • member icon

Reputation: 1641
  • View blog
  • Posts: 19,853
  • Joined: 26-July 07

Re: Is the industry too fragmented?

Posted 29 June 2008 - 07:25 AM

Excellent topic Marty (as usual)! I think it may be a tad bit fragmented, but hopefully it isn't past the point of no return. I am going to feature this as I think it will generate some really good conversation
Was This Post Helpful? 0
  • +
  • -

#8 Martyr2  Icon User is offline

  • Programming Theoretician
  • member icon

Reputation: 4333
  • View blog
  • Posts: 12,128
  • Joined: 18-April 07

Re: Is the industry too fragmented?

Posted 29 June 2008 - 08:10 AM

View Post1lacca, on 29 Jun, 2008 - 04:12 AM, said:

Also, some niche technology fields will always need their own tools, languages, methodologies.


You certainly have awesome points but what I think might be happening is that people are using the diverse specialized tools to create even more niche markets for themselves. I think it is also going to cause problems in the job market. Ever see a job posting where the employer is asking for experience in a ton of specialized tools that pretty much no one has ever heard about let alone actually had experience with?

Take it one step further these companies want applicants with experience so they can hit the ground running and not have to spend much time training. This puts pressure on applicants to say they have qualifications they don't, leading to inexperienced people in projects that they eventually get in over their head, screw it up, then it leading to the problem we have mentioned before about experts needing to fight through skepticism and have to do cleanup of someone else's mistakes.

As long as it never gets to the point where you have to talk to 5 different software vendors to get your database data to your web page we still have a chance. :)
Was This Post Helpful? 0
  • +
  • -

#9 1lacca  Icon User is offline

  • code.rascal
  • member icon

Reputation: 44
  • View blog
  • Posts: 3,822
  • Joined: 11-August 05

Re: Is the industry too fragmented?

Posted 29 June 2008 - 10:28 AM

I see your concerns, but I think this problem stands on many legs.
As you pointed out there are already job advertisements, that would mention tons of technologies and even if they are part of the usual suspects it is not that likely that a developer is experienced right in that configuration. The better case is when these companies know what they are looking for, and they can guess the real knowledge of the applicant, and are able to train them where they are lacking. I've met a couple of places that could do this, and they were doing quite well. If those responsible for hiring the developers can't estimate their expertise well enough, then that is a management problem. I can imagine, that some people will try to sneak into positions with a well-crafted resume riding the waves of this fragmentation, and taking advantage of impatient companies lured by big salaries, but I think this would happen if there is only one technology on the market.
If the skills are not part of the "usually looked after ones", then I'd make two distinctions: it is something the company has developed for itself due to NIH syndrome (less fortunate), or for keeping their employees around so they can't use their knowledge at the competition (even less fortunate), or maybe it is the niche where it actually makes sense. Anyway, in all cases training is usually provided by the company, because they are the only one that actually know anything about it.
In the other case it is something that is not specific to the company, but not really wide-spread. If it is just picking up momentum, then only those will know about it who are interested in the field, so it is actually a good filter (also, fake experts are quite easy to spot). If it is something lingering around or dying out, then probably there are some leftover developers who are hiding in the shadows, and when the skill is really needed that much that the compensation becomes good enough to touch that thing again, they'll appear.
Finally, I know that there are tons of libraries even for one language, but I'd say that the situation is not that bad as it looks for the first sight. There are common configurations, that are quite easy to spot, like the LAMP stack, or Oracle + J2EE, etc. If you are interested in an industry, you'll notice these trends. I don't doubt that this needs some planning and awarness, but how else would it work? I'd admit that sometimes it is worrying that this creates walled gardens: as your expertise grows in one such "configuration", the less likely you become to switch to another one, because you'd have to fall back to some lower level. I'd even attribute some of the big flames regarding which technology is better to the fear of some people that their decision was wrong and their skills won't be looked after soon, this even blinds them so much that they'll be reluctant to realize that they both have their respective advantages for different niches.

So I'd say, I am optimistic about this fragmentation. We have seen this in the past, and when it became too excessive, the problem was solved. A good example is graphics programming: there was a time, when all the VGA chipsets had to be programmed individually, there were some games that supported 5 or 6 of them, so there came Univbe to the rescue (and now we have DX and OpenGL). This fragmentation encourages competition and we are those who'll profit from it in the long run, even if it might look disturbing right now.

Finally, I think those with less or without formal education might be more vulnerable to this fragmentation. The curriculum of a good university would have some language,compiler, etc theory, that makes learning and evaluating other technologies easier (knowing why something was needed, what problems did it solve, how does it deal differently with some things, what field can use it better than the existing ones). Somebody who just landed in the middle of programming getting familiar with just one language, might be much more terrified by the emerging of new ones (and maybe less likely to make a good bet what to learn next) - I did not mean it as a general rule, just as some factors.
Was This Post Helpful? 0
  • +
  • -

#10 PixelCard  Icon User is offline

  • D.I.C Head
  • member icon

Reputation: 47
  • View blog
  • Posts: 139
  • Joined: 20-June 08

Re: Is the industry too fragmented?

Posted 29 June 2008 - 01:44 PM

The topic is just on time. I think that such "fragmentation" really creates some hard-to-solve issues, like compatibility and unique standards, but this enables the actual user/developer to chose something he/she really likes. Why does someone chose a platform instead of another? The causes may vary (support level, working environment, usability or just the GUI), but the user choses something, that is closer to his/her general understanding of a product type.
Was This Post Helpful? 0
  • +
  • -

#11 Tom9729  Icon User is offline

  • Segmentation fault
  • member icon

Reputation: 180
  • View blog
  • Posts: 2,641
  • Joined: 30-December 07

Re: Is the industry too fragmented?

Posted 29 June 2008 - 02:01 PM

As long as the "standards" have open specifications, I see no problem (other than causing slightly more work for a programmer).

It's the closed proprietary "standards" that change at the whim of a company that cause trouble. :v:
Was This Post Helpful? 0
  • +
  • -

#12 PixelCard  Icon User is offline

  • D.I.C Head
  • member icon

Reputation: 47
  • View blog
  • Posts: 139
  • Joined: 20-June 08

Re: Is the industry too fragmented?

Posted 29 June 2008 - 02:44 PM

View PostTom9729, on 29 Jun, 2008 - 02:01 PM, said:

As long as the "standards" have open specifications, I see no problem (other than causing slightly more work for a programmer).

It's the closed proprietary "standards" that change at the whim of a company that cause trouble. :v:


Generally, it doesn't matter if the standard is open or proprietary. If it is well-planned and implemented in a good way - the users can apply it without any issues (even a proprietary one).
Was This Post Helpful? 0
  • +
  • -

#13 Tom9729  Icon User is offline

  • Segmentation fault
  • member icon

Reputation: 180
  • View blog
  • Posts: 2,641
  • Joined: 30-December 07

Re: Is the industry too fragmented?

Posted 29 June 2008 - 03:47 PM

View PostPixelCard, on 29 Jun, 2008 - 05:44 PM, said:

View PostTom9729, on 29 Jun, 2008 - 02:01 PM, said:

As long as the "standards" have open specifications, I see no problem (other than causing slightly more work for a programmer).

It's the closed proprietary "standards" that change at the whim of a company that cause trouble. :v:


Generally, it doesn't matter if the standard is open or proprietary. If it is well-planned and implemented in a good way - the users can apply it without any issues (even a proprietary one).

The problem with proprietary standards though is that the prices to license them can cost a pretty penny. It doesn't matter if a standard is technically excellent. If it costs too much, no one but the giants are going to use it, completely defeating the purpose.

Ex. the mp3 codec.

I believe THAT is when we start having a myriad of other standards pop up. Going to buy a digital music player? Better make sure it supports the codec all of your music is encoded in. :crazy:
Was This Post Helpful? 0
  • +
  • -

#14 ZachR  Icon User is offline

  • D.I.C Head
  • member icon

Reputation: 2
  • View blog
  • Posts: 126
  • Joined: 15-June 08

Re: Is the industry too fragmented?

Posted 29 June 2008 - 06:36 PM

Yeah i think its a bit fragmented...as always, people always have better ideas then the previous guy, and when the going gets tough, there is always someone who is willing to compete! People run out of ideas, and make small addons to their product in order to stay in the game. It just the circle of life. ;)
Was This Post Helpful? 0
  • +
  • -

#15 Sentry68  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 9
  • Joined: 25-June 08

Re: Is the industry too fragmented?

Posted 29 June 2008 - 08:22 PM

Well, I'm a complete beginner in programming, but I'll add my 2 cents. I do make my living in computers (I own a computer store), and I have a wide range of knowledge about hardware, operating systems, and tons of business/consumer applications, but I certainly don't have a lot of knowledge about coding and all the languages out there. I have however looked around for about the last 6 months, did a lot of reading and playing around in a few different languages before finally picking one to concentrate on (I picked C#). Keep in mind that I am a noob to this complicated field so forgive my incorrect terminology and breathtaking ignorance...

I definitely think it's too fragmented, and getting worse. There are simply too many app's/frameworks/languages that overlap greatly, while offering only incidental unique features. I am a proponent of having a strong independent consortium that defines and certifies the properties of a language, like the IEEE does for certain hardware. Imagine if hardware were this fragmented- you'd have 50 different wireless routers, all that did the same thing, and only about 3 that were compatible; meanwhile the argument would be over cosmetic features instead of the obvious incompatibilities. I think strong differences in purpose and specialization should be the real factors that determine the need for a new platform, and to some extent, emerging technology. A better solution would be specifications established by an independent organization, and developed by several companies to make it so, or each company could develop their 'version' (something like the different versions of Linux you see out there, with some versions aimed at server, some at desktop, some at mobile, etc, but all still Linux).

I don't want to crush independent development or free enterprise, but really- it's just a confusing wide-open mess to a beginner as it is now, and I can't imagine if I were trying to decide which language was going to dominate the job market in the next 10, 20, or 30 years. And with all the talented developers creating new languages wholesale instead of working together to make a few unique, easy to use, and powerful solutions, it seems like the business competition is really killing true innovation, not promoting it.

And more generally, I think programming languages should become more accessible to the casual user, with powerful features assembled easily and handled visually. This is one thing I really like about .NET and Visual Studio- I think it's on the right track (/waits for laughter to die down)... There could be a lot more fantastic and specialized software solutions out there if more people could make a computer do what they wanted without having to invest years learning a language first. After all, the language/platform/framework is the means to an end, and not the end itself. The language is there to make the computer do something that we want it to do. Maybe I'm wrong, but that point seems to get lost occasionally in the deep discussion of the search for the Grand Unified Programming Language.
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2