Hardworking and entrepreneurial. Yes. Fortunate also due to accidents of history not of the American people's direct making (Europe's Civil Wars and World Wars - which allowed America to ascend past the British Empire and make a colossal profit to boot). I have not problem with America's position, but to say it is all of your own making without considering external circumstances is naiive. America may be eclipsed by China or India this century. The America people are no less hard working or ingeneous than they once were (they're certainly better educated as time goes on) but it is *external factors* that change this situation. To succeed you need hardware and intelligence (Ellison and America have both of these in spades) but also the right combination of exteral factors (it is an AND function not an OR function - which has been my point all along).
Earlier JDK licenses granted a right to develop a compatible implementation. This included a patent grant for this purpose, early in the JDK license. Could not call it Java unless passed TCK though. Java is not going away anytime soon.
You don't consider that to be born in the US is as large a lucky happenstance as to be born into nobility in times past? Only a small percentage of the world is born in the US and the ability to do business in the US (ie. residency) is a huge factor in global success. Again, a significant proportion of the world's population does not have this opportunity irrespective of how smart/talented they are. Ellison is no idiot, but again, *circumstances* put him where he is even more than his own abilities. There is an old pilot saying, "I'd rather be lucky than good". Think it through as to why it might be so - it applies to business as well. So please don't buy into corporate chief veneration.
Incidentally, since I come from a neutral/harmless country I've also been to very many places in the world - so that doesn't make your argument any more valid. I've had the opportunity to chanced upon people (eg. Hezbollah in Lebanon - who I'm actually not fond of but Lebanon is great; or Cuba, where they party a lot; to the US, a lot, etc) so have seen and heard a wide spectrum of views. Since I have seen a chunk of the world too and realize how fortunately my own circumstances are - it is a shame that people attribute qualities to themselves and others without seeing that you start at different places on a very uneven playing field. Yes, hard work is required, but no amount of hard work could compensate if Larry Ellison's 'soul' (if he has one, lol) was born in Mogadishu, for example.
Java is not going away, ever, so do not fear. It is GPL-ed so no one can take it away. Oracle can steer it towards its own interests but then Apache makes a package that works for your interests.
If you don't like Oracle then use the IBM equivalent. If you don't like IBM then use one of the Open Source equivalents. This is one of the many strengths of Java relative to its 'competitors' (they don't actually compete, since they either don't have as many features (eg. non-standard/poor multithreading in C++) or don't have several independent implementations that are designed to be perfectly compatible (eg. MS.NET and Mono have hugely different [non-portable] libraries)).
Lol, yet you venerate Ellison. Sure he's no idiot, but he's not a genius either. Just an alpha male going hard and canny enough to reinforce his circumstances ('luck' by another name). This is neither and exceptional, unique, nor rare talent (although being born in the US at the right time helps a lot - which accounts for some of the scarcity).
Ellison was good, but most importantly *lucky* - as are all the billionaires out there. Fortune smiled on him and not on all the other, smarter, just as talented, and people with as good or better competing products. It is hindsight and historical editing that assumes that Ellison has some 'magical' quality that allowd him to get where he was. Sure he's good, but so are many others, and they happened to fall by the wayside due to accidents of history (eg. maybe missing out on the right contracts by a day, or any of a collossal number of uncontrollable factors) which meant they didn't get their snowball to a critical enough mass. Unfortunately you seem to have bought into the whole mythical mystique that is perpetuated about successful (and conversely, unsuccessful) people.
+1 Funny.
Bruce you've done a lot of good things and written a lot of good things but that statement is plain crazy talk. I won't even start about all the myriad of reasons why.NET is simply not an option for many Java developers - it's been flogged to death. The eventual successor to Java is not.NET, to many strings and too platform specific (disagree? well write something with WPF and see how many platforms you get it on, and there is no way the general Windows.NET developer will use Gtk+ bindings).
About time. Postgresql is an excellent database. It's the best general purpose one, IMHO - for a variety of reasons, including the ability to deploy as many as you need in your cluster to get fantastic performance (whereas other supposedly faster databases are slower since you can't afford the license fees to scale indefinitely).
Its is not the "free stuff" that is valuable, or "rapidly losing value". What is of value is the "goose that lays the golden egg" - ecosystem of developers (paid and casual) and users that use the stuff, improve it, and especially *provide support to others* (which is what everyone really wants - from client companies to Stallman). Oracle sees the value as the software, but the greatest value is in having the 'mind share' of an active community (something Microsoft are famous for recognizing, even if they treat their users all like criminals). With a big community you can make money, since companies will pay for support and customizations of widely used stuff (eg. market leaders such as Apache HTTP and Tomcat) but you need a 'light hand on the tiller'.
Oracle may deride Sun for messing up sales (yes, it was unnecessarily hard to buy stuff from Sun due to their crap sales process) but Oracle are just as clueless when it comes to maintaining a valuable established ecosystem. The Oracle management are destroying shareholder value by totally misreading where the value in Sun's assets really lies (dinosaurs! but that is typical of chief executive management, what made you successful a decade ago may ot be required anymore when the world outside your walls has evolved).
Absolutely true. Wish I had mod points but I've already blown them.
We tried to buy a little rack-mount server from Sun. The specs were great and the price awesome compared to its competitors. However, we needed it *now*. There was no on-line ordering process and since we were only ordering a single server we were a low priority. Sun insisted we go through one of their sales guys, but he took three days to get back to us. Too late, we bought a little Mac Mini instead and got it the same day.
I think Sun thought that you would have a 'better experience' being attended to by one of their sales muppets. I'm sure the sales department was all for this (easier to get bonuses, since the sales guys would miss them for online sales). However, everyone else was removing people from the ordering process since it is so much more efficient if you know what you want (and tech folk know what they want - they often have better product knowledge than salesmen).
Sun's demise wasn't anything due to Open Sourcing stuff. If anything, this made them relevant for longer (despite the spin other proprietary companies and journalists would like to put on it). They died cause they lacked sales. They lacked sales because buying their nice products was quite difficult relative to buying similar stuff from their competitors. I hope decision-makers learn from that (seems like they don't read Slashdot though).
You are quite wrong regarding the OpenGL support. There is JoGL, Java3D (official) and some other implementations. Ever since Java 1.6.0_u10 all of Java2D has been hardware accelerated by DIrectX or OpenGL shaders under the hood. Swing was also fully integrated with JoGL so you can mix 2D and 3D freely. Clearly you are several years behind on your Java knowledge.
It is normal to not want to die. This is normal self-preservation in action. When you realize that you must die as billions have before you then you fear death less - it is inevitable and there will be no miracle 'cure' to avoid it - all you can do it treat your body well and really live as well as you can. Then you will be truly be living in full knowledge that one day you will too pass away - probably never to return. So don't fscking waste the time you have! You will transcend the fear the more you accept the inevitable. I'm not Jewish but the L'chaim (not meaning "to life", but instead "life!") is as good a philosophy as any.
Swing was designed to use a minimal amount of AWT (to set up a rendering contents and basic window and event management). Most of AWT is deliberately not used by Swing to reduce platform-specific issues (nb. one of the reasons Swing was invented was to bypass the limitations of AWT). Swing renders using Java2D rather than the native widget rendering of AWT.
The "Java2D is AWT" statement is incorrect. Java2D used to be a software library for rendering to a context. It is now fully hardware accelerated via DirectX or OpenGL shaders (depending on the host platform and pipeline selected). AWT includes Java2D but also a whole bunch of other stuff for window management, host system interaction, event management, input management etc etc. So, AWT includes Java2D but it is *not* the same as Java2D.
Does that clarify it enough so you can see the inaccuracy in your statements?
What is the 'system look and feel' for an application on Windows these days?
It used to be much more homogeneous but is now pretty varied. Mozilla, Internet Explorer, MS-Office, iTunes, Acropbat Reader, etc etc don't really look like more plain-vanilla windows apps do they? and users don't usually get their panties in a twist over that, so I think this argument was possibly valid when it was made the best part of a decade ago but is pretty much rubbish in this day and age.
Besides, most people who use my applications *love* the Nimbus look. They seem to think it looks way better than much of the default Windows controls (since they always compliment the looks of the applications when they encounter them), and I have never had a problem where the increased comeliness of Nimbus has resulted in users reporting usability issues. If you know what you are doing then a Java application can look and feel like a 'filthy rich client' that runs very snappily (since Java has stronger support for multi-threading than C++ for example, so you get to make use of all eight or 12 cores on modern systems if you need to). In times past lots of poor programmers used Java and they gave the platform a bad name (and created some phenomenally poor interfaces), but that doesn't mean the tech itself is bad. Fortunately most of these folks seem to have moved on to other platforms (creating low-usability and horrid Javascript interfaces instead).
Except that JavaFX is less powerful than Swing. They're meant for different purposes.
One (JavaFX) is simplified and really intended for the web and web developers who can get away with less complex interfaces (since the expectations for interactivity on the web are so low compared with expectations on the desktop). The default set of controls for JavaFX have even more omissions than the default set for Swing (which both SwingLabs and the marketplace make up for fortunately).
On the other hand Swing is comprehensive and powerful. It is too much for many, but if you know how to wrangle it there is no substitute. If you want to *deeply* customize your controls you have the power to do so (many frameworks, eg SWT, WinForms etc have nice defaults, but once you start trying to extend them it gets very painful - moreso than Swing in my experience). I understand many hate Swing because of it's complexity or it doesn't work exactly as the Win32/WPF APIs do, but for me personally it is brilliant for multi-platform work and not yet found anything else that can touch it for sheer flexibility and customization.
So, while JavaFX is an option I don't think it is a generic solution to all classes of GUI problems (if you are going to invest time, effort and money you might as well use a 'swiss-army' toolkit that can apply to many problems).
Thanks. It might be in the AWT package but if he was limiting yourself to only AWT then I suggest he's not considering the possibilities that Swing adds above AWT. Colouring the pixels on the screen is only part of it, you also need buffering and layers (the handy GlassPane) etc to do cool stuff (drawing with some of the concepts of 'Filthy Rich Clients'). Hence, I mention Swing as good for drawing above and beyond the confines of AWT.
What I forgot to mention is that you can mix OpenGL with a Swing canvas for your drawing (you need somewhere to draw after all) and it is pretty seemless thanks to JoGL. So, start with Swing technology and adding 3D over your 2D is very straightforward. While you can use JoGL with AWT it is again best integrated with Swing.
Who suggested Java AWT? What is this, 1998? Someone is behind on their homework:).
Java's Swing + Java2D is *fully hardware accelerated* (ever since Java 1.6.0_u10 some time ago), multi-platform, with good multi-thread support (not for rendering, you don't need that, but for the rest of the program), very customizable, and looks fantastic with the Nimbus look&feel (a standard part of Java). Swing is used a lot on the enterprise desktop (and a few shrink wrapped products too - I know I've purchased some as they were best-of-breed tools). Many of the Java Swing ttools are free and there are a lot of them (eg. Matisse in Netbeans makes creating GUIs a snap). Java2D had extensive contributions from Adobe who happen to know a thing or two about presentation. Plus, drawing in Java2D also allows printing relatively simply.
Funniest thing is, one motivation for the ban may be to to preserve the "modesty" of their women - in a country where 38% of women under 25 are obese or overweight (easy to hide under that chador). This figure is unlikely to get better with age either (pun intended).
Look, no need to lose your rag and blaspheme, this is simply not an interesting enough discussion to warrant it. It's good you have used GWT so realize that any non-trivial application utilizes RemoteServiceServlet among other server-side only parts. Hence, I disputed your assertion that GWT is a "client side" only technology. Again, you arrogantly chose to ignore the point and counter with an accusation of "brazen stupidity" when all I was doing was stating the facts.
If you are generating Java boilerplate by hand then I suggest you get better tools. I never have to worry about that stuff. C#'s properties are nice but don't make up for the strategic limitations of the platform. Again,.NET has some nice tech but if you are thinking as a *businessman* and not as a technologist there plenty of reasons for companies to prefer Java, and why they still do (again, please look at the facts I have supplied you in an earlier post).
The reason you count as a "fanboi" in this discussion (veteran or not) is because you prefer to insult me and spurt anectdotal sums like "droves" rather than rationally debating the figures and facts presented. While I understand you moving to WP7 because you like it, it does seem that the technologist in you has overwhelmed a business perspective. That is not fanboism, but is not far from it.
Hardworking and entrepreneurial. Yes. Fortunate also due to accidents of history not of the American people's direct making (Europe's Civil Wars and World Wars - which allowed America to ascend past the British Empire and make a colossal profit to boot). I have not problem with America's position, but to say it is all of your own making without considering external circumstances is naiive. America may be eclipsed by China or India this century. The America people are no less hard working or ingeneous than they once were (they're certainly better educated as time goes on) but it is *external factors* that change this situation. To succeed you need hardware and intelligence (Ellison and America have both of these in spades) but also the right combination of exteral factors (it is an AND function not an OR function - which has been my point all along).
Earlier JDK licenses granted a right to develop a compatible implementation. This included a patent grant for this purpose, early in the JDK license. Could not call it Java unless passed TCK though. Java is not going away anytime soon.
nb: IMHO Postgres kick MySQL's ass, but I didn't want to ram this down the other guys throat.
Incidentally, since I come from a neutral/harmless country I've also been to very many places in the world - so that doesn't make your argument any more valid. I've had the opportunity to chanced upon people (eg. Hezbollah in Lebanon - who I'm actually not fond of but Lebanon is great; or Cuba, where they party a lot; to the US, a lot, etc) so have seen and heard a wide spectrum of views. Since I have seen a chunk of the world too and realize how fortunately my own circumstances are - it is a shame that people attribute qualities to themselves and others without seeing that you start at different places on a very uneven playing field. Yes, hard work is required, but no amount of hard work could compensate if Larry Ellison's 'soul' (if he has one, lol) was born in Mogadishu, for example.
Ahh. Thanks for clarifying. Your original post was ambiguous and, as always, was read as being a strange statement.
Step 2 can be slow - when their sales staff were busy. Everywhere else there is Step 1 = browse servers and order online, goto Step 3.
Java is not going away, ever, so do not fear. It is GPL-ed so no one can take it away. Oracle can steer it towards its own interests but then Apache makes a package that works for your interests.
If you don't like Oracle then use the IBM equivalent. If you don't like IBM then use one of the Open Source equivalents. This is one of the many strengths of Java relative to its 'competitors' (they don't actually compete, since they either don't have as many features (eg. non-standard/poor multithreading in C++) or don't have several independent implementations that are designed to be perfectly compatible (eg. MS .NET and Mono have hugely different [non-portable] libraries)).
Lol, yet you venerate Ellison. Sure he's no idiot, but he's not a genius either. Just an alpha male going hard and canny enough to reinforce his circumstances ('luck' by another name). This is neither and exceptional, unique, nor rare talent (although being born in the US at the right time helps a lot - which accounts for some of the scarcity).
Ellison was good, but most importantly *lucky* - as are all the billionaires out there. Fortune smiled on him and not on all the other, smarter, just as talented, and people with as good or better competing products. It is hindsight and historical editing that assumes that Ellison has some 'magical' quality that allowd him to get where he was. Sure he's good, but so are many others, and they happened to fall by the wayside due to accidents of history (eg. maybe missing out on the right contracts by a day, or any of a collossal number of uncontrollable factors) which meant they didn't get their snowball to a critical enough mass. Unfortunately you seem to have bought into the whole mythical mystique that is perpetuated about successful (and conversely, unsuccessful) people.
+1 Funny. Bruce you've done a lot of good things and written a lot of good things but that statement is plain crazy talk. I won't even start about all the myriad of reasons why .NET is simply not an option for many Java developers - it's been flogged to death. The eventual successor to Java is not .NET, to many strings and too platform specific (disagree? well write something with WPF and see how many platforms you get it on, and there is no way the general Windows .NET developer will use Gtk+ bindings).
Shame you use MySQL, it's worth looking at Postgresql.
About time. Postgresql is an excellent database. It's the best general purpose one, IMHO - for a variety of reasons, including the ability to deploy as many as you need in your cluster to get fantastic performance (whereas other supposedly faster databases are slower since you can't afford the license fees to scale indefinitely).
Its is not the "free stuff" that is valuable, or "rapidly losing value". What is of value is the "goose that lays the golden egg" - ecosystem of developers (paid and casual) and users that use the stuff, improve it, and especially *provide support to others* (which is what everyone really wants - from client companies to Stallman). Oracle sees the value as the software, but the greatest value is in having the 'mind share' of an active community (something Microsoft are famous for recognizing, even if they treat their users all like criminals). With a big community you can make money, since companies will pay for support and customizations of widely used stuff (eg. market leaders such as Apache HTTP and Tomcat) but you need a 'light hand on the tiller'.
Oracle may deride Sun for messing up sales (yes, it was unnecessarily hard to buy stuff from Sun due to their crap sales process) but Oracle are just as clueless when it comes to maintaining a valuable established ecosystem. The Oracle management are destroying shareholder value by totally misreading where the value in Sun's assets really lies (dinosaurs! but that is typical of chief executive management, what made you successful a decade ago may ot be required anymore when the world outside your walls has evolved).
Absolutely true. Wish I had mod points but I've already blown them.
We tried to buy a little rack-mount server from Sun. The specs were great and the price awesome compared to its competitors. However, we needed it *now*. There was no on-line ordering process and since we were only ordering a single server we were a low priority. Sun insisted we go through one of their sales guys, but he took three days to get back to us. Too late, we bought a little Mac Mini instead and got it the same day.
I think Sun thought that you would have a 'better experience' being attended to by one of their sales muppets. I'm sure the sales department was all for this (easier to get bonuses, since the sales guys would miss them for online sales). However, everyone else was removing people from the ordering process since it is so much more efficient if you know what you want (and tech folk know what they want - they often have better product knowledge than salesmen).
Sun's demise wasn't anything due to Open Sourcing stuff. If anything, this made them relevant for longer (despite the spin other proprietary companies and journalists would like to put on it). They died cause they lacked sales. They lacked sales because buying their nice products was quite difficult relative to buying similar stuff from their competitors. I hope decision-makers learn from that (seems like they don't read Slashdot though).
You are quite wrong regarding the OpenGL support. There is JoGL, Java3D (official) and some other implementations. Ever since Java 1.6.0_u10 all of Java2D has been hardware accelerated by DIrectX or OpenGL shaders under the hood. Swing was also fully integrated with JoGL so you can mix 2D and 3D freely. Clearly you are several years behind on your Java knowledge.
It is normal to not want to die. This is normal self-preservation in action. When you realize that you must die as billions have before you then you fear death less - it is inevitable and there will be no miracle 'cure' to avoid it - all you can do it treat your body well and really live as well as you can. Then you will be truly be living in full knowledge that one day you will too pass away - probably never to return. So don't fscking waste the time you have! You will transcend the fear the more you accept the inevitable. I'm not Jewish but the L'chaim (not meaning "to life", but instead "life!") is as good a philosophy as any.
Incorrect on both counts.
Swing was designed to use a minimal amount of AWT (to set up a rendering contents and basic window and event management). Most of AWT is deliberately not used by Swing to reduce platform-specific issues (nb. one of the reasons Swing was invented was to bypass the limitations of AWT). Swing renders using Java2D rather than the native widget rendering of AWT.
The "Java2D is AWT" statement is incorrect. Java2D used to be a software library for rendering to a context. It is now fully hardware accelerated via DirectX or OpenGL shaders (depending on the host platform and pipeline selected). AWT includes Java2D but also a whole bunch of other stuff for window management, host system interaction, event management, input management etc etc. So, AWT includes Java2D but it is *not* the same as Java2D.
Does that clarify it enough so you can see the inaccuracy in your statements?
What is the 'system look and feel' for an application on Windows these days?
It used to be much more homogeneous but is now pretty varied. Mozilla, Internet Explorer, MS-Office, iTunes, Acropbat Reader, etc etc don't really look like more plain-vanilla windows apps do they? and users don't usually get their panties in a twist over that, so I think this argument was possibly valid when it was made the best part of a decade ago but is pretty much rubbish in this day and age.
Besides, most people who use my applications *love* the Nimbus look. They seem to think it looks way better than much of the default Windows controls (since they always compliment the looks of the applications when they encounter them), and I have never had a problem where the increased comeliness of Nimbus has resulted in users reporting usability issues. If you know what you are doing then a Java application can look and feel like a 'filthy rich client' that runs very snappily (since Java has stronger support for multi-threading than C++ for example, so you get to make use of all eight or 12 cores on modern systems if you need to). In times past lots of poor programmers used Java and they gave the platform a bad name (and created some phenomenally poor interfaces), but that doesn't mean the tech itself is bad. Fortunately most of these folks seem to have moved on to other platforms (creating low-usability and horrid Javascript interfaces instead).
Except that JavaFX is less powerful than Swing. They're meant for different purposes.
One (JavaFX) is simplified and really intended for the web and web developers who can get away with less complex interfaces (since the expectations for interactivity on the web are so low compared with expectations on the desktop). The default set of controls for JavaFX have even more omissions than the default set for Swing (which both SwingLabs and the marketplace make up for fortunately).
On the other hand Swing is comprehensive and powerful. It is too much for many, but if you know how to wrangle it there is no substitute. If you want to *deeply* customize your controls you have the power to do so (many frameworks, eg SWT, WinForms etc have nice defaults, but once you start trying to extend them it gets very painful - moreso than Swing in my experience). I understand many hate Swing because of it's complexity or it doesn't work exactly as the Win32/WPF APIs do, but for me personally it is brilliant for multi-platform work and not yet found anything else that can touch it for sheer flexibility and customization.
So, while JavaFX is an option I don't think it is a generic solution to all classes of GUI problems (if you are going to invest time, effort and money you might as well use a 'swiss-army' toolkit that can apply to many problems).
Thanks. It might be in the AWT package but if he was limiting yourself to only AWT then I suggest he's not considering the possibilities that Swing adds above AWT. Colouring the pixels on the screen is only part of it, you also need buffering and layers (the handy GlassPane) etc to do cool stuff (drawing with some of the concepts of 'Filthy Rich Clients'). Hence, I mention Swing as good for drawing above and beyond the confines of AWT.
What I forgot to mention is that you can mix OpenGL with a Swing canvas for your drawing (you need somewhere to draw after all) and it is pretty seemless thanks to JoGL. So, start with Swing technology and adding 3D over your 2D is very straightforward. While you can use JoGL with AWT it is again best integrated with Swing.
Who suggested Java AWT? What is this, 1998? Someone is behind on their homework :).
Java's Swing + Java2D is *fully hardware accelerated* (ever since Java 1.6.0_u10 some time ago), multi-platform, with good multi-thread support (not for rendering, you don't need that, but for the rest of the program), very customizable, and looks fantastic with the Nimbus look&feel (a standard part of Java). Swing is used a lot on the enterprise desktop (and a few shrink wrapped products too - I know I've purchased some as they were best-of-breed tools). Many of the Java Swing ttools are free and there are a lot of them (eg. Matisse in Netbeans makes creating GUIs a snap). Java2D had extensive contributions from Adobe who happen to know a thing or two about presentation. Plus, drawing in Java2D also allows printing relatively simply.
Funniest thing is, one motivation for the ban may be to to preserve the "modesty" of their women - in a country where 38% of women under 25 are obese or overweight (easy to hide under that chador). This figure is unlikely to get better with age either (pun intended).
Well, I agree with you that Objective-C is rubbish. Doing anything decently multithreaded with it is just awful.
Look, no need to lose your rag and blaspheme, this is simply not an interesting enough discussion to warrant it. It's good you have used GWT so realize that any non-trivial application utilizes RemoteServiceServlet among other server-side only parts. Hence, I disputed your assertion that GWT is a "client side" only technology. Again, you arrogantly chose to ignore the point and counter with an accusation of "brazen stupidity" when all I was doing was stating the facts.
If you are generating Java boilerplate by hand then I suggest you get better tools. I never have to worry about that stuff. C#'s properties are nice but don't make up for the strategic limitations of the platform. Again, .NET has some nice tech but if you are thinking as a *businessman* and not as a technologist there plenty of reasons for companies to prefer Java, and why they still do (again, please look at the facts I have supplied you in an earlier post).
The reason you count as a "fanboi" in this discussion (veteran or not) is because you prefer to insult me and spurt anectdotal sums like "droves" rather than rationally debating the figures and facts presented. While I understand you moving to WP7 because you like it, it does seem that the technologist in you has overwhelmed a business perspective. That is not fanboism, but is not far from it.
Mate, if I had mod points today you'd definitely get them for that last post. +1 Insightful.