This sort of quote sounds very much like you read it off the net in some opinion piece somewhere, because it's meaningless and you offer no support for your assertion.
Let's see how you'd define Java without a virtual machine. Firstly, we'd assume that we'd not want to give up any of Java's features or 'niceness', because after all if there's no "need" for a virtual machine it implies that we can eliminate the VM without compromising anything.
So let's enter an alternate universe in which javac just produces a native executable file. Fine and dandy. Unfortunately, we immediately hit a few snags. How do applets work? Applets are distributed to whatever machine requests them, so unless you already have a compiled version you just can't do it. Hmmm. What about security? Java is a secure language, meaning that untrusted code running in the sandbox can't cause meaningful harm to your computer. You can't make that guarantee about an executable.
What about Web Start, which distributes code to different computers? That will be a problem too. How about a program which requests a few classes from elsewhere? Same thing.
Okay, so scrap that idea - clearly we'll have to give some things up. So instead of javac only producing executables, we'll change it to instead produce an intermediate format, and then have it automatically translated into the final representation as soon as we know what that representation is. Well, guess what, genius! VMs have been doing exactly that for five years.
"VM's are always going to be slower than native code. If you want a cross platform language, implement the cross platform ability at compile time rather than at run time"
Check out the Java Performance Report, in which Java delivers MS Visual C++ a thorough spanking. (Disclaimer: it does lose to Intel's compiler, but gcc isn't anywhere as good as Intel's)
The Slashdot community, at least, should be smarter than this. Never, ever say that technology A will never beat technology B without a mathematical proof of its limitations in hand.
What the hell is up with moderating the above post as a troll? There is absolutely nothing in there that any reasonable person could object to.
The issue with companies shying away from the GPL is a fact. I don't mess around with GPLed code for that exact reason. I'm really hoping I manage to get that moderator in metamod *rubs hands gleefully*...
Hmmm. I'm using Jikes with 2000+ file programs, no problem. I'm not using Ant, so maybe that's the issue, but I can assure you that Jikes has been able to handle *really* big programs for years.
Well, it's been six years since I've used a language other than Java, so your comments re. makefiles and specific IDEs don't really apply (or rather it's been so long that I can't remember the specifics).
As far as "cool" things I'm doing, I'm referring to pretty much anything but creating forms. Forms are easy, all the tools are designed to do that. Try doing anything sophisticated like, say, a table which has an embedded tree and expands/contracts rows as the tree elements are expanded/contracted. This is really easy to do with code (at least in Java) but unbelievably nightmarish to do in an IDE.
Any time I end up trying to do stuff like that and have it work right, the IDE ends up putting so many obstacles in my way that I wish I had just coded the thing from scratch. (And it's not just that the IDE makes me hand-code this behavior, it's that hand-coding it is really tough because of the way the IDE expects/wants everything to behave).
It's probably just because my GUIs aren't primarily form-based, but whatever...
I keep trying GUI tools every few years and I continually find that they make my life more difficult.
Perhaps I've just been using text editors and command line compilers for too long to successfully make the switch, but I always find that GUI tools are great for simple, brain-dead stuff but the second you want to do anything the least bit interesting the tool fights you every step of the way.
I refuse to stop doing interesting things in my programs, so until these tools stop fighting me I won't use them. I think the Microsoft crowd is (in general) a lot happier to say "Ooh, the tool doesn't want me to do that. Oh well" than I am.
I hold out hope, since the idea of being able to drag-and-drop my way to a user interface is pretty compelling, but I've never found the reality of the situation to be even remotely close.
No, not really. Stack-based systems just use registers for the topmost stack elements.
The Java VM is a stack-based system which is approximately equivalent to C's speed (a bit faster in some benchmarks, a bit slower in others). If you were to examine the machine code HotSpot produces, you'd see that it was indeed using registers even though the Java bytecode is entirely stack-based.
Re:Cell Shading = Old News
on
The New Zelda
·
· Score: 3, Interesting
True, cel shading has been around for a long time (what, ten years or so?). However, Nintendo's take on it is unbelievably advanced, with very impressive lighting and shading -- this makes Jet Grind Radio look like crap in comparison. I think saying that "they're just using the age old method of 'cell [sic] shading'" is doing them a tremendous disservice.
You might as well be saying that we shouldn't get excited about today's 2GHz machines, because after all they're just the same old von Neumann machines we've had for decades, while ignoring the fact that modern machines are millions of times faster and doing tricks John von Neumann never even dreamed of. This really is groundbreaking stuff, folks.
"I don't know any mechanics who argue whether a box wrench is better than a crescent -- they know that each tool has its uses, and they keep many different wrenches in their toolbox."
Hmmm. Let me see if I can take a stab at it. Maybe, just maybe, it has to do with the fact that it takes *years* to get really, really good at a programming language. Boasting college-age geeks aside, you simply can't master a language overnight.
You can bet your ass that if it took a mechanic years to become truly competent with a crescent wrench, he'd be trying to convince everybody that it was the best tool for every job. I don't see this as a remotely valid comparison.
I hear a lot of people spouting the "right tool for the job" argument, but I always argue that in the real world people can't simply dump everything they know and learn another language because it's 10% more efficient for a particular problem. Dropping, say, Java and moving to C++ would be every bit as big of an investment as most of you dropping Linux programming and moving to.Net, because in the case of Java there are what, 4,000 classes which are part of the core APIs? That's an awful lot of API to relearn in order to switch platforms, and I don't think your crescent vs. box wrench analogy even comes close to describing the real situation.
Maybe if you never used anything but System.out.println()....
I do like how paint Java with the brush of religious zealotry with your use of the word 'saved'. Quite effective.
Back here in the real world, I work at a company with mixed C++/Java development. Primarily C++, with the Java teams (of which I am part) barely tolerated by the old-school management. Amazingly, despite the fact that our code performs better than C++ (true) and we are always far ahead of schedule while the C++ teams running into roadblock after roadblock (also true) we still have to continually justify our use of Java to the C++-loving managers. I also thought it was pretty funny how difficult it was for the C++ guys to upgrade from FreeBSD 2.6 to 4.0 while we can move between Windows and pretty much any flavor of Unix without even noticing.
I programmed in C++ for many years, and I thought it was a flaming piece of crap the entire time. I'm endlessly amused by opinions like yours that I'm somehow not a "real" programmer because I choose not to flagellate myself with the whips of dangling pointers, stack vs. heap allocation, ridiculous usage of overloaded operators, broken templates and exception handling, inexplicable linkage errors, and who-knows-what-else that I've managed to supress in my subconscious.
My question is: what don't you like about Java? I've coherently summarized my argument against C++, and believe me I can (as a past C++ developer) get into quite a bit more detail if I need to. What's your position against Java?
I'm truly not sure how the "Swing is slow" bandwagon got started. Maybe Java2D (the graphics engine powering Swing) has performance issues with some video card/driver combinations, but I've used Swing on everything from a PII/350 to an Athlon 1200 and never seen any such problems. Admittedly, Swing *was* quite slow in the really, really early days back when it barely even worked, but no reasonable version of it (IMHO) has ever had a serious performance problem.
For the record, I'm currently working on a massive enduser Java application using Swing. Resizing JInternalFrames is slower than I'd like, but I have no complaints about anything else (I can even make half the components partially transparent without affecting rendering speed at all). I hope to have it in beta late this year.
When did I say that my friends were pre-pubescent when Bloom County was in production? Most of my friends are in their thirties and forties. They still weren't familiar with it until I mentioned it.
I'd be more inclined to agree with you if a single one of my non-hacker friends liked either Dilbert or Bloom County. Most of my non-work friends haven't even heard of Bloom County.
Those are my three favorite comics, too! Pretty freaky. I never really liked Outland, but Bloom County was an unbelievable strip, IMHO unmatched by anything currently published.
I wonder how many other hackers are into these three? A cultural phenomenon, perhaps?
Do you object to "Wanted" posters in the post office? How about America's Most Wanted? I'm not at all clear on how you believe this to be any different than disseminating a criminal's photograph and waiting for someone to recognize him. This simply automates the process. If you're okay with the previous two examples, I'm not sure what makes this different.
Certainly there are false positives from both "Wanted" posters and shows like America's Most Wanted. Unless the rate of false positives here is higher, I don't see any reason to get any more uptight about it.
I completely agree, though, about the war on drugs. It's completely and totally irrational. (for the record: I have never even tried any illegal drug, so I have no vested interest in saying this).
Lots of people here are saying "this is legal because you have good intentions"... which is, of course, absolutely not true.
Imagine you got home after work one day, and found your front door standing wide open. You frantically search the house, and find a complete stranger sitting down at your computer. He cheerfully tells you that your computer was infected with a virus, and that he's going around the neighborhood breaking into people's houses fixing their computers.
No damage was done, because he merely picked the lock to the front door. You check out your computer and as far as you can tell everything looks fine, so it seems like he was telling the truth.
Do you:
A) say "Oh, that's okay! Thanks for fixing it!"
B) tell him to get the hell out of your house, and then call the police?
I'm betting the vast majority of you would pick (B). Now (just like all the other idiots on/.) IANAL, but I imagine the courts would be quite willing to see a counter-worm situation similarly. It is not legal, and it could land you in some serious trouble even if your intentions were pure.
I have a Linksys router (Etherfast Cable/DSL) which makes it pretty seamless. When I first try to pull up a web page, it takes a few seconds as the router connects, and then after that it's fine. That's all there is to it.
I would absolutely despise PPPOE if I had to manually initiate a connection every time I wanted to do something, but having your router connect on demand for your entire home network mostly eliminates the pain.
I love how you choose music as your only example. Music is a bit special, because even though fans are perfectly happy to pirate CDs, they'll still pay to see the band in person, and the band can make a killing on ticket sales. The same is not true of authors, painters, photographers, sculptors, programmers, nor in fact pretty much any other kind of artist.
Imagine trying to make a living as, say, a nature photographer if anybody could simply appropriate your work and sell it without you seeing any money from it. Does anyone here honestly think that (say) Ansel Adams would have produced such astounding photographic works if they were published without his permission, and nobody would actually pay him for his work? Would the world be a better place if that had been the case? Maybe, maybe not. But I'd be willing to bet that there aren't that many successful Taiwanese nature photographers (just to pick an example).
The idea of anybody being able to take a program I've written, and sell it without my permission and me not see a cent from it, really pisses me off. And I have a feeling that most of you chanting "information wants to be free" would feel the same way, if it were your software being used without your permission.
IMPORTANT POINT: before you flame, remember than in complete absence of IP laws (as in Taiwan), the GPL isn't legal. That's right -- Microsoft could steal whatever parts of Linux or other GPLed software they want, and use them as their own, and you couldn't do a damned thing about it. THAT's true lack of IP laws.
What's interesting is that as much as the popular press likes to talk about the X-Box being more powerful, most observers at E3 pegged GameCube as having better graphics (not to mention games, where there's no comparison).
It's $100 cheaper, has much better games, it's a lot smaller, has a better controller -- what more do you want?
Why do people keep posing technical legal questions to a bunch of geeks, most of whom haven't even graduated from college yet? Is there some secret stash of lawyers on Slashdot that I'm not aware of yet?
Judging from the uninformed comments above, evidently not, but there are a *ton* of clueless idiots who are more than happy to spout off their opinions on a subject they know nothing about. But hey, that's what most Slashdot discussions are anyway.
Trade secrets are covered by a myriad of laws, and you can get in serious trouble for divulging them even if you learned of them by accident. Call a lawyer to find out more details. Slashdot can't provide much help on legal questions, as we've proved over and over and over again...
This is what we refer to as "nostalgia". I used Macs for years, and there is no way in hell you can tell me that Macspeak sounds as good as this thing. It's not even close.
.Net includes a GUI library, called WinForms. It's roughly equivalent to the AWT, and the Mono team intends to provide an implementation of it based on Linux native GUI code, so yes we're very much talking a similar situation to what Java has gone through. Pretty much exactly the same, in fact.
And I never said it was impossible to *port* software, but the whole point of.Net (as with Java) is not to have to -- it should just work. That's the idea, at least.
The fact that Netscape has actually abandoned their own efforts and developed XUL should also be proof enough that porting between Unix and Windows is an unbelievable bitch to get right. Netscape's XUL is yet another case of giving up and doing your own library, very similar to what I mentioned with AWT and Swing. I'm not very familiar with the others, but it wouldn't surprise me if they had their own lightweight component libraries as well and eschewed native code as much as possible.
My point is simply that as long as Mono and.Net are both targetting different native GUI libraries, the chances of them working similarly for all but very basic programs is essentially nil.
Agreed, Mono will still be useful for people specifically targetting Linux, because then you won't care whether it works the same on Windows, but I still consider the potential lack of cross-platform functionality a significant drawback.
Go ahead, hit me with the -1, Flamebait. I can take it.
In all seriousness, though, I cannot even remotely imagine Mono actually working for anything more complicated than Hello World apps. Consider that our experience with powerful cross-platform languages so far basically starts and stops with Java. Before anybody starts spouting out examples of their favorite cross-platform programming language: unless you've written a word processor or equally heinous client-side app and had it work on other systems on the first or second try, it does not count.
So let's consider Mono in light of our current experience with Java (disclaimer: I am a professional Java developer). Java's basic operations were pretty simple to get right: right out of the gate most non-GUI apps were likely to work on all platforms (as long as they weren't too big...). The AWT, however, was a disaster. GUIs are a lot more complicated than most non-GUI programmers realize, and tiny inconsistencies between platforms can easily break things. The AWT was the simplest API imaginable, and after two years of Sun's (and many other's) work on it getting GUI apps to work was still very hit-and-miss. Keep in mind that this API was so simple that it didn't even support clipboards, drag-and-drop, or even PRINTING in its first release. It didn't have tables, or real file dialogs, or trees, or split panes, or a million other things we take for granted. And it still didn't work.
Only after the incredible investment of time that Swing took was Java finally able to *really* get things right between platforms. For the non-Java-nuts among us, Swing is a component library written completely in Java. The native system libraries are used only for very basic painting and input operations. In other words, getting native GUIs to work the same way on multiple platforms was essentially impossible for Sun: they gave up and wrote it all from scratch in Java.
The situation with Mono is even worse, because the API is by Microsoft. I confess that I am not familiar with WinForms; if it's an incredibly elegant, simple API please correct me. However, most GUI libraries are REALLY, REALLY complicated; again, if you've never tried writing something like a cross-platform word processor, you just don't understand how tough it can be. The idea of everything working exactly the same between Mono and Windows (when Winforms simply delegates to Window's native API) is almost laughable.
I'll close with a simple example of what the Java team faced and why Swing even exists. The AWT TextArea naturally just used the native Windows, Macintosh, or whatever text area to get its work done. Exactly, I believe, as WinForms does. Problem: the Windows implementation of TextArea wouldn't work with more than 32K of text under Win95 and Win98. Unix programmers would happily dump megabytes of text into their (perfectly working) text areas, which would then blow up on Windows. They would then bitch at Java for not working cross-platform. This particular issue with Windows may since have been resolved, but in its time it was a very large problem. There were many, many other similar things -- which is why for the most part nobody uses native GUIs in Java anymore.
No disrepect to the Mono team intended, but I'm inclined to believe that any complicated apps won't have a prayer in hell of working. Again, the non-GUI stuff may not be a problem, but Unix doesn't need any help in that department. What Unix needs is good client apps, and I think the Mono team is completely out of touch with reality if they think it's as simple as hacking together a Winforms implementation overnight.
(And please don't bother responding with anything along the lines of "Yeah, but it's open-source so it must be better than what Sun can do!" Bullshit. Sun, Netscape (now AOL) IBM, the Apache team, and a million other groups are all working on Java, and there's no way such incredible development resources will ever be pooled together for a simple port of.Net. The Linux crowd worked for years just getting Java ported, and it already ran on a flavor of Unix)
"There is no need for a virtual machine?"
This sort of quote sounds very much like you read it off the net in some opinion piece somewhere, because it's meaningless and you offer no support for your assertion.
Let's see how you'd define Java without a virtual machine. Firstly, we'd assume that we'd not want to give up any of Java's features or 'niceness', because after all if there's no "need" for a virtual machine it implies that we can eliminate the VM without compromising anything.
So let's enter an alternate universe in which javac just produces a native executable file. Fine and dandy. Unfortunately, we immediately hit a few snags. How do applets work? Applets are distributed to whatever machine requests them, so unless you already have a compiled version you just can't do it. Hmmm. What about security? Java is a secure language, meaning that untrusted code running in the sandbox can't cause meaningful harm to your computer. You can't make that guarantee about an executable.
What about Web Start, which distributes code to different computers? That will be a problem too. How about a program which requests a few classes from elsewhere? Same thing.
Okay, so scrap that idea - clearly we'll have to give some things up. So instead of javac only producing executables, we'll change it to instead produce an intermediate format, and then have it automatically translated into the final representation as soon as we know what that representation is. Well, guess what, genius! VMs have been doing exactly that for five years.
"VM's are always going to be slower than native code. If you want a cross platform language, implement the cross platform ability at compile time rather than at run time"
Check out the Java Performance Report, in which Java delivers MS Visual C++ a thorough spanking. (Disclaimer: it does lose to Intel's compiler, but gcc isn't anywhere as good as Intel's)
The Slashdot community, at least, should be smarter than this. Never, ever say that technology A will never beat technology B without a mathematical proof of its limitations in hand.
I've been able to switch my application between different app servers in about five minutes.
What sorts of problems are you running into?
What the hell is up with moderating the above post as a troll? There is absolutely nothing in there that any reasonable person could object to.
The issue with companies shying away from the GPL is a fact. I don't mess around with GPLed code for that exact reason. I'm really hoping I manage to get that moderator in metamod *rubs hands gleefully*...
Hmmm. I'm using Jikes with 2000+ file programs, no problem. I'm not using Ant, so maybe that's the issue, but I can assure you that Jikes has been able to handle *really* big programs for years.
Well, it's been six years since I've used a language other than Java, so your comments re. makefiles and specific IDEs don't really apply (or rather it's been so long that I can't remember the specifics).
As far as "cool" things I'm doing, I'm referring to pretty much anything but creating forms. Forms are easy, all the tools are designed to do that. Try doing anything sophisticated like, say, a table which has an embedded tree and expands/contracts rows as the tree elements are expanded/contracted. This is really easy to do with code (at least in Java) but unbelievably nightmarish to do in an IDE.
Any time I end up trying to do stuff like that and have it work right, the IDE ends up putting so many obstacles in my way that I wish I had just coded the thing from scratch. (And it's not just that the IDE makes me hand-code this behavior, it's that hand-coding it is really tough because of the way the IDE expects/wants everything to behave).
It's probably just because my GUIs aren't primarily form-based, but whatever...
I keep trying GUI tools every few years and I continually find that they make my life more difficult.
Perhaps I've just been using text editors and command line compilers for too long to successfully make the switch, but I always find that GUI tools are great for simple, brain-dead stuff but the second you want to do anything the least bit interesting the tool fights you every step of the way.
I refuse to stop doing interesting things in my programs, so until these tools stop fighting me I won't use them. I think the Microsoft crowd is (in general) a lot happier to say "Ooh, the tool doesn't want me to do that. Oh well" than I am.
I hold out hope, since the idea of being able to drag-and-drop my way to a user interface is pretty compelling, but I've never found the reality of the situation to be even remotely close.
No, not really. Stack-based systems just use registers for the topmost stack elements.
The Java VM is a stack-based system which is approximately equivalent to C's speed (a bit faster in some benchmarks, a bit slower in others). If you were to examine the machine code HotSpot produces, you'd see that it was indeed using registers even though the Java bytecode is entirely stack-based.
True, cel shading has been around for a long time (what, ten years or so?). However, Nintendo's take on it is unbelievably advanced, with very impressive lighting and shading -- this makes Jet Grind Radio look like crap in comparison. I think saying that "they're just using the age old method of 'cell [sic] shading'" is doing them a tremendous disservice.
You might as well be saying that we shouldn't get excited about today's 2GHz machines, because after all they're just the same old von Neumann machines we've had for decades, while ignoring the fact that modern machines are millions of times faster and doing tricks John von Neumann never even dreamed of. This really is groundbreaking stuff, folks.
"I don't know any mechanics who argue whether a box wrench is better than a crescent -- they know that each tool has its uses, and they keep many different wrenches in their toolbox."
.Net, because in the case of Java there are what, 4,000 classes which are part of the core APIs? That's an awful lot of API to relearn in order to switch platforms, and I don't think your crescent vs. box wrench analogy even comes close to describing the real situation.
Hmmm. Let me see if I can take a stab at it. Maybe, just maybe, it has to do with the fact that it takes *years* to get really, really good at a programming language. Boasting college-age geeks aside, you simply can't master a language overnight.
You can bet your ass that if it took a mechanic years to become truly competent with a crescent wrench, he'd be trying to convince everybody that it was the best tool for every job. I don't see this as a remotely valid comparison.
I hear a lot of people spouting the "right tool for the job" argument, but I always argue that in the real world people can't simply dump everything they know and learn another language because it's 10% more efficient for a particular problem. Dropping, say, Java and moving to C++ would be every bit as big of an investment as most of you dropping Linux programming and moving to
Maybe if you never used anything but System.out.println()....
I do like how paint Java with the brush of religious zealotry with your use of the word 'saved'. Quite effective.
Back here in the real world, I work at a company with mixed C++/Java development. Primarily C++, with the Java teams (of which I am part) barely tolerated by the old-school management. Amazingly, despite the fact that our code performs better than C++ (true) and we are always far ahead of schedule while the C++ teams running into roadblock after roadblock (also true) we still have to continually justify our use of Java to the C++-loving managers. I also thought it was pretty funny how difficult it was for the C++ guys to upgrade from FreeBSD 2.6 to 4.0 while we can move between Windows and pretty much any flavor of Unix without even noticing.
I programmed in C++ for many years, and I thought it was a flaming piece of crap the entire time. I'm endlessly amused by opinions like yours that I'm somehow not a "real" programmer because I choose not to flagellate myself with the whips of dangling pointers, stack vs. heap allocation, ridiculous usage of overloaded operators, broken templates and exception handling, inexplicable linkage errors, and who-knows-what-else that I've managed to supress in my subconscious.
My question is: what don't you like about Java? I've coherently summarized my argument against C++, and believe me I can (as a past C++ developer) get into quite a bit more detail if I need to. What's your position against Java?
I'm truly not sure how the "Swing is slow" bandwagon got started. Maybe Java2D (the graphics engine powering Swing) has performance issues with some video card/driver combinations, but I've used Swing on everything from a PII/350 to an Athlon 1200 and never seen any such problems. Admittedly, Swing *was* quite slow in the really, really early days back when it barely even worked, but no reasonable version of it (IMHO) has ever had a serious performance problem.
For the record, I'm currently working on a massive enduser Java application using Swing. Resizing JInternalFrames is slower than I'd like, but I have no complaints about anything else (I can even make half the components partially transparent without affecting rendering speed at all). I hope to have it in beta late this year.
When did I say that my friends were pre-pubescent when Bloom County was in production? Most of my friends are in their thirties and forties. They still weren't familiar with it until I mentioned it.
I'd be more inclined to agree with you if a single one of my non-hacker friends liked either Dilbert or Bloom County. Most of my non-work friends haven't even heard of Bloom County.
Those are my three favorite comics, too! Pretty freaky. I never really liked Outland, but Bloom County was an unbelievable strip, IMHO unmatched by anything currently published.
I wonder how many other hackers are into these three? A cultural phenomenon, perhaps?
Do you object to "Wanted" posters in the post office? How about America's Most Wanted? I'm not at all clear on how you believe this to be any different than disseminating a criminal's photograph and waiting for someone to recognize him. This simply automates the process. If you're okay with the previous two examples, I'm not sure what makes this different.
Certainly there are false positives from both "Wanted" posters and shows like America's Most Wanted. Unless the rate of false positives here is higher, I don't see any reason to get any more uptight about it.
I completely agree, though, about the war on drugs. It's completely and totally irrational. (for the record: I have never even tried any illegal drug, so I have no vested interest in saying this).
Lots of people here are saying "this is legal because you have good intentions" ... which is, of course, absolutely not true.
/.) IANAL, but I imagine the courts would be quite willing to see a counter-worm situation similarly. It is not legal, and it could land you in some serious trouble even if your intentions were pure.
Imagine you got home after work one day, and found your front door standing wide open. You frantically search the house, and find a complete stranger sitting down at your computer. He cheerfully tells you that your computer was infected with a virus, and that he's going around the neighborhood breaking into people's houses fixing their computers.
No damage was done, because he merely picked the lock to the front door. You check out your computer and as far as you can tell everything looks fine, so it seems like he was telling the truth.
Do you:
A) say "Oh, that's okay! Thanks for fixing it!"
B) tell him to get the hell out of your house, and then call the police?
I'm betting the vast majority of you would pick (B). Now (just like all the other idiots on
I have a Linksys router (Etherfast Cable/DSL) which makes it pretty seamless. When I first try to pull up a web page, it takes a few seconds as the router connects, and then after that it's fine. That's all there is to it.
I would absolutely despise PPPOE if I had to manually initiate a connection every time I wanted to do something, but having your router connect on demand for your entire home network mostly eliminates the pain.
I love how you choose music as your only example. Music is a bit special, because even though fans are perfectly happy to pirate CDs, they'll still pay to see the band in person, and the band can make a killing on ticket sales. The same is not true of authors, painters, photographers, sculptors, programmers, nor in fact pretty much any other kind of artist.
Imagine trying to make a living as, say, a nature photographer if anybody could simply appropriate your work and sell it without you seeing any money from it. Does anyone here honestly think that (say) Ansel Adams would have produced such astounding photographic works if they were published without his permission, and nobody would actually pay him for his work? Would the world be a better place if that had been the case? Maybe, maybe not. But I'd be willing to bet that there aren't that many successful Taiwanese nature photographers (just to pick an example).
The idea of anybody being able to take a program I've written, and sell it without my permission and me not see a cent from it, really pisses me off. And I have a feeling that most of you chanting "information wants to be free" would feel the same way, if it were your software being used without your permission.
IMPORTANT POINT: before you flame, remember than in complete absence of IP laws (as in Taiwan), the GPL isn't legal. That's right -- Microsoft could steal whatever parts of Linux or other GPLed software they want, and use them as their own, and you couldn't do a damned thing about it. THAT's true lack of IP laws.
Next March? Try this November. 11-05-2001 in North America. September in Japan, I believe.
With the launch that close, you'd better believe that Nintendo should have a pretty damned good idea whether they'll hit their numbers or not.
--- egomaniac
What's interesting is that as much as the popular press likes to talk about the X-Box being more powerful, most observers at E3 pegged GameCube as having better graphics (not to mention games, where there's no comparison).
It's $100 cheaper, has much better games, it's a lot smaller, has a better controller -- what more do you want?
Gamecube all the way...
--- egomaniac
Why do people keep posing technical legal questions to a bunch of geeks, most of whom haven't even graduated from college yet? Is there some secret stash of lawyers on Slashdot that I'm not aware of yet?
Judging from the uninformed comments above, evidently not, but there are a *ton* of clueless idiots who are more than happy to spout off their opinions on a subject they know nothing about. But hey, that's what most Slashdot discussions are anyway.
Trade secrets are covered by a myriad of laws, and you can get in serious trouble for divulging them even if you learned of them by accident. Call a lawyer to find out more details. Slashdot can't provide much help on legal questions, as we've proved over and over and over again...
--- egomaniac
This is what we refer to as "nostalgia". I used Macs for years, and there is no way in hell you can tell me that Macspeak sounds as good as this thing. It's not even close.
--- egomaniac
.Net includes a GUI library, called WinForms. It's roughly equivalent to the AWT, and the Mono team intends to provide an implementation of it based on Linux native GUI code, so yes we're very much talking a similar situation to what Java has gone through. Pretty much exactly the same, in fact.
.Net (as with Java) is not to have to -- it should just work. That's the idea, at least.
And I never said it was impossible to *port* software, but the whole point of
The fact that Netscape has actually abandoned their own efforts and developed XUL should also be proof enough that porting between Unix and Windows is an unbelievable bitch to get right. Netscape's XUL is yet another case of giving up and doing your own library, very similar to what I mentioned with AWT and Swing. I'm not very familiar with the others, but it wouldn't surprise me if they had their own lightweight component libraries as well and eschewed native code as much as possible.
--- egomaniac
My point is simply that as long as Mono and .Net are both targetting different native GUI libraries, the chances of them working similarly for all but very basic programs is essentially nil.
Agreed, Mono will still be useful for people specifically targetting Linux, because then you won't care whether it works the same on Windows, but I still consider the potential lack of cross-platform functionality a significant drawback.
--- egomaniac
Go ahead, hit me with the -1, Flamebait. I can take it.
.Net. The Linux crowd worked for years just getting Java ported, and it already ran on a flavor of Unix)
In all seriousness, though, I cannot even remotely imagine Mono actually working for anything more complicated than Hello World apps. Consider that our experience with powerful cross-platform languages so far basically starts and stops with Java. Before anybody starts spouting out examples of their favorite cross-platform programming language: unless you've written a word processor or equally heinous client-side app and had it work on other systems on the first or second try, it does not count.
So let's consider Mono in light of our current experience with Java (disclaimer: I am a professional Java developer). Java's basic operations were pretty simple to get right: right out of the gate most non-GUI apps were likely to work on all platforms (as long as they weren't too big...). The AWT, however, was a disaster. GUIs are a lot more complicated than most non-GUI programmers realize, and tiny inconsistencies between platforms can easily break things. The AWT was the simplest API imaginable, and after two years of Sun's (and many other's) work on it getting GUI apps to work was still very hit-and-miss. Keep in mind that this API was so simple that it didn't even support clipboards, drag-and-drop, or even PRINTING in its first release. It didn't have tables, or real file dialogs, or trees, or split panes, or a million other things we take for granted. And it still didn't work.
Only after the incredible investment of time that Swing took was Java finally able to *really* get things right between platforms. For the non-Java-nuts among us, Swing is a component library written completely in Java. The native system libraries are used only for very basic painting and input operations. In other words, getting native GUIs to work the same way on multiple platforms was essentially impossible for Sun: they gave up and wrote it all from scratch in Java.
The situation with Mono is even worse, because the API is by Microsoft. I confess that I am not familiar with WinForms; if it's an incredibly elegant, simple API please correct me. However, most GUI libraries are REALLY, REALLY complicated; again, if you've never tried writing something like a cross-platform word processor, you just don't understand how tough it can be. The idea of everything working exactly the same between Mono and Windows (when Winforms simply delegates to Window's native API) is almost laughable.
I'll close with a simple example of what the Java team faced and why Swing even exists. The AWT TextArea naturally just used the native Windows, Macintosh, or whatever text area to get its work done. Exactly, I believe, as WinForms does. Problem: the Windows implementation of TextArea wouldn't work with more than 32K of text under Win95 and Win98. Unix programmers would happily dump megabytes of text into their (perfectly working) text areas, which would then blow up on Windows. They would then bitch at Java for not working cross-platform. This particular issue with Windows may since have been resolved, but in its time it was a very large problem. There were many, many other similar things -- which is why for the most part nobody uses native GUIs in Java anymore.
No disrepect to the Mono team intended, but I'm inclined to believe that any complicated apps won't have a prayer in hell of working. Again, the non-GUI stuff may not be a problem, but Unix doesn't need any help in that department. What Unix needs is good client apps, and I think the Mono team is completely out of touch with reality if they think it's as simple as hacking together a Winforms implementation overnight.
(And please don't bother responding with anything along the lines of "Yeah, but it's open-source so it must be better than what Sun can do!" Bullshit. Sun, Netscape (now AOL) IBM, the Apache team, and a million other groups are all working on Java, and there's no way such incredible development resources will ever be pooled together for a simple port of
--- egomaniac