Saying Java sucks or Java is slow is like saying Lord of the Rings is a lousy story because it had lousy bookcover illustration.
From the years of reading Slashdot and more than a decade on the web reading about how people bash Java, it is pretty clear how many people can't tell the difference between a platform and an API. It is worrying how much of these people make up the world's pool of software professionals.
While it is true that Sun dropped the ball on Java marketing and the Swing API, it is also true that Microsoft wielded its evil muscle trying to kill it (how many can claim to have survived such attacks?) in the 90's (anyone remember the 9-year lawsuit that Sun eventually won?) and Java as a platform and ecosystem stalled because of that. As a 20-year software veteran who used to write in C/C++ and assembly, I'm happily making a good living writing real-time graphics apps with Java that runs on Mac, Windows and Linux. Those who bash Java just don't know what they are missing and I'm happy to keep it that way: less competition for me.
Lastly, Adobe Flexbuilder, the IDE that this iReversi game was written in, is based on Eclipse. And Eclipse is written in Java using the SWT API. Eclipse is also one of the world's most complex piece of software that runs on Mac, Windows and Linux. Adobe's marketing should eat its own smelly socks.
Let's not forget that OpenGL is still the choice of many university research projects and in the scientific visualisation markets. These projects tend to have a much longer shelf life than things like games. Also, Google's efforts in adding 3D to the web, WebGL, is an OpenGL binding to javascript.
To those who think everything on the web should be free, I say this to you:
How would you like if I (and millions of other netizens) expect you to do your day job for free because your boss decided to give away your flagship product for free.
---
This fundamental lack of appreciation of economics by the general public is one of the reasons why the U.S. is fast losing its competitive edge to the rest of the world. But if you insist, be my guest, because I don't contribute to your economy and really enjoy being the free rider.
Is there an app that is truly essential to the
everyday net user and/or developer that is written
in Flash?
A video player (as big as youtube might be) is but
an applet that serves only video.
Sure, there're some really good UI and games
written in Flash, but they are non-essential.
That is, I can live without them.
And ads: I really can do without them too.
300+ million J2ME-capable phones
out there shows that Java is indeed
downward-scalable. Just today nVidia
announced a tight-integration of
OpenGL ES API with its GPUs for
mobile phones.
Before those who go on to dismiss Java for various reasons (no matter how ignorant they are), take a look at the presentation given by Google at this year's JavaZone conference on how Google is using Java internally at extreme scales. Among them are AdWords and GMail.
Frankly, I'm shocked. I've been coding for more than 20 years. The idea of having specifications becomes more important by the day. Yes implementation and the specs may differ over time, that's why you need to re-visit the specs regularly. It's a waterfall model, like it's taught in schools. If implementation and specs differ, find out why, record it, update the specs. It's all due diligence and part of a rigorous and professional process. That said, many inexperienced engineers don't know how to write a good specs and it's nobody's fault: it's a learned skill. Plus it is even harder for engineers because many of them don't have good writing skills to begin with!
The page is so overwhelmed by text at the bottom that I complete missed the *main feature* search bar at the top. It took me 5-seconds to realise it's there. Layout and information display is an art: there's more than meets the eye.
SGI is the inventor and care taker of OpenGL. Without OpenGL, desktop 3D graphics would be completely monopolised by Microsoft's Direct3D. If SGI goes down, what's going to happen to OpenGL and the OpenGL Architecture Review Board that's responsible for advancing OpenGL?
IMHO I feel the effort can be
better spent on helping Mustang (1.6)
and Dolphin (1.7) to be better
than if Sun did it alone. Just
fixing the outstanding bugs that's
been on the bug parade is a great
service to the Java community.
I admire the spirit of wanting to reimplement Java, but this almost feels like a 'Netscape' to me.
I saw a Lithium CR232 battery in one of the photos.
By making it hard to remove and voiding the warranty
by opening it up, this thing is not meant to last
for more than a couple of years for the regular Joe.
What makes people think that the intricate balance of our DNA achieved from 10s of thousands of years of evolution can be maintained when you make drastic localised changes like gene therapy? Stop treating humans like software systems where you can go in and refactor class interfaces as and when you like!
If you need a more detailed (but not terse) guide to Tiger, try O'Reilly's Java 1.5 Tiger: A Developer's Notebook. It's one of those books with light-hearted writing style and nice simple examples written by dudes who really know the stuff.
I'm a digital artist working mainly on real-time multimedia applications. My language path has been BASIC, Pascal, C, Assembly, C++, and finally Java. I've written 2 real-time demos (as in the demoscene's demo) in C/C++/asm, but now I use Java exclusively, for the past 5 years. I've never looked back ever since. There're occasional needs for JNI wrappers for native libraries, but Java gives me much more than I can ever ask of C++. The stuff on my website will prove that I'm not bluffing. Yes Java is not perfect, but it is a great evolution. So you can hear it from me: I'm grateful for Java.
We still live in a world of CPUs that are either little endian or big endian: affects binary compatibility and performance (from having to swizzle).
We still live with the primitive C/C++ type system with code like this in just about any SDK:
#ifndef _BOOL // TRUE_AND_FALSE_DEFINED // true and false
typedef unsigned char bool;
#if !defined(true) && !defined(false)
#ifndef TRUE_AND_FALSE_DEFINED
#define TRUE_AND_FALSE_DEFINED
enum {false,true};
#endif
#endif
#endif // _BOOL
Saying Java sucks or Java is slow is like saying Lord of the Rings is a lousy story because it had lousy bookcover illustration.
From the years of reading Slashdot and more than a decade on the web reading about how people bash Java, it is pretty clear how many people can't tell the difference between a platform and an API. It is worrying how much of these people make up the world's pool of software professionals.
While it is true that Sun dropped the ball on Java marketing and the Swing API, it is also true that Microsoft wielded its evil muscle trying to kill it (how many can claim to have survived such attacks?) in the 90's (anyone remember the 9-year lawsuit that Sun eventually won?) and Java as a platform and ecosystem stalled because of that. As a 20-year software veteran who used to write in C/C++ and assembly, I'm happily making a good living writing real-time graphics apps with Java that runs on Mac, Windows and Linux. Those who bash Java just don't know what they are missing and I'm happy to keep it that way: less competition for me.
Lastly, Adobe Flexbuilder, the IDE that this iReversi game was written in, is based on Eclipse. And Eclipse is written in Java using the SWT API. Eclipse is also one of the world's most complex piece of software that runs on Mac, Windows and Linux. Adobe's marketing should eat its own smelly socks.
Let's not forget that OpenGL is still the choice of many university research projects and in the scientific visualisation markets. These projects tend to have a much longer shelf life than things like games. Also, Google's efforts in adding 3D to the web, WebGL, is an OpenGL binding to javascript.
This is what managed languages are here to solve, so we can all write safer code without having to think too much about it.
To those who think everything on the web should be free, I say this to you: How would you like if I (and millions of other netizens) expect you to do your day job for free because your boss decided to give away your flagship product for free. --- This fundamental lack of appreciation of economics by the general public is one of the reasons why the U.S. is fast losing its competitive edge to the rest of the world. But if you insist, be my guest, because I don't contribute to your economy and really enjoy being the free rider.
Is there an app that is truly essential to the everyday net user and/or developer that is written in Flash? A video player (as big as youtube might be) is but an applet that serves only video. Sure, there're some really good UI and games written in Flash, but they are non-essential. That is, I can live without them. And ads: I really can do without them too.
300+ million J2ME-capable phones out there shows that Java is indeed downward-scalable. Just today nVidia announced a tight-integration of OpenGL ES API with its GPUs for mobile phones.
..and watch him do that superman thing...
Before those who go on to dismiss Java for various reasons (no matter how ignorant they are), take a look at the presentation given by Google at this year's JavaZone conference on how Google is using Java internally at extreme scales. Among them are AdWords and GMail.
Frankly, I'm shocked. I've been coding for more than 20 years. The idea of having specifications becomes more important by the day. Yes implementation and the specs may differ over time, that's why you need to re-visit the specs regularly. It's a waterfall model, like it's taught in schools. If implementation and specs differ, find out why, record it, update the specs. It's all due diligence and part of a rigorous and professional process. That said, many inexperienced engineers don't know how to write a good specs and it's nobody's fault: it's a learned skill. Plus it is even harder for engineers because many of them don't have good writing skills to begin with!
Maybe that's why the whale surfaced: to kill the squid using its natural weaknesses.
The page is so overwhelmed by text at the bottom that I complete missed the *main feature* search bar at the top. It took me 5-seconds to realise it's there. Layout and information display is an art: there's more than meets the eye.
SGI is the inventor and care taker of OpenGL. Without OpenGL, desktop 3D graphics would be completely monopolised by Microsoft's Direct3D. If SGI goes down, what's going to happen to OpenGL and the OpenGL Architecture Review Board that's responsible for advancing OpenGL?
Fortunately Sun does let us fix bugs now.
Take a look at this article:
I fixed the JDK!
This guy submitted code fixes and actually got accepted by Sun and rolled into Mustang code!
IMHO I feel the effort can be better spent on helping Mustang (1.6) and Dolphin (1.7) to be better than if Sun did it alone. Just fixing the outstanding bugs that's been on the bug parade is a great service to the Java community. I admire the spirit of wanting to reimplement Java, but this almost feels like a 'Netscape' to me.
^^^ enuff said.
Martin Wattenberg, being the main author, also has a personal homepage that has very interesting visualisations in Java as well: Bewitched
I saw a Lithium CR232 battery in one of the photos. By making it hard to remove and voiding the warranty by opening it up, this thing is not meant to last for more than a couple of years for the regular Joe.
Get an education before throwing arbitrary numbers at me: Homo Sapien Events
What makes people think that the intricate balance of our DNA achieved from 10s of thousands of years of evolution can be maintained when you make drastic localised changes like gene therapy? Stop treating humans like software systems where you can go in and refactor class interfaces as and when you like!
I, for one, welcome our Colorful Quarky overlords...
If you need a more detailed (but not terse) guide to Tiger, try O'Reilly's Java 1.5 Tiger: A Developer's Notebook. It's one of those books with light-hearted writing style and nice simple examples written by dudes who really know the stuff.
Personally, I think fast code is more important than coding fast. But that's because I work in the real-time media industry..
I'm a digital artist working mainly on real-time multimedia applications. My language path has been BASIC, Pascal, C, Assembly, C++, and finally Java. I've written 2 real-time demos (as in the demoscene's demo) in C/C++/asm, but now I use Java exclusively, for the past 5 years. I've never looked back ever since. There're occasional needs for JNI wrappers for native libraries, but Java gives me much more than I can ever ask of C++. The stuff on my website will prove that I'm not bluffing. Yes Java is not perfect, but it is a great evolution. So you can hear it from me: I'm grateful for Java.
How about patenting the BSOD? I'm sure there's no prior art involved...