
Most overhyped software engineering technologies of the last 20 years - Sadranyc
http://programmers.stackexchange.com/questions/38505/most-overhyped-software-engineering-technologies-and-concepts-of-the-last-20-year
======
JunkDNA
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.

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.

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 _lot_ 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.

------
edw519
Cloud Computing - A term, like "world peace", "think outside the box", or
"hooking up", that means everything and nothing at the same time.

Fourth General Languages (4GLs) - Technology to enable non-programmers to
claim that they are programmers.

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.

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.

Agile Software Development - A new name for what the fittest have used to
survive for 50 years.

NoSQL - The Y2K of the 21st century, without the hard deadline. Everything
will die, but no one can say why.

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.

Test Driven Development (TDD) - A fancy term given to tried and true methods
just discovered by hipsters whose code didn't work.

Rapid Application Development - Prototyping. But no respectible IT person
would buy a book with the word "Prototyping" in the title, hence the new name.

Web Frameworks - More software added to perfectly adequate existing software
used by programmers depending upon their level of experience, backlog, or
masochism.

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.

~~~
bitwize
I've found that people tell me "You're not thinking outside the box" when they
want me to accept something fundamentally untenable.

~~~
khafra
Tell them they're in the "outside the box" box[1]?

[1] <http://lesswrong.com/lw/k6/the_outside_the_box_box/>

------
mechanical_fish
I think the whole premise of this question is kind of... off. Just about
_every_ 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.

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 _under_ 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.

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.

~~~
jamesbritt
"Over-hyped" is over-hyped.

------
forkandwait
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 _small_ 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.

I would say that Boolean Algebra was actually an _important_ 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.

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.

~~~
mayank
At least some aspects of NoSQL are novel from an algorithmic perspective, so
it's unfair to dismiss it as a buzzword. The underlying gossiping protocols
that enable no single point of failure are fairly recent developments (Chord
is a recentish gossiping algorithm if I remember correctly). Just think about
writing a distributed database system without any designated master/control
nodes-- all kinds of fun algorithmic problems will pop out: randomized
algorithms, random graphs, distributed indices, decentralized search, ...

~~~
TimJYoung
The problem is that the underlying distributed algorithms are not exclusively
the domain of NoSQL systems and, likewise, one could easily use SQL with a
key-value store, provided that one had access to a schema with which to
resolve objects and their identifiers. Developers have been using non-
relational data stores with SQL-based front ends for years.

------
rabc
I agree with UML and CASE tools, it was always a time-waster that produce too
many things and never used.

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).

~~~
arethuza
"XML was necessary for the first web APIs we had"

People were building systems that had APIs exposed via HTTP a long time before
XML.

~~~
JoachimSchipper
And what's so special about HTTP? Communicating over the network is _old_ \-
things like RPC have been around for a _long_ time (first spec in 1976,
according to Wikipedia.)

------
DanielBMarkham
Hmmmm.

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.

Everything is overhyped. We're like that: we want magic bullets to fix all of
our problems. Everything is over-applied and over-promised.

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.

~~~
srbloom
I think the way people are responding isn't helping this question. This could
have been good if responders had elaborated on what was promised vs what was
delivered, but instead they just list the technology and write, essentially,
"this was overhyped".

~~~
mduerksen
I agree. It's exactly that question (promise vs. delivery and costs) which
should be thoroughly explored before utilizing any technology that is
advocated. That's the only way to not fall for a hollow hype.

------
pasbesoin
"Enterprise" anything. Call it what it almost always is: Glue.

One of the few truly enterprise developments has been environmental
virtualization. And it's been going on longer than most people realize.

EDIT: Perhaps this should be disqualified as a buzzword. But too often, it's
treated -- if ignorantly -- as "a technology".

------
luu
I'm surprised VRML wasn't listed; I remember when VRML was supposed to be the
future. It was the original web 2.0.

~~~
khafra
I remember the VRML hype, but I think it differs strongly from web 2.0 in that
everyone agrees that web 2.0 is actually implemented in production lots of
places (we just all disagree on what exactly it consists of).

------
hernan7
Some of these are not software engineering technologies at all: virtual
reality, network computers... SharePoint?

------
rbanffy
Smalltalk is now a "visual" language...

And, BTW, VB.NET is, according to Wikipedia, the only language about 60% of
the .NET programmers use.

~~~
contextfree
Having the word "visual" in the name doesn't make it visual.

~~~
jmulho
Right. To be truly visual a language must also provide a bunch of widgets that
you drag and drop to build graphical user interfaces. Oh wait...

~~~
contextfree
A text-based language with a GUI designer tool = a text-based language plus a
GUI designer tool. It doesn't = a visual language.

I guess MSFT did take a stab at something closer to an actual visual language
in Visual Studio, in the form of the Workflow Foundation designer.

~~~
jmulho
I admit Visual Basic is not near as cool as say Scratch, but it is pretty
visual, especially when compared to BASIC. I think it was fair for Microsoft
to use the term, some 20 years ago, given that visual languages at that time
were called dataflow languages. Now, had they called it Dataflow Basic, I
would have been pissed.

------
spitfire
java?

