why so many frameworks? Can you just put all best ideas in 1?

C

Chris Uppal

Tor said:
Are you coming from the "single source, single solution" world of
Micrsoft Windows development perchance? You need to unlearn that
choice is bad.

Choice /is/ bad.

It may -- like democracy -- be the least bad of the available alternatives, but
choice is not a good thing in itself.

Which situation would you rather find yourself in when you need some facility,
XYZ:

A) pick the XYZ package off the shelf and use it.

B) Investigate a dozen packages each of which claims to provide a good XYZ
implementation (in some cases wrongly, in others correctly); select one and use
it.

Option (B) involves a good deal of wasted time. (B) is only preferable to (A)
if there's a good chance that the choice you eventually make will be enough
better than (A) to reclaim more than that time and effort. If the producers of
the options in (B) operate like the open source world, then that's none too
certain. (Though I will admit that if the producer of (A) is Microsoft then
it's probably not going to be too hard to beat -- even by the o-s world).

There are other downsides to option (B). E.g. fragmentation of the employment
market, or fragmentation of the development effort. Also its upsides are not
necessarily available in practise -- there is. the risk of management-imposed
substandard solutions, and inertia ("we know we aren't using the best option,
but it would cost too much to change now").

-- chris
 
C

Chris Uppal

bugbear said:
What if some of the good ideas are mutually
contradictory?

Then they'd probably get shoe-horned in together anyway...

-- chris

(Not that this is a problem only for single-solution approaches -- the
diversity-based approach leads to just the same shoe-horning effect)
 
T

Tor Iver Wilhelmsen

Chris Uppal said:
B) Investigate a dozen packages each of which claims to provide a
good XYZ implementation (in some cases wrongly, in others
correctly); select one and use it.

Well, people don't seem to mind doing that when it comes to buying a
car, for instance... :) In fact, people make choices all the time,
because in EVERY market there is choice unless there is a (bad)
monopoly. Why should software be any different?

Let's take CVS versus Subversion: Apperently, the makers of CVS didn't
see a problem with the annoying fact that moving a class to a
different package meant deleting it in one place and creating it anew
in another, losing revision history in the process. Plus that binary
files were stored whole for each version instead of just as a binary
diff.

Now, in "your" world, Subversion (which fixes both of those issues)
would not exist because everyone would shrug and submit to the
limitations of CVS. (In fact, why should CVS exist there? Since
everyone uses Windows, everyone should just use Visual SourceSafe from
"choice-is-bad"-favorite Microsoft.)

Others include Ant vs. Maven, SAX vs. StAX, WebMacro vs. JSF...

Choice exists because something is made that someone else is
dissatisfied with. Or there is a different approach to a problem. Or
the maintainers of project A are primadonnas refusing to accept
feature requests and patches provided by others, leading to the
formation of project B, if necessary as a fork from project A. Or a
product costs money and a cheaper/free alternative forms.
 
B

bugbear

Chris said:
bugbear wrote:




Then they'd probably get shoe-horned in together anyway...

Do you know my boss?!?!

BugBear (who has had the joyful experience of explaining
in detail why 2 features are mutually imcompatible, and
having the PHB continue to insist that both features are good,
and therefore we must have both - more "tick boxes")
 
O

Oliver Wong

Tor Iver Wilhelmsen said:
Well, people don't seem to mind doing that when it comes to buying a
car, for instance... :) In fact, people make choices all the time,
because in EVERY market there is choice unless there is a (bad)
monopoly. Why should software be any different?

Let's take CVS versus Subversion: Apperently, the makers of CVS didn't
see a problem with the annoying fact that moving a class to a
different package meant deleting it in one place and creating it anew
in another, losing revision history in the process. Plus that binary
files were stored whole for each version instead of just as a binary
diff.

Now, in "your" world, Subversion (which fixes both of those issues)
would not exist because everyone would shrug and submit to the
limitations of CVS. (In fact, why should CVS exist there? Since
everyone uses Windows, everyone should just use Visual SourceSafe from
"choice-is-bad"-favorite Microsoft.)

Actually, I think in a single-choice ideal world, it's CVS which
wouldn't exist, rather than Subversion. Ideally, you'd have exactly 1
choice, and it is the most optimal choice of all possible choices that could
have existed. So actually, you'd probably have something better than
Subversion too. Some sort of source management software crafted by God, and
handed down to us human, which is so great, no one would ever want to use
anything else.

Unfortunately, that's not how our world is, and we don't have software
written by God. We have a bunch of imperfect software, some more imperfect
than others. And now we have to spend time, money, and effort, researching
which software is the least imperfect for us. And to make matters worse, the
level of imperfectness varies from usage-scenario to usage-scenario, so it's
not like someone could do the research one, determine which software is the
best, and now we all know that for the rest of time to ignore all other
software package. Nope. What's best for you might not be what's best for me.
Which means if you spend 2 weeks researching the best XML parser for you,
I'd have to spend another 2 weeks researching the best XML parser for me; I
can't re-use your research.

- Oliver
 
D

Daniel Dyer

Actually, I think in a single-choice ideal world, it's CVS which
wouldn't exist, rather than Subversion. Ideally, you'd have exactly 1
choice, and it is the most optimal choice of all possible choices that
could
have existed. So actually, you'd probably have something better than
Subversion too. Some sort of source management software crafted by God,
and
handed down to us human, which is so great, no one would ever want to use
anything else.

In a perfect world we wouldn't need version control, we'd get everything
right first time.

Dan.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,072
Latest member
trafficcone

Latest Threads

Top