Although IMAP solves the two-computers issues effectively for email, there are still a whole bunch of other areas where having two machines is a pain (setting up a development environment twice, keeping projects in sync, etc.)
I used to use a bunch of scripts, a portable hard drive, directory sync software, etc.
By I found that the more straightforward solution, buying a sufficiently powerful notebook and getting rid of the desktop, works a lot better and is much less work to keep everything gong.
**Object orientation was really designed for massive, distributed software projects,**
(Disclaimer: I find OO concepts and languages very appealing. I program in Java. I sometimes think longingly of SmallTalk. But I also like Perl.)
From what I have seen, overuse of OO concepts has a tendency to take a project that would have been small and simple and *make* it in to a "massive, software project", sometimes just by the sheer heft of the source code. Java is particularly eggregious:
* a member variable ends up needing two accessor methods if you follow the patterns. This further boosts code length because each reference to an accessor is wordy. (For an example of how to handle this MUCH more smoothly, look at Delphi's object "properties").
* People end up defining a class or an interface to hold a list of Integer constants... misusing an OO concept to make up for the language not having enumerated types.
* Overapplication of design patterns results in layers upon layers of classes which do very little actual work, which in addition to excessive code length makes the code very hard to follow.
* I'm sure the anti-Java-zealots among us could supply more examples.
Re:Oracle and its misuse (an example)
on
Why Not MySQL?
·
· Score: 1
They would have been better off spending more on the people and less on the database.
To put it another way, if you can't (won't) afford to hire people who know how and why to use Oracle properly, there is little reason to pay for it.
But it's also obvious that any commercial software developed in this way would be unfeasibly expensive, unfeatureful, and 5-10 years obsolete by the time it was done.
The NASA model most definately is NOT compatible with "internet time"
* Detail design documentation often ends up missing key things about the real (implemented) design
* the comments before each function (method, yada yada) don't necessarily match what it really does, particularly in various exceptional cases.
Extensive, highly detailed documentation has a big problem: it ends up being just as complex as the source code, and there is not really anything *forcing* it to truly match the source code.
In a very fundamental way, the source *is* the only documentation that is guaranteed to be right.
Learning another language seems like a great idea, but with all the other things I also want to do, it doesn't make.
Frankly, the rest of the world appears willing to learn English, so those of us that speak it don't really have a compelling reason to learn anything else.
(I replaced nearly 80,000 lines of Perl with only 20,000 of Java)
You make some good points, but this one seems suspicious. I have done dynamic web sites in Java, Perl, PHP, ASP, etc., and have found that it generally takes a lot more Java to get the job done.
I also have the 7500, and find its battery life to be totally adequate. Long enough to get a bunch of work done on an airplane, do a demo of some kind without having to find a place to plug in. If I need to work for more than 3 hours, finding an outlet has not been a problem.
(Speaking of problems, the built in "sleep" mode of Win2000 is much less reliable on the 7500 than the third party software for NT4... so I end up being very hesitant to Sleep with Win2K, resulting in greater power usage.)
This is the same yada-yada that happens with every new OS release. Just like corps that said "95 offers nothing, we are sticking with 3.1" etc. A few years later, everyone comes around and upgrade. It's part of the game. If you're going to live in the rapidly-changing PC world, you're going to upgrade computers to new OS's, it's just a matter of sooner or later.
Right now, the question is "what justifies 2000?" but in a year or two, then 2000 is the "Default" that everyone is using, the question becomes "what justifies running this old version?"
An interesting misfeature of this device is that when you plug a mouse into the PS/2 port, it disables all of the fancy touchpad features, and they stay disabled until you reboot the machine. In addition, I have been unable to get the wheel on the mouse to work in this configuration. An associate of mine gave up and remove the touchpad driver completely.
I have worked around the problem by using an USB mouse... thus avoid the PS/2 port that confuses the touchpad.
Regarding your last point, Extreme Programming, which embraces redesigning you class structure as often as necessary, seems to be primarily done in Smalltalk - you don't get much more pure OO than that.
I think it's purpose is PR-related, not technology-related. Powerful, fast electric vehicle can help persuade the (buying) public that electric = something they want to buy.
I think the issue is that they have a "new" architecture and an "old" architecture... the old one is a process-per-db-connection, with no data cache shared between the connection processes. (Obviously this is a remarkably BAD idea). The new architecture is one big "super-server" process (or a few processes, or something like this) with shared cache and all the other obvious stuff.
The Linux code still uses the old architecture. The NT code uses the new.
Delphi supports COM extensively (and smoothly), but doees not rely on it for much of anything. An interesting exception this is MIDAS, their multi-tier database toolset... they have said MIDAS will be an important piece in Kylix, it will be interesting to see what happens to the COM stuff.
Although IMAP solves the two-computers issues effectively for email, there are still a whole bunch of other areas where having two machines is a pain (setting up a development environment twice, keeping projects in sync, etc.)
I used to use a bunch of scripts, a portable hard drive, directory sync software, etc.
By I found that the more straightforward solution, buying a sufficiently powerful notebook and getting rid of the desktop, works a lot better and is much less work to keep everything gong.
**Object orientation was really designed for massive, distributed software projects,**
(Disclaimer: I find OO concepts and languages very appealing. I program in Java. I sometimes think longingly of SmallTalk. But I also like Perl.)
From what I have seen, overuse of OO concepts has a tendency to take a project that would have been small and simple and *make* it in to a "massive, software project", sometimes just by the sheer heft of the source code. Java is particularly eggregious:
* a member variable ends up needing two accessor methods if you follow the patterns. This further boosts code length because each reference to an accessor is wordy. (For an example of how to handle this MUCH more smoothly, look at Delphi's object "properties").
* People end up defining a class or an interface to hold a list of Integer constants... misusing an OO concept to make up for the language not having enumerated types.
* Overapplication of design patterns results in layers upon layers of classes which do very little actual work, which in addition to excessive code length makes the code very hard to follow.
* I'm sure the anti-Java-zealots among us could supply more examples.
They would have been better off spending more on the people and less on the database.
To put it another way, if you can't (won't) afford to hire people who know how and why to use Oracle properly, there is little reason to pay for it.
I hear this story a lot, it's very interesting.
But it's also obvious that any commercial software developed in this way would be unfeasibly expensive, unfeatureful, and 5-10 years obsolete by the time it was done.
The NASA model most definately is NOT compatible with "internet time"
In my experience:
* Detail design documentation often ends up missing key things about the real (implemented) design
* the comments before each function (method, yada yada) don't necessarily match what it really does, particularly in various exceptional cases.
Extensive, highly detailed documentation has a big problem: it ends up being just as complex as the source code, and there is not really anything *forcing* it to truly match the source code.
In a very fundamental way, the source *is* the only documentation that is guaranteed to be right.
There are some similarities in what you describe to Extreme Programming. (search Yahoo if you want to find sites about XP)
Any new such language should support nested parentheses explicitly, as you used them above.
Learning another language seems like a great idea, but with all the other things I also want to do, it doesn't make.
Frankly, the rest of the world appears willing to learn English, so those of us that speak it don't really have a compelling reason to learn anything else.
I just started a new job.
The job is great, but at the old job I sat on an Aeron. I miss it.
(I replaced nearly 80,000 lines of Perl with only 20,000 of Java)
You make some good points, but this one seems suspicious. I have done dynamic web sites in Java, Perl, PHP, ASP, etc., and have found that it generally takes a lot more Java to get the job done.
RMI-IIOP solves the JDK version problem, although it of course is much more limiting than normal RMI.
... which makes one wonder why a book about book burning would be named "Fahrenheit 451"
;-)
I am also mildly put off by the anti-Perl rhetoric. It's not my first choice in languages, but it is quite elegant, in its own way.
I would happily pay for a special edition "No Jar Jar" release. :-)
I also have the 7500, and find its battery life to be totally adequate. Long enough to get a bunch of work done on an airplane, do a demo of some kind without having to find a place to plug in. If I need to work for more than 3 hours, finding an outlet has not been a problem.
(Speaking of problems, the built in "sleep" mode of Win2000 is much less reliable on the 7500 than the third party software for NT4... so I end up being very hesitant to Sleep with Win2K, resulting in greater power usage.)
Most of what you had to say was right on, but WOW is the Herman Miller Aeron a nice chair.
Incidentally, CDW's site is built on ASP and SQL Server.
Personally, I enjoyed Babylon 5 much more than Star Wars Ep. 1.
(It was annoying to have season 4 rushed so badly, then season 5 was really bizarre. But 1-3 were fantastic.)
This is the same yada-yada that happens with every new OS release. Just like corps that said "95 offers nothing, we are sticking with 3.1" etc. A few years later, everyone comes around and upgrade. It's part of the game. If you're going to live in the rapidly-changing PC world, you're going to upgrade computers to new OS's, it's just a matter of sooner or later.
Right now, the question is "what justifies 2000?" but in a year or two, then 2000 is the "Default" that everyone is using, the question becomes "what justifies running this old version?"
An interesting misfeature of this device is that when you plug a mouse into the PS/2 port, it disables all of the fancy touchpad features, and they stay disabled until you reboot the machine. In addition, I have been unable to get the wheel on the mouse to work in this configuration. An associate of mine gave up and remove the touchpad driver completely.
I have worked around the problem by using an USB mouse... thus avoid the PS/2 port that confuses the touchpad.
Regarding your last point, Extreme Programming, which embraces redesigning you class structure as often as necessary, seems to be primarily done in Smalltalk - you don't get much more pure OO than that.
Or, you could just put larger wings and bigger engines, and skip building all that incredibly expensive track/right of way.
Oh wait, it's called an airplane, and it demonlished the passenger rail industry some time ago.
I think it's purpose is PR-related, not technology-related. Powerful, fast electric vehicle can help persuade the (buying) public that electric = something they want to buy.
I think the issue is that they have a "new" architecture and an "old" architecture... the old one is a process-per-db-connection, with no data cache shared between the connection processes. (Obviously this is a remarkably BAD idea). The new architecture is one big "super-server" process (or a few processes, or something like this) with shared cache and all the other obvious stuff.
The Linux code still uses the old architecture. The NT code uses the new.
Delphi supports COM extensively (and smoothly), but doees not rely on it for much of anything. An interesting exception this is MIDAS, their multi-tier database toolset... they have said MIDAS will be an important piece in Kylix, it will be interesting to see what happens to the COM stuff.