Some care is needed to not conflate "overhyped" with "useless". There are plenty of software engineering technologies who haven't lived up to the hype because expectations were set way too high. They are however extremely useful.<p>I was taking a master's level database course at the time of XML mania and we spent a massive amount of time on XML because the prof felt XML + XQuery was going to displace traditional relational databases. There were numerous reasons why this didn't happen, but a not insignificant number of people bought into it. Some database-y things are possible with XML, but you'd be crazy to replace a massive schema with it without good reason.<p>OOP is another great one. It is incredibly useful to write OOP code. However, the promise at the beginning of the OOP mania was that you could "snap code together as easily as Legos... even normal people will be able to write complex software!". OOP has certainly helped make code more maintainable and fostered a <i>lot</i> of code re-use, but the ease described by the early hype was hugely off the mark. It turns out it's really hard to write super-reusable code such that you can use it "as-is" in situations the original authors never envisioned.
Cloud Computing - A term, like "world peace", "think outside the box", or "hooking up", that means everything and nothing at the same time.<p>Fourth General Languages (4GLs) - Technology to enable non-programmers to claim that they are programmers.<p>eXtensible Mark-up Language (XML) - Primary data, along with secondary data needed to describe the primary data, all in one file, that a receiving program could act upon, as long as it knew what the secondary data meant.<p>Unified Modeling Language (UML) - Technology needed to add another layer of personnel to enterprise IT: people smart enough to draw but not smart enough to program.<p>Agile Software Development - A new name for what the fittest have used to survive for 50 years.<p>NoSQL - The Y2K of the 21st century, without the hard deadline. Everything will die, but no one can say why.<p>Object-Oriented Programming (OOP) - A technology invented to make associates of Big 5 consulting firms who didn't know what they were doing appear as if they did.<p>Test Driven Development (TDD) - A fancy term given to tried and true methods just discovered by hipsters whose code didn't work.<p>Rapid Application Development - Prototyping. But no respectible IT person would buy a book with the word "Prototyping" in the title, hence the new name.<p>Web Frameworks - More software added to perfectly adequate existing software used by programmers depending upon their level of experience, backlog, or masochism.<p>Hacker - Either (a) One who breaks into other systems, (b) one who builds stuff, (c) a programmer, or (d) a groupie of one of the above.
I think the whole premise of this question is kind of... off. Just about <i>every</i> tool goes through a period of being hyped. That's why we use them. Show me a tool that hasn't been hyped and I'll show you a tool that not enough people know about.<p>Complaints that things are "overhyped" are dubious. Everything is overhyped to some degree. What would an "optimal" amount of hype be, and how would you regulate it? If you <i>under</i>hype your product, you are leaving profit on the table. To maximize the number of satisfied customers, you must ultimately run your product past many, many people who ultimately won't be satisfied customers.<p>Meanwhile, I can't help but fear that this poll is just another measurement of popular fashion: Once a technology has found its niche, can we really judge its ultimate importance without being experts in the niche? We can all tell when something becomes unfashionable, but it's quite hard to know just what its ongoing impact really is. Unfashionable technologies fade into the woodwork, but they do vital work nonetheless. Was COBOL overhyped? Was Perl overhyped? Can I really claim that XML was overhyped, even as I type words into a machine built largely out of XML-based config files? When I pound the table and declare that, say, Java was overhyped, am I really saying more about myself than I am about Java? I have a vision of myself, walking around the room while using my iPhone to compose a message claiming that tablet computers and robots are overhyped, and then tripping over my Roomba.
One of the best things about being a math major instead of a CS major is that it gives you a sense of history and how <i>small</i> the Next Big Thing probably is. One of the weird things about computer science and tech to me is that practitioners don't know what happened in 1980s, much less the theory that was developed over the last 150 years.<p>I would say that Boolean Algebra was actually an <i>important</i> advance, or the Fortran compiler (early 1960s), or a working system based on relational algebra (late 1970s). But proponents of XML/ Java/ Patterns/ Functional Programming/ Language XYZ/ NoSQL/ blah/ blah/ blah make it sound like their pet technology is a revolution, when it is usually an incremental change on tech/ theory that is very old.<p>And when it is an incremental change driven by corporate funded standards committees, you know it is going to be a complete cluster f*ck that is forced on the entire world by stupid IT managers with business degrees.
I agree with UML and CASE tools, it was always a time-waster that produce too many things and never used.<p>But I disagree with XML and OOP. XML was necessary for the first web APIs we had (they were called SOAP, in case you wasn't a developer that time). And OOP is everything you do, it's a way to write code more clear and maintainable (just forget everything about the 'reuse your code' and 'speed you development', OOP isn't just about this).
Hmmmm.<p>There is a difference between over-hyped and having a bitch-fest about things your boss thought was cool. Very sorry you had to do too much UML on that last project but it works very well for what it is: a universal way of diagramming parts of computer systems for purposes of communicating about them. Probably not so good as a universal spec system, or a runnable model, or any one of the 17 other things folks thought they could do with it. Same goes for a lot of this other stuff. We confuse the environment around a tool or technology with the tech itself.<p>Everything is overhyped. We're like that: we want magic bullets to fix all of our problems. Everything is over-applied and over-promised.<p>The more I think about it, the more this is a really bad, perhaps trollish, question. It does nothing to increase people's understanding, and only serves to have a place to gripe and complain. Nothing wrong with griping or complaining! As long as we all realize how subjective it is. This question assumes that there is some objective standard for being over-hyped. I don't think that premise is true. You end up with a bunch of people arguing over whether chocolate ice cream tastes good or not.
"Enterprise" anything. Call it what it almost always is: Glue.<p>One of the few truly enterprise developments has been environmental virtualization. And it's been going on longer than most people realize.<p>EDIT: Perhaps this should be disqualified as a buzzword. But too often, it's treated -- if ignorantly -- as "a technology".