A relatively new approach to software development is "Extreme Programming", which I've been toying with quite a bit lately.
Extreme Programming is a sort of minimalist approach to software development, but that doesn't mean it requires no discipline.
At the heart of Extreme Programming are the following practices (from Wiki):
Coding. At the end of the day, if the program doesn't run and make money for the client, you haven't done anything.
Testing. You have to know when you're done. The tests tell you this. If you're smart, you'll write them first so you'll know the instant you're done. Otherwise, you're stuck thinking you maybe might be done, but knowing you're probably not, but you're not sure how close you are.
Listening. You have to learn what the problem is in the first place, then you have to learn what numbers to put in the tests. You probably won't know this yourself, so you have to get good at listening to clients- users, managers, and business people.
Refactoring. You have to take what your program tells you about how it wants to be structured and feed it back into the program. Otherwise, you'll sink under the weight of your own guesses.
For some great resources related to Extreme Programming, visit Ron Jeffries' website.
If you like, think of Java p-code as the back-end of any compiler. Then you have a language-neutral binary standard.
Do not confuse "Java the platform" with "Java the language". I can compile Java code to native machine-specific binaries if I choose, and get comparable performance to C++. When I compile for the JVM, then the result is the same but just for a different platform.
So... it locks you into Java no more than the COM spec locks you into C++ (it doesn't). I can write COM components in C, C++, Java, VB, etc. I just need to make the binary layout look right when dealing with interface pointers.
Isn't there an Eiffel compiler than generates Java p-code?
Even on TV we have choices. If you don't want to watch ads, then subscribe to paid programming like HBO.
For many families the free PCs or low-cost PCs (like the eMachines) are their only hope for getting connected to the internet. For these people, I'm sure the ads are worth the price.
However, your first statement that "we do pay for TV programming" was mostly accurate. I just think it is important to emphasize that even on TV the consumer has a choice.
Can anyone cite a reference regarding what OS HotMail is using? I'm not disputing these assertions, its just the first I've heard of it. I've had nothing but problems using HotMail, so I wouldn't be surprised if they made a change.
Big-O is useful mainly when you're talking about how the execution time will grow relative to the size of the problem. True, O(n) + O(n) won't grow any faster than O(n), but it is still twice as long.
"Horrendously bad" is of course relative, and can only be determined after profiling your application. In some cases it won't make a squat of a difference, but in others it could have a significant impact.
Extreme Programming is a sort of minimalist approach to software development, but that doesn't mean it requires no discipline.
At the heart of Extreme Programming are the following practices (from Wiki):
For some great resources related to Extreme Programming, visit Ron Jeffries' website.
If you like, think of Java p-code as the back-end of any compiler. Then you have a language-neutral binary standard.
Do not confuse "Java the platform" with "Java the language". I can compile Java code to native machine-specific binaries if I choose, and get comparable performance to C++. When I compile for the JVM, then the result is the same but just for a different platform.
So... it locks you into Java no more than the COM spec locks you into C++ (it doesn't). I can write COM components in C, C++, Java, VB, etc. I just need to make the binary layout look right when dealing with interface pointers.
Isn't there an Eiffel compiler than generates Java p-code?
Even on TV we have choices. If you don't want to watch ads, then subscribe to paid programming like HBO.
For many families the free PCs or low-cost PCs (like the eMachines) are their only hope for getting connected to the internet. For these people, I'm sure the ads are worth the price.
However, your first statement that "we do pay for TV programming" was mostly accurate. I just think it is important to emphasize that even on TV the consumer has a choice.
Can anyone cite a reference regarding what OS HotMail is using? I'm not disputing these assertions, its just the first I've heard of it. I've had nothing but problems using HotMail, so I wouldn't be surprised if they made a change.
Writing Solid Code is only about 250 pages, and a pretty quick read. Code Complete is indeed fat, but has a very high signal/noise ratio.
Big-O is useful mainly when you're talking about how the execution time will grow relative to the size of the problem. True, O(n) + O(n) won't grow any faster than O(n), but it is still twice as long.
"Horrendously bad" is of course relative, and can only be determined after profiling your application. In some cases it won't make a squat of a difference, but in others it could have a significant impact.