People will do it all day on SlashDot because they are bored.
Imagine what they would to do potentially get a better price on Hardware. Perhaps a Perl script that tries all kinds of User-agent strings, language settings, and anything else you can vary in the request process, then tries every combination many times, all looking for the best price Dell offers on a widget.
People *do not like* the feeling that the next guy got a better price than they did.
You want the flexibility and confidence that an XP-ish suite of unit and functional tests all through a project would provide.
But you have either (1) no tests, we just hope it works, or (2) some tests that a testing team goes through manually, and may or may not pick up problems, and take weeks to do.
Solution: Start adding tests. Start refactoring a bit at a time. Get a fast, automatic build running. Add more tests. Add more tests. Refactor a little more. Continue until you have tamed the beast.
Regarding change control, the challenge is to make it really be "control". As organizations get larger or more further up CMM, and projects become more complex, change control often looks a lot more like "change prevention"... the cost of each change gets larger and larger (due to heavyweight processes) that even most worthwhile changes get killed before any work can be done.
A big point of XP is that the sum effect is to make software stay "soft", to make it possible to change even as it gets larger and more complex.
Out in the "real world" (not in school, obviously), a business purpose of code reuse is to avoid paying person X to write what you already paid person Y to write, where X Y.
Once the JIT or HotSpot gets going, Java can be faster than VB, Python, Ruby, etc. for server side web development.
Java gets a reputation for being slow because of (1) the startup overhead and (2) Java GUIs are still a good deal less responsive than native GUIs. But for actual CPU-intensive computation, Java is actually quite fast, with a modern JVM.
I would not call PHP "beatiful":-) but it is very useful, I have built quite a few dynamic sites with it myself.
A big piece of the power of PHP is that so much is "in the box"; it's different than, for example, Perl (where you need to get a bunch of modules from CPAN), ASP (where you need a bunch of third party products), Java (lots of third party jars), etc.
1) It matters a lot what technologies the developers are familiar with... if they've done a lot of VBScript, they will probably get the job done faster that way and vice versa.
2) The project size is also quite relevant. I'd be inclined to choose a VBScript / ASP-intensive for smaller projects, and choose a "heavier" approach (such as Servlets, XML-XSL, etc.) for larger projects. Depending on how you use it, Perl could go either way... certainly one can do write-only Perl, but there are also large, complex sites built this way. It generally takes less Perl than it would VBScript or Java to get the job done.
Along these same lines, we see news articles etc. about the perils of people who work too hard, who take their work home with them and ignore their families, etc.
Well, duh... isn't that what they were taught in school, in the form of homework?
Make sure you get in to a good college. Shortly thereafter, it is unlikely that anyone will even ask, ever in your whole life, what your high school grades were anyway.
I have connected two T1 routers (Ascend, I forget the model #) together end-to-end (with appropriate wire pairs swapped), and they talked to each other just fine, with no other equipment in the middle.
From his resume (online somewhere) which points out that he has started several companies, I think it's unlikely that Greenspun is/was naive. It sounds more like he was willfully deceived.
An MIT alum told me that he felt that in addition to a great experience being there, he had found a big advantage of an MIT education is the "ooh wow" factor... people (including hiring managers) assumed must be really smart/capable/etc. because he went to MIT. This "glow" could continue for decades.
Quite true. I've been applying some of the ideas from XP (it's hard to embrace all of it in within an existing corporate culture), and now think about not having the things that XP providers (tests to know your code works, resilence against changing requirements) as extremely risk.
XP is a strategy for dealing with real-world risks.
Re:Extreme Management Re:I don't know about you, b
on
"Extreme" Programming
·
· Score: 1
Not boss, coworker. And you trade the keyboard back and forth.
It works much better in real life than it sounds like it would.
You missed one option, one that I think has some likelihood:
* It's just not as big a deal as Sci-fi readers might think. It would be the big story on the news for a long time and life would go on unchanged for 99% of the population of the planet.
I wonder why they would stop supporting it? It seems like a great deal for the DSL company - they charge a lot more than ADSL, yet deliver much less bandwidth, and their customers (including me) happily go along with it because that's all there is at 20K+ feet, and the alternative is dialup.
While no doubt they are doing what works for them, learning how to collaborate with other developers (who might have varying levels of knowledge, technical disagreements, personal disagreements, etc.) is vital to success in the "real world", and many CS programs regularly encourage collaoration by assigning group projects.
Speaking of PostgreSQL, is there anyone one can get an already compiled, ready-to-run-setup.exe version of it? I don't see widespread adoption being possible if using it requires compilation, Cygwin, etc. (That stuff is fine for developers, of course.)
Without regard to fairness, it's mathematically impossible for "the rich" to not get the bulk of any tax cut; taxes could be eliminated completely for the bottom 50%, cut very slightly for the top 10%, and the bulk of the reduction would still go to top.
Sadly, a more likely outcome is increased vandalism of vending machines.
People will do it all day on SlashDot because they are bored.
Imagine what they would to do potentially get a better price on Hardware. Perhaps a Perl script that tries all kinds of User-agent strings, language settings, and anything else you can vary in the request process, then tries every combination many times, all looking for the best price Dell offers on a widget.
People *do not like* the feeling that the next guy got a better price than they did.
I've used Doors, at least the web interface to it.
I would recommend it strongly... to anyone I am competing with.
To be fair, though, I hear that with its native Windows client it is much better.
This can indeed be a big challenge.
You want the flexibility and confidence that an XP-ish suite of unit and functional tests all through a project would provide.
But you have either (1) no tests, we just hope it works, or (2) some tests that a testing team goes through manually, and may or may not pick up problems, and take weeks to do.
Solution: Start adding tests. Start refactoring a bit at a time. Get a fast, automatic build running. Add more tests. Add more tests. Refactor a little more. Continue until you have tamed the beast.
Regarding change control, the challenge is to make it really be "control". As organizations get larger or more further up CMM, and projects become more complex, change control often looks a lot more like "change prevention"... the cost of each change gets larger and larger (due to heavyweight processes) that even most worthwhile changes get killed before any work can be done.
A big point of XP is that the sum effect is to make software stay "soft", to make it possible to change even as it gets larger and more complex.
Sometimes it sounds that way, but in fact the adherents of XP are quite intensely interested in strong designs.
Out in the "real world" (not in school, obviously), a business purpose of code reuse is to avoid paying person X to write what you already paid person Y to write, where X Y.
Once the JIT or HotSpot gets going, Java can be faster than VB, Python, Ruby, etc. for server side web development.
Java gets a reputation for being slow because of (1) the startup overhead and (2) Java GUIs are still a good deal less responsive than native GUIs. But for actual CPU-intensive computation, Java is actually quite fast, with a modern JVM.
I would not call PHP "beatiful" :-) but it is very useful, I have built quite a few dynamic sites with it myself.
A big piece of the power of PHP is that so much is "in the box"; it's different than, for example, Perl (where you need to get a bunch of modules from CPAN), ASP (where you need a bunch of third party products), Java (lots of third party jars), etc.
At the risk of being so general as to be useless:
1) It matters a lot what technologies the developers are familiar with... if they've done a lot of VBScript, they will probably get the job done faster that way and vice versa.
2) The project size is also quite relevant. I'd be inclined to choose a VBScript / ASP-intensive for smaller projects, and choose a "heavier" approach (such as Servlets, XML-XSL, etc.) for larger projects. Depending on how you use it, Perl could go either way... certainly one can do write-only Perl, but there are also large, complex sites built this way. It generally takes less Perl than it would VBScript or Java to get the job done.
Along these same lines, we see news articles etc. about the perils of people who work too hard, who take their work home with them and ignore their families, etc.
Well, duh... isn't that what they were taught in school, in the form of homework?
Make sure you get in to a good college. Shortly thereafter, it is unlikely that anyone will even ask, ever in your whole life, what your high school grades were anyway.
I have connected two T1 routers (Ascend, I forget the model #) together end-to-end (with appropriate wire pairs swapped), and they talked to each other just fine, with no other equipment in the middle.
From his resume (online somewhere) which points out that he has started several companies, I think it's unlikely that Greenspun is/was naive. It sounds more like he was willfully deceived.
An MIT alum told me that he felt that in addition to a great experience being there, he had found a big advantage of an MIT education is the "ooh wow" factor... people (including hiring managers) assumed must be really smart/capable/etc. because he went to MIT. This "glow" could continue for decades.
[if you're not going to take the time for architecture design]
This makes it sound like XP is about punting on architecture. That is far from true.
XP is an many ways the total opposite of "hacking". When is the last time you wrote unit tests and/or acceptance tests first (or at all) when hacking?
Quite true. I've been applying some of the ideas from XP (it's hard to embrace all of it in within an existing corporate culture), and now think about not having the things that XP providers (tests to know your code works, resilence against changing requirements) as extremely risk.
XP is a strategy for dealing with real-world risks.
Not boss, coworker. And you trade the keyboard back and forth.
It works much better in real life than it sounds like it would.
You missed one option, one that I think has some likelihood:
* It's just not as big a deal as Sci-fi readers might think. It would be the big story on the news for a long time and life would go on unchanged for 99% of the population of the planet.
I (still) have IDSL from Covad.
I wonder why they would stop supporting it? It seems like a great deal for the DSL company - they charge a lot more than ADSL, yet deliver much less bandwidth, and their customers (including me) happily go along with it because that's all there is at 20K+ feet, and the alternative is dialup.
Same here. Speakeasy/Covad has done a great job for me.
Recommended.
Another option is to work for/though a consulting/contracting firm that has a reasonable (i.e. appropriately limited) non-compete agreement.
How could you possibly prove, ever, that you do *not* have the key?
While no doubt they are doing what works for them, learning how to collaborate with other developers (who might have varying levels of knowledge, technical disagreements, personal disagreements, etc.) is vital to success in the "real world", and many CS programs regularly encourage collaoration by assigning group projects.
Speaking of PostgreSQL, is there anyone one can get an already compiled, ready-to-run-setup.exe version of it? I don't see widespread adoption being possible if using it requires compilation, Cygwin, etc. (That stuff is fine for developers, of course.)
Interbase also has some advantages.
Without regard to fairness, it's mathematically impossible for "the rich" to not get the bulk of any tax cut; taxes could be eliminated completely for the bottom 50%, cut very slightly for the top 10%, and the bulk of the reduction would still go to top.