No, that's not the "real problem". Apple goes after anyone, anywhere, that ever posts or reproduces anything from their service manuals, which it considers proprietary, in whole or in part. It doesn't matter what circumstances in which this was posted: Apple would have gone after them, regardless.
It doesn't matter what Apple considers them, they should be published copyrighted material and governed by the rules that apply to such materials. As such, posting a one page excerpt out of a manual that must be several hundred pages ought to be considered "fair use", in particular given the purpose that it's being posted for.
No, TFA is right: Apple wants this information removed for the sole reason that it embarrasses them. Verbal acrobatics like "considers them proprietary" are just an attempt to hide that fact. In the end, Apple had two choices: tolerate it or send in their legal team, and they have chose the latter.
Apple is the best in terms of responding to and remedying these kinds of problems when compared to other vendors
Actually, when you look at surveys and analyses of service quality, Apple is in the top, but they are not always the best. My own experience with their service on a top-of-the-line Powerbook has been that they are trying, but that it may take them several tries to fix it.
because OS X has the ability to run all the UNIX tools we are accustomed to,
Well, it's a little more complicated than that. Some UNIX tools port easily to OS X, others are a pain to port. The situation with OS X is better than Windows, but it's not a drop-in replacement for UNIX.
and all the business type software that's missing from a linux machine
You'd be surprised... there actually isn't much of a difference.
Plus, being able to drop into an apple store in any major city to get help when your video out isn't working and you have to give that powerpoint presentation tomorrow is a nice bonus.
That and the nice looks of the machine are their main advantages. Fortunately, Linux runs on them, so you can have the best of both worlds: Apple hardware and Linux software.
Your not one of those people that think 911 is just a convient way to help you for any ol' thing, are you? I hope not, I hate those people.
No, perish the thought that people who are in need of the police and feel threatened (rightly or wrongly) should call the one number they remember.
You're a typical programmer: when your system can deal with user expectations, you blame the user and add an obscure rule.
In fact, a better thing to do would be for 911 services to invest in a little intelligence. Maybe a phone system that says "please press 1 or stay on the line to report an emergency in which lives are at stake, otherwise please press 2 now".
If they license Java under the GPL, they have to decide: can you run non-GPL'ed software on top of it or not. If you can't, then it's a pointless exercise. If you can, then what happened with XFree86/X.org will likely happen: development will be taken over by a body that's better at that sort of thing than Sun.
Sun is terribly afraid of that. Why? Because Java is the only thing they're doing that makes them relevant and noticeable at all; as soon as they lose their grip on Java, they'll just be forgotten and disappear.
Sun provides an open spec (actually multiple specs).
Sun's specs are not open: you view them under license (the fact that you easily miss that fact makes it worse), and Sun has patents on some key Java implementation related technologies.
There are open source implementations of the spec.
That's wrong, too. According to Sun, only Sun can determine who has implemented the specs, and Sun has not certified any of the open source implementations as implementing the specs. So, therefore, there is no open source implementation of the entire J2SE spec.
Right now, it is likely that Sun would have an excellent case shutting down any reasonably complete open source attempt at a Java implementation if they wanted to, simply through their licensing requirements and their patent portfolio.
As a practical matter, the open source implementations simply don't work well enough to be a drop-in replacement for any recent Sun J2SE or J2EE implementation, in part because the specs are so poorly written that Sun's implementation defines the standard, not the spec.
We want multiple competing implementations, both open and proprietary.
We do. Unfortunately, Sun effectively killed all the competing commercial implementations, and there are no full open source implementations of the Java platform.
Open source Java is to Sun Java roughly like Wine is to Microsoft Windows: it will never be a solution you can rely on, both for legal reasons and for technical reasons.
"The suit, which claims Google acted negligently and intentionally inflicted emotional distress on the public, requests monetary damages to be determined at trial.
That seems to fit the behavior of the current administration excatly--negligence and intentional infliction of emotional distress; can we get some monetary damages from them?
Several trillion dollars might cover at least cover two of their big disasters that come to mind immediately: Iraq and debt, although there are many other items we could add.
I'm all for bad patents on bad ideas, because it will make it harder for other people to actually use the bad idea.
Of course, maybe the EFF should take notice and preemptively patent some of the f*cked up, obvious things people are going to misapply technology to over the next years.
No, I'm saying your statement about how people use the term is wrong. Most X11 users don't understand what X11 is or how it works, but they expect X11 clients and X11 servers to talk to one another, and that's an expectation that's guaranteed by the protocol. The fact that many of those users incorrectly assume that interoperability is achieved through sharing a single codebase doesn't change the fact that they are using the term to refer to the protocol-level guarantees.
Secondarily, I think you're really overestimating the importance of code reuse. The fact that lots of X11 reference code has found its way into lots of different X11 implementations is not what guarantees X11 interoperability (after all, the separate implementations are maintained separately now and could easily each make incompatible changes). Almost all UNIX workstations contained Bell Labs UNIX code, but they were actually wildly incompatible in many ways. Even with all the shared code, X11 interoperability is guaranteed by the protocol definition, not through code reuse. And that's a crucial feature of the X11 window system that I'm sure you intuitively respect; or did you think "oh, I don't like the way GCs work, so I'll just change it in Cygwin/X?" What kept you? If it's the codebase that defines X11, hey, anything's fair game.
There is one good reason for defining keywords as string constants is that if you later misspell any of them you get a compile error instead of going "WTF?" and wonder why your sql-statement doesn't return the expected data.
Yes, that sure makes a lot of sense! It's so much better doing that than actually checking the error code from the SQL library! And because it's more LOC, you are also more productive!
Nonsense. If a private company providing a service in a market where many other companies are doing the same wants to offer special pricing or performance options to customers that want to pay for such, they are (or should be) free to do so. It's no "distortion" of the market to change your offering to suit your own business objectives. You, as a customer, can just "distort" it right back by taking your business to another provider that suits your tastes.
Quite to the contrary: many business practices (including various pricing, contractual, and distribution strategies) have the goal of establishing monopolies. In order to keep the market free and efficient, those practices need to be regulated.
Now, the term "free market" is used by some to refer to a market "free from government control", but that's a misleading use of the term, because the same people still incorrectly suggest (and often believe) that that's the kind of market people like Adam Smith were talking about. But for Adam Smith's invisible hand to function, markets need a specific structure; within that structure, there are certain freedoms, primarily the freedom to set prices, but not others, like the freedom to monopolize. A market that is supposed to operate efficiently needs government regulation, all that libertarian hot air notwithstanding.
And the more you stick the government in the middle of transactions between private parties, especially where evolving technology is concerned, the more mistakes happen.
When you leave government out of those transactions, you get monopolies that are even worse. Leaving aside Microsoft for the moment, just look at what happened with monopolization in the railroad, oil, and telephone industries in the past--those were all excesses of unregulate markets involving new technologies, and consumer outrage finally brought them under government control.
Government sucks and makes many mistakes, but lack of government sucks even more.
My point is that the usage of the term X11 effectively refers to a code base and that most people use it this way, while it is technically incorrect.
No, it does not even "effectively" refer to that. When people say that something is an X11 application, they expect that it talks to an X11 server; they neither know nor care what libraries it links to or what codebase the server is based on. In fact, they can't even tell.
People may imagine that all this interoperability is achieved because it's all one big codebase, but that assumption is wrong; while there is a lot of code sharing, the code sharing is ultimately not what makes X11 interoperable, as the existence of both clients and servers (however little used they may be) that don't share any code shows.
In summary, I don't think you understand how much pull the sample implementation code has on X Servers on all platforms.
It doesn't matter how much code is shared; what makes something an "X11 server" or an "X11 application" is that it implements the protocol. If Cygwin/X stopped implementing the X11 protocol correctly, it would cease to be an X11 server, no matter how much MIT reference code it contained.
(And, as I was saying, there have been numerous independent X11 protocol implementations, in languages like Java, Lisp, Python, Perl, SML, and many others. Chances are that if X.org unilaterally changed the X11 core protocol, lots of people would scream.)
Your statement is absolutely absurd, and it is an insult to centuries of struggle for democratic government.
In fact, it is the primary purpose of our government to keep us free, and the primary instrument our government has for that is legislation: legislation that keeps people from harming each other, legislation that keeps companies from distorting a free market, and legislation that establishes institutions that protect us from external threats.
Government legislated control of Internet traffic management is exactly what it means for our government to keep us free.
Now, I'll give you this much: our government sometimes does the wrong thing, either because of misguided people (like you!) or because of outright corruption. But the solution is not to get rid of democratic government and legislation (we had that for a few millennia and it wasn't pretty and certainly not free), the solution is to fix government and make sure the legislation is good legislation.
Do you actually know of any implementations of X other than the two you mentioned? I tried to search for some and couldn't find any.
The X11 protocol has been reimplemented numerous times independently, including different client libraries (e.g., pure Java, Lisp, Perl, and Python implementations) and various proxies. Some toolkits don't use Xlib but reimplement the protocol themselves, and I believe the people at X.org are working on their own replacement for Xlib. Furthermore, all the different versions (whether derived from one another or not, and even if they are a decade old) talk to each other.
The name 'X11' effectively refers to a code base because the 'sample implementation', which was extended for specific hardware by XFree86 and X.org, is the basis of almost all X Servers in existance.
The name "X11" does not refer to a code base because changing any one of the X11 implementations incompatibly does not change the protocol--it simply makes that particular implementation incompatible.
In contrast, when Microsoft changes the Windows API or Apple changes Cocoa, that defines what the current version of those window systems is; there is no separate standard. That's a profound difference between the two approaches to window systems.
What the historical relationships between the X11 server code bases are doesn't have any bearing on this; however, even from a software engineering point of view, the various X11 servers are not "a code base"--even though many of them started from pieces of the MIT reference implementation, they are now very different from one another. And there have been more reimplementations from scratch of the X11 protocol, including several in non-C languages, numerous protocol proxies and transformers, and dozens of libraries.
There can't be a "missing parenthesis in X11" because X11 is not a piece of code, it's a protocol. This vulnerability only affects the X.org and XFree86 implementations of X11; there are many other implementations that are not affected.
It's pretty sad that Windows and Macintosh have conditioned people to think that every window system is just a piece of code; the notion that a window system could be an API standard with multiple implementations doesn't seem to occur tothem.
Most server-side development is probably developing small scripts, putting together a few existing components, or small customizations of CMSs.
You really just have no idea what "server-side development" is about, do you?
I do, but you apparently don't: in your arrogance, you simply discount any kind of server-side development that doesn't fit what you consider "real" development.
ASP.NET, Mono, and PHP are going to eat away at Java's market from the bottom, just like PCs and Linux have done with UNIX workstations and servers.
but in the end, you're still turning into what you hate.
You mean a 500 billion dollar company with 80% market share? I think there is no risk of that.
You're either saying that it's okay to break the standards binding the net together, or that what Microsoft is doing really isn't all that bad.
How does recommending a standards-compliant, open source browser that is known to work with a web site "break the standards binding the net together"? IE is "breaking the standards binding the net together" and the solution is to recommend to visitors a browser that is standards-oriented. A free and good one happens to be Firefox. And that's a good thing to do simply because when I don't test for IE idiosyncracies, there is a good chance that visitors using IE will actually have problems and will need a solution if they want to visit the site.
As Tim Anderson wrote last year: "What is clear is that Mono (as opposed to.NET) is not currently designed for scalability or transactional distributed applications. De Icaza's comments suggest that this is unlikely to change...".
Well, I'd like to understand how you think Java is "designed for scalability". In my experience, it scales up poorly: its garbage collector is limited, object allocation has a huge overhead compared to other systems, and its libraries (e.g., collection libraries) don't work well for big collections. It seems to me Java fails already in some pretty elementary areas of scalability.
This is not to say that some people aren't using Java for numerical work: one of the examples I often point out is that one of most significant numerical research centres - based at the University of Edinburgh - now has Java as one of the primary languages for high-performance computing on its supercomputer systems.
Come on, be concrete. What does "one of the primary languages" mean? A lot of places are using Java for research in parallel computing (and Edinburgh may be one of them); it's convenient for research because Java fails to address many of icky details of numerical computing (eg. structs, multidimensional arrays, efficient genericity, machine floating point, efficient error handling, extra precision,...). But most major Java numerics efforts (including Java Grande, which Edinburgh's EPCC prominently refers to) died about three years ago when it became clear that Sun wasn't going to fix Java for numerical computing. If there is any life left in numerical Java, I'd like to hear about it. As far as I can tell, Sun never even bothered to implement their multidimensional array proposal.
I am not going to write key commercial software for multi-million dollar companies with it - I use Java and Oracle for such projects
Well, for the kind of client you have in mind, so would I, because it's easy to sell to their management, because they have the money to pay a premium for Java and Oracle, and because they can easily pay for it. Hey, if they insist and they pay, we'll write in assembly language. But for my own company, I wouldn't dream of using Java and Oracle--it's way too expensive and development is way too slow.
You get.NET on Windows, and an incomplete subset of.NET on other platforms that isn't even supported by the original.NET developers - there is no guarantee certified equivalent of J2EE with commercially supported versions from multiple suppliers.
Yes, isn't it great? I think the J2EE standard is really holding back Java. Oh, in the short term, a "standard" gives management that warm and fuzzy feeling, but what the market needs is innovation and new approaches, and J2EE stifles that.
What you're going to see with.NET and Mono is that companies and open source projects come up with different approaches. The libraries they will create will come in.NET and Mono versions and giving their users the ability to write cross-platform enterprise code if they choose.
Of course, you can write efficient code in Java if you're more careful than in other languages and don't use their library for anything that is performance critical. But that kind of defeats the purpose of using Java in the first place.
Will people stop trying to move Java towards a culture that won't keep Java up to the same standards Sun has?
Indeed. It would take the open source community years to beat Sun Java into shape: both the platform and the implementation are far below the quality that successful open source projects would tolerate.
The next time I look at another configured by altering it's code, hard tied to MySQL, non-tiered POS LAMP application, I'm going to cry.
The bloat and wasted man-years behind every J2EE application used to want to make me cry, but I just take it in stride. Of course, I see fewer and fewer of them percentage-wise.
There's a reason why the top two server side platform these days are.NET and Java,
"Top" in arrogance and pay, at least, if not in the number of sites based on it.
This would be good news to people still using Java because it gives them some assurance that Java will exist longer than Sun. However, in most areas, the open source world has moved on to gcj and Mono, and it's not going to come back to Sun Java: Sun Java requires a massive investment of redesign and coding to bring it up to the level of Mono in terms of functionality. More likely, people would simply grab some bits and pieces of Sun Java to improve compatibility of gcj and ikvm.
However, that's presuming that Sun's license will be free of pitfalls, which seems unlikely given their history. Essentially the only licenses that are going to be workable are X11, BSD, LGPL, or the GPL, together with complete freedom to alter the language and platform and complete sublicensing of all necessary patents. And for the GPL, it's going to work only if it is crystal clear that people can run proprietary code on top of GPL'ed Java implementation.
And if it's any kind of dual license, then it would defeat the purpose: dual licensing means that a company intends to keep control of the platform and intends to poison the open source version of the platform somehow in order to maintain a revenue model for themselves. And it's Sun's incompetence at handling the Java platform that has caused it to fail in those areas where.NET and Mono are now thriving.
I get the impression that you have made your mind up, which is why you are dismissing any evidence to the contrary as 'irrelevant' without explaining why.
Funny, that's what I would say you have done. After all, you just wrote several paragraphs giving your technical rationale for why you think Java's success is inevitable, yet again without giving any data. Show us some data supporting your claims that Java is replacing C and C++ in areas such as shrink-wrapped desktop software development, numerical computing, systems software, or even custom desktop software development.
We do agree that C and C++ are misused and misapplied and ought to be replaced. And, in a sense, it's Java that's replacing them, just not Sun Java; it's being replace by Microsoft Java, aka C#. C# has all the advantages of Java, but it adds to that platform agnosticism (instead of cross-platform zealotry) and the few low-level facilities that Java lacks in order to be a full replacement for C++. Oh, and it's effectively backwards compatible with Java, too, and its runtime comes preinstalled on both Windows and Linux.
No, that's not the "real problem". Apple goes after anyone, anywhere, that ever posts or reproduces anything from their service manuals, which it considers proprietary, in whole or in part. It doesn't matter what circumstances in which this was posted: Apple would have gone after them, regardless.
It doesn't matter what Apple considers them, they should be published copyrighted material and governed by the rules that apply to such materials. As such, posting a one page excerpt out of a manual that must be several hundred pages ought to be considered "fair use", in particular given the purpose that it's being posted for.
No, TFA is right: Apple wants this information removed for the sole reason that it embarrasses them. Verbal acrobatics like "considers them proprietary" are just an attempt to hide that fact. In the end, Apple had two choices: tolerate it or send in their legal team, and they have chose the latter.
Apple is the best in terms of responding to and remedying these kinds of problems when compared to other vendors
Actually, when you look at surveys and analyses of service quality, Apple is in the top, but they are not always the best. My own experience with their service on a top-of-the-line Powerbook has been that they are trying, but that it may take them several tries to fix it.
because OS X has the ability to run all the UNIX tools we are accustomed to,
Well, it's a little more complicated than that. Some UNIX tools port easily to OS X, others are a pain to port. The situation with OS X is better than Windows, but it's not a drop-in replacement for UNIX.
and all the business type software that's missing from a linux machine
You'd be surprised... there actually isn't much of a difference.
Plus, being able to drop into an apple store in any major city to get help when your video out isn't working and you have to give that powerpoint presentation tomorrow is a nice bonus.
That and the nice looks of the machine are their main advantages. Fortunately, Linux runs on them, so you can have the best of both worlds: Apple hardware and Linux software.
A 13" MacBook is a nice product, but what's "innovative" about it?
Your not one of those people that think 911 is just a convient way to help you for any ol' thing, are you? I hope not, I hate those people.
No, perish the thought that people who are in need of the police and feel threatened (rightly or wrongly) should call the one number they remember.
You're a typical programmer: when your system can deal with user expectations, you blame the user and add an obscure rule.
In fact, a better thing to do would be for 911 services to invest in a little intelligence. Maybe a phone system that says "please press 1 or stay on the line to report an emergency in which lives are at stake, otherwise please press 2 now".
Is that a fin-shaped geological formation growing in your crater just before an eruption, or are you just happy to see me?
(Sorry, I couldn't resist.)
If they license Java under the GPL, they have to decide: can you run non-GPL'ed software on top of it or not. If you can't, then it's a pointless exercise. If you can, then what happened with XFree86/X.org will likely happen: development will be taken over by a body that's better at that sort of thing than Sun.
Sun is terribly afraid of that. Why? Because Java is the only thing they're doing that makes them relevant and noticeable at all; as soon as they lose their grip on Java, they'll just be forgotten and disappear.
Sun provides an open spec (actually multiple specs).
Sun's specs are not open: you view them under license (the fact that you easily miss that fact makes it worse), and Sun has patents on some key Java implementation related technologies.
There are open source implementations of the spec.
That's wrong, too. According to Sun, only Sun can determine who has implemented the specs, and Sun has not certified any of the open source implementations as implementing the specs. So, therefore, there is no open source implementation of the entire J2SE spec.
Right now, it is likely that Sun would have an excellent case shutting down any reasonably complete open source attempt at a Java implementation if they wanted to, simply through their licensing requirements and their patent portfolio.
As a practical matter, the open source implementations simply don't work well enough to be a drop-in replacement for any recent Sun J2SE or J2EE implementation, in part because the specs are so poorly written that Sun's implementation defines the standard, not the spec.
We want multiple competing implementations, both open and proprietary.
We do. Unfortunately, Sun effectively killed all the competing commercial implementations, and there are no full open source implementations of the Java platform.
Open source Java is to Sun Java roughly like Wine is to Microsoft Windows: it will never be a solution you can rely on, both for legal reasons and for technical reasons.
"The suit, which claims Google acted negligently and intentionally inflicted emotional distress on the public, requests monetary damages to be determined at trial.
That seems to fit the behavior of the current administration excatly--negligence and intentional infliction of emotional distress; can we get some monetary damages from them?
Several trillion dollars might cover at least cover two of their big disasters that come to mind immediately: Iraq and debt, although there are many other items we could add.
I'm all for bad patents on bad ideas, because it will make it harder for other people to actually use the bad idea.
Of course, maybe the EFF should take notice and preemptively patent some of the f*cked up, obvious things people are going to misapply technology to over the next years.
No, I'm saying your statement about how people use the term is wrong. Most X11 users don't understand what X11 is or how it works, but they expect X11 clients and X11 servers to talk to one another, and that's an expectation that's guaranteed by the protocol. The fact that many of those users incorrectly assume that interoperability is achieved through sharing a single codebase doesn't change the fact that they are using the term to refer to the protocol-level guarantees.
Secondarily, I think you're really overestimating the importance of code reuse. The fact that lots of X11 reference code has found its way into lots of different X11 implementations is not what guarantees X11 interoperability (after all, the separate implementations are maintained separately now and could easily each make incompatible changes). Almost all UNIX workstations contained Bell Labs UNIX code, but they were actually wildly incompatible in many ways. Even with all the shared code, X11 interoperability is guaranteed by the protocol definition, not through code reuse. And that's a crucial feature of the X11 window system that I'm sure you intuitively respect; or did you think "oh, I don't like the way GCs work, so I'll just change it in Cygwin/X?" What kept you? If it's the codebase that defines X11, hey, anything's fair game.
There is one good reason for defining keywords as string constants is that if you later misspell any of them you get a compile error instead of going "WTF?" and wonder why your sql-statement doesn't return the expected data.
Yes, that sure makes a lot of sense! It's so much better doing that than actually checking the error code from the SQL library! And because it's more LOC, you are also more productive!
Nonsense. If a private company providing a service in a market where many other companies are doing the same wants to offer special pricing or performance options to customers that want to pay for such, they are (or should be) free to do so. It's no "distortion" of the market to change your offering to suit your own business objectives. You, as a customer, can just "distort" it right back by taking your business to another provider that suits your tastes.
Quite to the contrary: many business practices (including various pricing, contractual, and distribution strategies) have the goal of establishing monopolies. In order to keep the market free and efficient, those practices need to be regulated.
Now, the term "free market" is used by some to refer to a market "free from government control", but that's a misleading use of the term, because the same people still incorrectly suggest (and often believe) that that's the kind of market people like Adam Smith were talking about. But for Adam Smith's invisible hand to function, markets need a specific structure; within that structure, there are certain freedoms, primarily the freedom to set prices, but not others, like the freedom to monopolize. A market that is supposed to operate efficiently needs government regulation, all that libertarian hot air notwithstanding.
And the more you stick the government in the middle of transactions between private parties, especially where evolving technology is concerned, the more mistakes happen.
When you leave government out of those transactions, you get monopolies that are even worse. Leaving aside Microsoft for the moment, just look at what happened with monopolization in the railroad, oil, and telephone industries in the past--those were all excesses of unregulate markets involving new technologies, and consumer outrage finally brought them under government control.
Government sucks and makes many mistakes, but lack of government sucks even more.
My point is that the usage of the term X11 effectively refers to a code base and that most people use it this way, while it is technically incorrect.
No, it does not even "effectively" refer to that. When people say that something is an X11 application, they expect that it talks to an X11 server; they neither know nor care what libraries it links to or what codebase the server is based on. In fact, they can't even tell.
People may imagine that all this interoperability is achieved because it's all one big codebase, but that assumption is wrong; while there is a lot of code sharing, the code sharing is ultimately not what makes X11 interoperable, as the existence of both clients and servers (however little used they may be) that don't share any code shows.
In summary, I don't think you understand how much pull the sample implementation code has on X Servers on all platforms.
It doesn't matter how much code is shared; what makes something an "X11 server" or an "X11 application" is that it implements the protocol. If Cygwin/X stopped implementing the X11 protocol correctly, it would cease to be an X11 server, no matter how much MIT reference code it contained.
(And, as I was saying, there have been numerous independent X11 protocol implementations, in languages like Java, Lisp, Python, Perl, SML, and many others. Chances are that if X.org unilaterally changed the X11 core protocol, lots of people would scream.)
Your statement is absolutely absurd, and it is an insult to centuries of struggle for democratic government.
In fact, it is the primary purpose of our government to keep us free, and the primary instrument our government has for that is legislation: legislation that keeps people from harming each other, legislation that keeps companies from distorting a free market, and legislation that establishes institutions that protect us from external threats.
Government legislated control of Internet traffic management is exactly what it means for our government to keep us free.
Now, I'll give you this much: our government sometimes does the wrong thing, either because of misguided people (like you!) or because of outright corruption. But the solution is not to get rid of democratic government and legislation (we had that for a few millennia and it wasn't pretty and certainly not free), the solution is to fix government and make sure the legislation is good legislation.
Do you actually know of any implementations of X other than the two you mentioned? I tried to search for some and couldn't find any.
The X11 protocol has been reimplemented numerous times independently, including different client libraries (e.g., pure Java, Lisp, Perl, and Python implementations) and various proxies. Some toolkits don't use Xlib but reimplement the protocol themselves, and I believe the people at X.org are working on their own replacement for Xlib. Furthermore, all the different versions (whether derived from one another or not, and even if they are a decade old) talk to each other.
The name 'X11' effectively refers to a code base because the 'sample implementation', which was extended for specific hardware by XFree86 and X.org, is the basis of almost all X Servers in existance.
The name "X11" does not refer to a code base because changing any one of the X11 implementations incompatibly does not change the protocol--it simply makes that particular implementation incompatible.
In contrast, when Microsoft changes the Windows API or Apple changes Cocoa, that defines what the current version of those window systems is; there is no separate standard. That's a profound difference between the two approaches to window systems.
What the historical relationships between the X11 server code bases are doesn't have any bearing on this; however, even from a software engineering point of view, the various X11 servers are not "a code base"--even though many of them started from pieces of the MIT reference implementation, they are now very different from one another. And there have been more reimplementations from scratch of the X11 protocol, including several in non-C languages, numerous protocol proxies and transformers, and dozens of libraries.
There can't be a "missing parenthesis in X11" because X11 is not a piece of code, it's a protocol. This vulnerability only affects the X.org and XFree86 implementations of X11; there are many other implementations that are not affected.
It's pretty sad that Windows and Macintosh have conditioned people to think that every window system is just a piece of code; the notion that a window system could be an API standard with multiple implementations doesn't seem to occur tothem.
Most server-side development is probably developing small scripts, putting together a few existing components, or small customizations of CMSs.
You really just have no idea what "server-side development" is about, do you?
I do, but you apparently don't: in your arrogance, you simply discount any kind of server-side development that doesn't fit what you consider "real" development.
ASP.NET, Mono, and PHP are going to eat away at Java's market from the bottom, just like PCs and Linux have done with UNIX workstations and servers.
but in the end, you're still turning into what you hate.
You mean a 500 billion dollar company with 80% market share? I think there is no risk of that.
You're either saying that it's okay to break the standards binding the net together, or that what Microsoft is doing really isn't all that bad.
How does recommending a standards-compliant, open source browser that is known to work with a web site "break the standards binding the net together"? IE is "breaking the standards binding the net together" and the solution is to recommend to visitors a browser that is standards-oriented. A free and good one happens to be Firefox. And that's a good thing to do simply because when I don't test for IE idiosyncracies, there is a good chance that visitors using IE will actually have problems and will need a solution if they want to visit the site.
As Tim Anderson wrote last year: "What is clear is that Mono (as opposed to .NET) is not currently designed for scalability or transactional distributed applications. De Icaza's comments suggest that this is unlikely to change...".
...). But most major Java numerics efforts (including Java Grande, which Edinburgh's EPCC prominently refers to) died about three years ago when it became clear that Sun wasn't going to fix Java for numerical computing. If there is any life left in numerical Java, I'd like to hear about it. As far as I can tell, Sun never even bothered to implement their multidimensional array proposal.
.NET on Windows, and an incomplete subset of .NET on other platforms that isn't even supported by the original .NET developers - there is no guarantee certified equivalent of J2EE with commercially supported versions from multiple suppliers.
.NET and Mono is that companies and open source projects come up with different approaches. The libraries they will create will come in .NET and Mono versions and giving their users the ability to write cross-platform enterprise code if they choose.
Well, I'd like to understand how you think Java is "designed for scalability". In my experience, it scales up poorly: its garbage collector is limited, object allocation has a huge overhead compared to other systems, and its libraries (e.g., collection libraries) don't work well for big collections. It seems to me Java fails already in some pretty elementary areas of scalability.
This is not to say that some people aren't using Java for numerical work: one of the examples I often point out is that one of most significant numerical research centres - based at the University of Edinburgh - now has Java as one of the primary languages for high-performance computing on its supercomputer systems.
Come on, be concrete. What does "one of the primary languages" mean? A lot of places are using Java for research in parallel computing (and Edinburgh may be one of them); it's convenient for research because Java fails to address many of icky details of numerical computing (eg. structs, multidimensional arrays, efficient genericity, machine floating point, efficient error handling, extra precision,
I am not going to write key commercial software for multi-million dollar companies with it - I use Java and Oracle for such projects
Well, for the kind of client you have in mind, so would I, because it's easy to sell to their management, because they have the money to pay a premium for Java and Oracle, and because they can easily pay for it. Hey, if they insist and they pay, we'll write in assembly language. But for my own company, I wouldn't dream of using Java and Oracle--it's way too expensive and development is way too slow.
You get
Yes, isn't it great? I think the J2EE standard is really holding back Java. Oh, in the short term, a "standard" gives management that warm and fuzzy feeling, but what the market needs is innovation and new approaches, and J2EE stifles that.
What you're going to see with
Of course, you can write efficient code in Java if you're more careful than in other languages and don't use their library for anything that is performance critical. But that kind of defeats the purpose of using Java in the first place.
Will people stop trying to move Java towards a culture that won't keep Java up to the same standards Sun has?
.NET and Java,
Indeed. It would take the open source community years to beat Sun Java into shape: both the platform and the implementation are far below the quality that successful open source projects would tolerate.
The next time I look at another configured by altering it's code, hard tied to MySQL, non-tiered POS LAMP application, I'm going to cry.
The bloat and wasted man-years behind every J2EE application used to want to make me cry, but I just take it in stride. Of course, I see fewer and fewer of them percentage-wise.
There's a reason why the top two server side platform these days are
"Top" in arrogance and pay, at least, if not in the number of sites based on it.
Does SWT address this.
No, because SWT isn't part of the Java platform--SWT is an external add-on library--and because many people are writing Swing apps.
Furthermore, speaking just as a user, SWT applications don't seem to integrate that well with the desktop either.
This would be good news to people still using Java because it gives them some assurance that Java will exist longer than Sun. However, in most areas, the open source world has moved on to gcj and Mono, and it's not going to come back to Sun Java: Sun Java requires a massive investment of redesign and coding to bring it up to the level of Mono in terms of functionality. More likely, people would simply grab some bits and pieces of Sun Java to improve compatibility of gcj and ikvm.
.NET and Mono are now thriving.
However, that's presuming that Sun's license will be free of pitfalls, which seems unlikely given their history. Essentially the only licenses that are going to be workable are X11, BSD, LGPL, or the GPL, together with complete freedom to alter the language and platform and complete sublicensing of all necessary patents. And for the GPL, it's going to work only if it is crystal clear that people can run proprietary code on top of GPL'ed Java implementation.
And if it's any kind of dual license, then it would defeat the purpose: dual licensing means that a company intends to keep control of the platform and intends to poison the open source version of the platform somehow in order to maintain a revenue model for themselves. And it's Sun's incompetence at handling the Java platform that has caused it to fail in those areas where
I get the impression that you have made your mind up, which is why you are dismissing any evidence to the contrary as 'irrelevant' without explaining why.
Funny, that's what I would say you have done. After all, you just wrote several paragraphs giving your technical rationale for why you think Java's success is inevitable, yet again without giving any data. Show us some data supporting your claims that Java is replacing C and C++ in areas such as shrink-wrapped desktop software development, numerical computing, systems software, or even custom desktop software development.
We do agree that C and C++ are misused and misapplied and ought to be replaced. And, in a sense, it's Java that's replacing them, just not Sun Java; it's being replace by Microsoft Java, aka C#. C# has all the advantages of Java, but it adds to that platform agnosticism (instead of cross-platform zealotry) and the few low-level facilities that Java lacks in order to be a full replacement for C++. Oh, and it's effectively backwards compatible with Java, too, and its runtime comes preinstalled on both Windows and Linux.