James Gosling: Some more comments about the Oracle Java lawsuit
nighthacks.org
nighthacks.org
It's not so much that the game favors evil, but that the definition of "good" is really twisted: Good adj: anything which increases the stock price. Considerations about employees, products, customers and community are all secondary. They only enter the equation as ways to achieve goal 1. Morality or high principles have no place in the corporate discourse. They maximize the stock price, within the bounds of the law. Corporations like Oracle and Exxon tend to be perfectly rational. They "buy laws" because it's perfectly legal to spend money on lobbyists and political campaigns. While you and I might think that it is morally reprehensible to buy elections, like the recent case with Target, it is nonetheless totally legal. Given the rules of the game, it would be bad for a corporation to not buy an election, if failing to do so would negatively impact their stock price. I could rant for a long time on this one, but not today… The whole modern concept of a public company is deeply flawed. But the game is what it is.
Edward Bernays: Propaganda or the movie "version": Century of the Self (both on archive.org, btw Adam Curtis is about as underrated as Robert Fisk -- no means by accident)
Manufacturing Consent (same spirit movie as in the thread)
Understanding Power (basically they simplify and reiterate stuff backed up in this book)
And and if you are still reading this, have fun reading Dictators, by Jacques Bainville.
In fact, the only people who are not borrowers to some extent are those who live off tax free government bonds.
A corporation is a technology, it's the metaphysical form of the factory, it's a tool for transforming low-value inputs into high-value outputs. There simply is no point in talking about the morality of inanimate, non-sentient objects.
Yes and a very useful one since it adds +1 trade routes per city.
Agree, and I would add: but they have the legal status of persons, and they invoke human "rights" like the right to own property. They even have the right to freedom of speech (Citizens United). They enlist the political support of naïve voters, asserting government encroachment on these "rights". So they want it both ways: They're machines built to maximize value for shareholders, yet they assert the privileges of citizens too.
Java is one of my least favorite things in the world. Yeah, I know, starving children, war, genocide, that stuff is bad too. But Java is what I hate most.
So it makes me ... gleeful ... to see that Oracle is doing such an amazing job killing it. People want to keep using it, they want new features, they want to improve the ecosystem, they want to pay Oracle lots of money for the privilege of using it. But instead, Oracle sues its users, fires the innovators that made it, and does everything in their power to kill it. And now we have a "dead language"(which, as a Perl programmer, is a term I really like to throw around and mean).
Anyway, good work, Oracle.
> (iv) pass all test suites relating to the most recent published version of the specification of the Java 2 Platform, Standard Edition, that are available from SUN
http://java.sun.com/docs/books/jls/second_edition/html/jcopy...
Therefore it's possible that a court might infer that giving someone a GPL license must imply a patent grant, because it would be absurd to assume that the licensor intended to give a license that was immediately self-terminating.
Courts do generally try to avoid interpretations of parties' actions that would assume they were meaning to undertake null or self-contradictory actions. But I'm not sure how much I'd bet on that outcome.
edit: Forgot another unlitigated possible angle. It's one thing to open-source something with a very explicit reservation of patent rights, like "this source code may be used under the terms of the [license], but Sun reserves any rights to patents that may cover portions of the software, which must be licensed separately". But what if you open-source it with a more blanket statement? With the OpenJDK release, there was a lot of rhetoric about openness from Sun, that amounted to: Java is now open source, you may use it for anything you want, as long as you comply with the terms of the GPL. It's possible that a "here, use this for free if you want" offer implies a license of any patents needed to use it. At the very least, it'd be somewhat dishonest to go up to someone and say, "hey, I've got this great thing you can use... here I'll give it to you free", and then come back five years later and accuse them of violating a patent. I mean, you're the one who gave it to them in the first place and told them it was okay to use it! So this might either imply a patent license, or at least present some sort of "inducement" or "estoppel" defense to a patent suit.
If all you do is webapps, fine, Java sucks for webapps, continue hating.
It sucks, but is actually amazingly performant. (much to my surprise I might add)
That is, if you're not leaking memory or file handles. But assuming you're competent and not using JBoss, long-running process with hotspot native compilation means that it'll soak into a performance profile that's perfect for what it's doing. Entirely different category of performance than scripting languages.
Perl has many more high-quality Free libraries, and I personally know a good percentage of the authors, which makes it all that much more appealing. Java may have more programmers, but there is no community; it's all 9-5ers that couldn't care less about programming.
Honestly, the only language I've ever used that didn't have enough libraries was Common Lisp.
bless is an object system object system. Class::MOP adds introspection and first-class classes, attributes, methods, and so on. Moose is the object system on top of all that.
The flexibility of Perl's original object system object system allows all object systems -- whether they are hand-coded 'bless'-based objects, Class::Accessor objects, Mouse objects, or Moose objects -- to interact seamlessly.
This means the system can constantly improve, and it does. There are hundreds of "MooseX::" extensions that tweak the way a class or object works, and they all compose nicely together because they all follow the metaobject protocol. The MOP allows further extension and exploration, like easy-to-use and efficient object databases (see KiokuDB).
Anyway, Java keeps trying to add extensibility. But its extensibility is tacked on, and it is massively underused by the community. (Too many people still write getters and setters and think they are "programming"!)
Perl has always been about extensibility, and its community has always been about using it. In the 90s (when Java was created) this was maybe not so good. Now, though, it's awesome.
I guess we can just agree to disagree on the rest.
I also disagree about the libraries. Java has many more than Perl, they're just not collected in one place. The Java ones run in huge environments, so while they may not be good for throwing out a cheasy log parsing script in 10 minutes, they will probably scale well beyond what you'll need.
If I need to write something that's fast and portable, I use Haskell. If I need to write something that is gluing a bunch of libraries together, I use Perl.
(Java does have a lot of libraries, but the problem is that the libraries are not well-designed. Perl has a lot of well-designed libraries, and when there isn't a well-designed library, it's easy to find the right balance between rewriting, fixing, and working around. That has not been my experience with Java.)
If you're working on something where static typing and the compilation step are non-starters, then yeah, don't use Java or C++.
Regarding the libraries -- Java collections? java.util.concurrent? Guava? Those 3 by themselves will get you a long way, and for anything more specific you usually have a choice of several libraries.
I tend to think of libraries as "make me a nice HTML form" or "talk to this strange router" or "connect to Twitter". Every language has collections, concurrency, and various utility libraries like Guava. Nothing wrong with the examples you list; I've used them and am not that impressed.
But Perl6 running on Parrot? Oracles JVM-related patents may very well apply, so your best bet is to hope that your favourite language never gets used by a high profile company in one of the next leading mobile platforms.
Google went out of its way not to use any code created by Sun, and didn't even use the JVM as a foundation in order to (hopefully) be in the clear.
So be careful what you wish for. My first reaction was also that of "good riddance!", but in the end the whole situation is just sad. I never liked programming Java, so I decided to keep it out of my programming life. Maybe that's why I don't hate it so much. :)
> This was very true in the mobile world a decade ago and was a huge driver of fragmentation; but with todays dramatically more powerful handsets, and especially given the concentration on high-end handsets, there's no reason for any fragmentation.
Hrm. He seems to be forgetting how many non-super-fancy-high-end phones there are out there. Ironically, those phones are one reason to keep using Java ME.
He has to observe his non-disclosure duties to Oracle regardless of the suit, although obviously they are going to be a lot more prominent due to it. Oracle could try to take legal action to shut him up but the fallout from that would be catastrophic and they've not shown themselves to be that dumb yet (I think; encouraging most/nearly all??? of their best software developers to jump ship by paying them a lot less is seriously dumb, though, unless they bought Sun's software portfolio purely for its IP as Gosling has been wondering).
No matter what the merits of the case may be, or who is
right, or who has a "right" to do what, the crossfire in
the battle will be hugely distractive (and I don't just
mean the patent case). I wish they'd all vent their
testosterone elsewhere.
In the meantime, no recent news on Java 7.> The vision of freedom that most of the big corporate interests had was the ability to make their platform sticky: to destroy interoperability so that (for example) Java software developed on Microsoft platforms could only run on Microsoft platforms. They wanted the freedom to capture developers. ... "Freedom" is a freakishly relative word. The freedom of the large software companies is directly at odds with the freedom of developers.