Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Editorial Technology

Are There Too Many Standards? 62

CyNRG asks: "Lately, I've been reviewing the different programming and protocol standards in an effort to guide my career in the most fun and profitable direction. The proliferation of standards is astounding! Choosing which path to follow is more like a trip to Las Vegas. Standing at the craps table in Ceasar's Palace at 3:00 am: do I play the point? Big 6 or 8? Play the field? How about covering the hard ways? The world is using technology more and more, so I would expect more standards based on that fact. It seems like common knowledge, vis-a-vis Microsoft, that companies try to put forth 'standards' in an roll of the dice to make their 'standard' defacto. Are there too many standards?"
This discussion has been archived. No new comments can be posted.

Are There Too Many Standards?

Comments Filter:
    • I'll second that.

      The only problem with standards I have encountered is that people don't follow/use them.

    • I agree. I'll karma whore and go further though, even though the submitter doesn't seem to have a point of his own to make, or even a legitimate question to ask.

      Every technology should have a standard way to implement it and use it. There's a lot of different technologies out there like the hundreds of different protocols used on the internet, audio, video, GUI, database, etc.

      Now, why would the submitter ask if there's too many? Is he implying that we should toss some of them away?

      This reminds me of a
      • Now, why would the submitter ask if there's too many? Is he implying that we should toss some of them away?

        I get the impression the submitter feels overwhelmed by the volume of standards and wishes his learning curve was less steep.

        I think what he doesn't understand is that without the standards there would be multiple non-standard implementations.

        To the submitter: Try looking through some established electrical, plumbing, and building codes. Imagine building a house without them. Then maybe you will u

      • Ahh, but here's the thing...

        I went looking, for instance, for a GUI program that would allow me to look at the contents of a SQL database.

        I eventually did find such a program -- it used the proprietary interface provided by my database.

        Along the way, however, I found 4 competing standard protocols for how to do this -- and not one application that used any of them.

        A standard for everything is fine, but what about 4 'standards' for everything. No good. Not standard anymore.
        • I'm betting every app would use "SELECT * FROM SomeTable" to request the data.

          Each one may have different methods of communication, but they will all run a SQL statement once connected. I'm taking your comment about "4 competing standard protocols" to mean something along the lines of one using ODBC, one using ADO, one using JDBC, etc. This is fine - each one of those things has specific uses. None of those technologies are "standards" though. A standard is not an implementation, its a specification
        • Sorry to plug my product here, but this program [datadino.com] will allow you to access a variety of databases through the JDBC *standard*. It provides advanced browsing capabilities (including object source code in the full version) and comes prepackaged with *standards compliant* drivers for most popular databases. Feel free to email me if you have any questions.
    • Exactally, the problem isn't too many standards. Standards are a good thing. The problem is too many proposed standards all vying to become the standard. Companies rarely work together on this sort of stuff until it becomes absolutely necessary to do so (i.e. their proposed standards fail).
    • I think there might be.

      I propose that we need a new standard - one that determines if other standards standard or not. I, of course, will write this standard, and for only 149.95 (that's mere pennies a day! Pennies, compared to almost universal wisdom!). I will benevolently bestow the list of all acceptable standards upon all who ask and can afford to continue to pay me.

      I'm sure there are some people who might be worried I won't do a good job. Don't worry: I'm using the standard method of determining
  • Set your standards a little lower, and see how that works out for you. ;-)
  • "The great thing about standards is that there are so many to choose from."

    However, if you think this is bad and that there should be fewer standards, then let me susggest a new saw: "The one thing you can never say with confidence is 'Things couldn't get any worse.'"
    • Actually, the people saying that there are too many standards often have a new one in mind that encompasses or does the same thing as a few others so that he can say "if you just use my standard, you only have to use one and not three!" So yes, it can and will get worse.
  • The good thing about standards is, there are so many to choose from!

  • Re: Craps (Score:5, Interesting)

    by the morgawr ( 670303 ) on Friday October 08, 2004 @10:57AM (#10469610) Homepage Journal
    Standing at the craps table in Ceasar's Palace at 3:00 am: do I play the point? Big 6 or 8? Play the field? How about covering the hard ways?

    You should choose either "Pass" or "Don't Pass", bet the maximum odds you can after the point is established and do the same for two "come" or "don't come" bets.

    This will give the best odds to walk away a winner (with the house keeping a razor thin edge).

    • i hate it when people play don't come bets. It's a sign of bad faith, and you are effectively betting against the table.

      Part of the fun of craps is that everyone is on the same team
  • Examples (Score:4, Interesting)

    by JohnFluxx ( 413620 ) on Friday October 08, 2004 @10:57AM (#10469613)
    What examples are there of too many _open_ standards causing a problem?
  • Answers (Score:2, Informative)

    by antizeus ( 47491 )
    Avoid the hard way bets and big 6 or 8. Play the pass line and odds bets. Maximize the latter.
  • by jbarr ( 2233 ) on Friday October 08, 2004 @11:06AM (#10469709) Homepage
    OK, that may not seem like a popular idea, but in the long run, it may be the best path to follow. While it could certainly be argued that there are too many "standards", the important thing is to become proficient with follow the "accepted" ones. You say you are reviewing different standards to help guide your career path. My best advice is to learn the basics, and learn them very well. Learn not only how they work, but how they work together. Yes, you will become more of a generalist, but you will also become proficient at determining how you can develop a solution by applying your knowledge that can best fit the given situation.

    Focusing on a specific standard IS a crap shoot. Yes, you could make big bucks by jumping on the latest bandwagon, but it will no doubt be short-lived. Over the long haul, a broader knowledge base is more useful and marketable thatn a highly-focused one.
  • by lux55 ( 532736 ) on Friday October 08, 2004 @11:18AM (#10469847) Homepage Journal

    The problem isn't with the quantity of standards, but the quality of specific ones. Standardization itself makes sense in a lot of cases, but sometimes standards are indeed made for the wrong reasons, or over-architected into oblivion (ie. SOAP + WSDL + UDDI + how many SOAP security standards) which makes the barrier to entry for compliance with those standards far too high to expect most people to bother.

    Another problem is that a failure of some parties to properly adhere to the standards causes those standards to become less useful as well (read: MSIE vs. Mozilla, inconsistent HTML support, partial CSS support, JScript vs. JavaScript). This is sometimes even made possible by the standards themselves, by being too vague, which necessitates a level of "interpretation". It's also not always strategic for companies to follow standards -- they prevent lock-in, they make it easier to lose your customers to your competitors, and that can actually decrease the value of your products by giving your customers something to hold over your head during price negotiations. Standards need better incentives to get companies to actually buy into them, as opposed to just saying they are and then going and making their own "standards".

    The other problem is that standardization, especially when the industry is in the middle of such a pro-standards push, often comes too early in the life of a given technology, resulting in a standard that doesn't account for the whole problem yet. For example, RSS was declared a standard before it was ever really adopted, and then some limitations were found in it that to fix would break backward compatibility. The result is a number of incompatible competing standards (RSS 1.0, RSS 2.0, RSS/RDF, Atom, etc.). SOAP and XML-RPC both did the same thing, and the result is that it's a pain in the ass for developers to support them, due to certain limitations in their designs (array support in SOAP, reflection as an afterthough in XML-RPC, etc.). SOAP and XML-RPC also resulted in a 3rd competitor as well, REST.

    So my answer would be that there aren't too many standards, but that standards are just like anything else: not necessarily applicable to every situation. Use proper discretion. Neither extreme (all standards vs. no standards) is a good thing.

  • Untested Standards (Score:2, Interesting)

    by seanmceligot ( 21501 )
    I believe the problem arises when standards are written before being tested in the wild and without using time-tested techniques.

    This was the problem with EJB. All these companies implemented the standard, but the standard that had never been tried before. Only now, are people realizing what a mistake it was.

    With the various XML standards, time wasn't allowed to work out the flaws, and to allow various standards to merge. So, we have a bunch of standards and none of them are quit right.
  • by macz ( 797860 ) on Friday October 08, 2004 @11:30AM (#10469976)
    They are mutually exclusive to a point. For instance, most rail guage for trains is of 2 widths in the whole world. It would be silly to have 14 different guages scattered around the major railroads of the world and try to say that there is some kind of standard.

    How does a spec become a standard? People recognize the relative benefits of a spec versus the proprietary advantages of doing it their own way. Since standards tend to emerge in discrete verticals, there isn't a dilution of this benefit.

    It would not be incorrect to say that a "standard" is really an honorific applied to the spec that won in the marketplace of ideas. If the discrete vertical you chose to be the "standard" in is trivial, then it will be a pyhric victory. If it is non-trivial, even if a better idea comes along, you will have a marked advantage as the "incumbent" standard. (QWERTY vs Dvorak keyboard layouts as an example). Eventually, if enough people see the benefit vs the advantage of the existing standard... new standard.

  • Browers have been around a long time, and everybody's got one. For the past 3 years or so, I've demanded that my browser support tabbed browsing, control over popup windows, and preferably a useful download manager. Everything else is something I can do with or without or may be nice, but not a necessary feature.

    On OSX, I use Safari with the KDE KHTML backend driving it. Its OK. One really cool, but unnecessary thing is that I can right click on any words in this dialog box and check the spelling for i
  • Three acronyms (Score:5, Insightful)

    by Bastian ( 66383 ) on Friday October 08, 2004 @11:59AM (#10470364)
    Three acronyms for ya:
    CRLF
    CR
    LF

    We have three major computer platforms, and three different standards for the line terminator in plaintext files.

    Of course there are too many standards.
    • I thought it was...
      Windows: CRLF
      MacOS: LFCR
      *nix: LF

      Can anyone verify this?
      • Re:Three acronyms (Score:3, Interesting)

        by Blakey Rat ( 99501 )
        MacOS Classic used *only* CR with no linefeed at all, and to my knowledge the only program in Windows that uses CRLF is Notepad (for backwards-combatibility with DOS text files), meaning the splitup is more like:

        *nix: LF
        DOS: CRLF
        MacOS Classic: CR
        Windows (except Notepad): LF
        MacOS X: LF

        Considering the newest versions of the platforms are Linux (LF), OS X (LF) and Windows (LF) it looks like we finally have some sort of standard going on. Woot.
        • Edit, still part of Windows XP, also uses CRLF.
          • I actually found out where DOS, thence Windows, got CR LF from the other day. I'm sure a number of people here are already aware, but I'm going to go ahead and share anyways.

            The x86 BIOS video interrupt (int 10h) has a number of video options; one of them (AH = 0Eh) deals with writing characters to the screen in text (TTY) mode. When writing to the screen in raw assembler, you generally write something like

            ;;; Print the string at ds:si to the screen.
            puts:
            cld
            mov ah, 0Eh
            mov bh, 00h
            mov

            • Re:Three acronyms (Score:3, Informative)

              by Bombcar ( 16057 )
              And that originally comes from typewriters, which have both a "Carriage Return" which returns the typehead to the beginning of the line, and a "Line Feed" which moves the paper one line. :)
              • Ah, the wonders of "backwards compatability". One has to wonder whether the IBM BIOS programmers were pulled from the team that built the Selectric or something...
                • This is one of those moments when I'd really like to be able to take posts back. On further consideration, durrr. CR LF makes perfect sense if your output device is a line printer, especially if it's a line printer evolved from a typewriter (so it, too, has the given CR LF behaviour).
        • my knowledge the only program in Windows that uses CRLF is Notepad

          Are you kidding? I think you'd have trouble finding a Windows program that does NOT use CRLF text files by default (including Visual Studio and other dev tools, HTML Editors, MS Office, etc). Most Windows text editors only support LF in a special "Unix" mode.
    • The best part?

      My computer uses 2 of them.

      Mac OS X uses CR, and LF, depending on whether the file is used for Mac OS, or Unix purposes.

      This means if you use something other than VI for editing files you have to be very careful it supports LF format.
  • Yes, there are indeed too many standards. On reason is that standards are used for political reasons (in the sense of gaining influence), both by companies and government organisations.

    The sad thing about standards is that often the less good standards win. We saw this with the video tape format. And we see it with XML (which, believe it or not, is really not that good at all).

    • A possible reason for the many standards is that the giant corporations such as Microsoft didn't like the fact that they were not going to get their way. We had the browser wars because Microsoft didn't get their way and everyone else sure wasn't going to bow down to them. If the big corps would give a little, there probably would be so many standards. Its not a great argument but its a start.
      • This is exactly what falls under "political reasons". Microsoft was using its position in the market to push forward a standard that would strengthen their position in the market. That is what every company would do, even small ones for the matter. As soon as companies switch to "open standards", it means that their customers can easily switch to an alternative. As a company, you always want to bound your customers to you. Using a propertary file format or standard is a very effective way of doing this.
  • by hsoft ( 742011 )
    As long as you do the same, you should be ok.
  • rfc0001, called 1ml, which describes a standard way of doing everything possible, impossible, plausible or zany.

    There are only as many [de-facto] standards as there are things that may require standardisation.

    Your question is like asking:

    "Hello fellow slashdotters, what a lovely day, I am here in my garden, and ooooh I am overwhelmed I saw, by all the lovely types of flowers. I think there are too many though, so should I try and plant all flowers, or flowers that grow well in this region, or flowers tha
  • zerg (Score:1, Redundant)

    No, next question.
  • Data remains.

    I stick to my point of inherent redundancy in your question, but I do see what you are saying about companies jibing for a defacto standard that can garner them insutrial support.

    Microsoft do this with thier monolithic and closed standards, but the world is changing.

    I say that standards change, use them as tools, they are there to help. Don't make a career out of learning a standard that may become deprecated.

    SVG is a good standard, with growing device and application support, and of course
  • Standards (Score:5, Informative)

    by jd ( 1658 ) <imipak@yahoGINSBERGo.com minus poet> on Friday October 08, 2004 @02:31PM (#10472520) Homepage Journal
    Personally, I became a generalist. It has been a two-edged sword. Some potential employers look at me as though I'm from another planet. (Since more than a few of those look as though they came from the "B" Ark, that might be a compliment. :) Other potential employers look at my diverse skillset as a considerable asset. After all, they can get me to do more, with less training.

    I do agree that there are rather more ways of doing the same thing than you might expect, and compatibility between standards has (generally) been poor. Here are some examples. (The list is not intended to include everything.) You'll notice that a lot of the standards are extremely specific. There aren't many "general purpose" specifications out there, and those that exist (eg: SGML) tend to sacrifice fine control in favour of expansive capability.

    (I'm not even going to try to document the few thousand IETF specifications and notices that exist. Of what is described by the IETF, how much is actually used in practice? Probably not a lot. Now, that's fine in that case, because the IETF is not writing these as press releases for products they're planning. It's much more a research and deveopment environment. In R&D, not everything works, but if you want to avoid repeating mistakes, you catalog those just as efficiently as your successes)

    Authentication Systems:

    • Certificate (usually X.509 or some derivative) - the user and/or the computer carries some pre-generated, stored "proof" of their identity
    • Token-based (eg: Kerberos) - you connect to some "independent" authentication system which gives you a token which authorizes you to use other systems
    • Password (the standard method) - this can include biometrics, swipe-cards or PIN numbers, as well as the usual "type something in" method
    • Challenge - the user is presented with some dynamically-generated query and must product some response.
    • Some combination of the above (eg: S/Key uses a challenge as a key. It then applies that key to perform a one-time encryption of the password, which is essentially unbreakable)

    Parallel Processing (running two or more processes in parallel, in such a manner that they can communicate with each other):

    • Client/Server systems - standard, easy to write, and very popular when clearly-defined roles exist
    • Customized language - popular in certain segments of the industry, as the performance tends to be greater than by other methods
      • SISAL - implicit parallelization. The compiler will figure out how best to divide the software
      • Occam - supports explicit parallelization, at runtime, and process mobility
      • Parlog - supports explicit parallelization
      • Parallel C - Ditto
      • Java + RMI - provided each Java application is running independently
      • Any language with OpenMP extensions - OpenMP is a replacement for Threads, System V shared memory and message-passing systems.
    • Kernel-based SIMD (eg: SMP)
    • Kernel-based MIMD
      • BProc (ie: Beowulf) - allows simple process migration
      • Mosix - migrates processes to machine with lowest load
      • Classic MOSIX
      • OpenMOSIX

    Library-based

    • PVM (fixed number of nodes)
    • Message Passing Interface (dynamic number of nodes)
      • MPI-1
      • MPI-2
      • IMPI
    • Corba - This model allows services to be located by reference, rather than by location, but otherwise is simply a method of calling a function inside of one program from another program.
    • POSIX Threads (generally not networked) - A fairly low-level multi-threading system, providing support for simple synchronization, message passing and other basic functions
    • System V IPC - a crude method of handling semaphores, messages and shared memory, but it's extremely portable and relatively easy to write for

    Application-based

    • Cactus/Thorns
    • Globus
    • Portable Application Code Toolkit
  • As a developer, and in a word... No.

    Standards are the scientific community's way of expressing the myriad ways of getting data (a thought, content, algorithm, etc.) out in a way that is most efficient for themselves. It will take agreement with others that that "standard" is recognizable as a means of transferring that cognitive substance. Given the level of agreement in the scientific community (commonly low), and the number of scientific classifications of endeavors (usually high), I would (IHMO) say no,
  • Big 6/8 are sucker bets. If you must play them, ask the dealer for a place bet on 6/8 and you'll get better odds. Ceasar's isn't known for their craps odds, anyway. Just play don't pass and take out all the odds you can get (or pass, which is a little more traditional and the odds are almost as good).
  • OT (Score:1, Offtopic)

    by SnprBoB86 ( 576143 )
    How many "Ask Slashdot" news items can we have in a row?

    Slow day in geek news?
  • ...and I repeat, Never bet on Big 6 or Big 8. They're sucker bets! Even more so than any other bet in Vegas
  • Here's a great example.... I call you on the phone and you can hear me fine, we have a nice discussion. It's standard phone service, works great.
    Next time I call you all you hear is me speaking gibberish. I am talking just fine but an intermediary has "embraced and extended" something that already works fine.
    Then you hear the Microsoft rep on the line who says we have a decoder for this and it only costs $200 and breaks only 35% of the time

    Sure there's a standard there, that's what Microsoft says but
  • The reason Linux flounders like a wounded turkey instead of soaring like an eagle is LACK of standardization. Too many distros built according to the developers' particular prejudices. IBM created a standard and PCs took off. Standardize Linux and watch it grow.
  • It's not so much that there are too many standards, the problem is too many junk standards.

    Junk standards come in a variety of forms.

    There's the 1000 page kitchen sink standards. Everything thrown together, no sane layering, policy and mechanism all mashed together, learning curve is a vertical line. Invariably, these lead to code that takes 2000 dense lines to say hello world.

    Nebula standards. Often similar to the kitchen sink, but in spite of all the standardized options, too few are manditory. TIFF

  • The problem isn't the proliferation of standards; it's the proliferation of non-standards.

    Standards help us. They make us have to learn one thing, not ten or twenty. I mean, there's still lots of things to learn... But we can at least learn a given technology once.

"If I do not want others to quote me, I do not speak." -- Phil Wayne

Working...