SQL Zone is brought to you in partnership with:

rouletteroulette has posted 628 posts at DZone. View Full User Profile

How Oracle’s Ellison Drove a Java advocate to .NET/C#…

  • submit to reddit

My $0.02 worth of opinion on how all the Oracle shennanigans are impacting my development focus choice. You don’t know me. Larry Ellison certainly doesn’t know me. I am a nobody. A typically esoteric strange developer coder type nobody. But still a nobody in the big picture of industrial software platforms.

Yet, there are enough of me, of nobodies, to eventually matter. And thanks to Ellison, Jobs and Ballmer, I am now planning to use FLOSS Mono influenced MonoTouch to produce .NET/C# apps on the iPhone. That’s the only way I know to punch each of them in their groin while simultaneously maximizing _my_ market value. Jobs has to _hate_ my choosing to use .NET/C# on the iPhone. Ballmer has to hate I am doing anything on the iPhone. And Ellison loses the mind-share of a disillusioned Java enterprise developer. How does this help Oracle long-term?

And I know I am not the only Java developer like this. In fact, I am seeing lots of nobodies out there…enough to eventually make a difference emergently. If my attention moves away from enterprise Java and into, say, .NET/C# via MonoTouch, how does that help Oracle long-term? And if enough of us move away from Java and into whatever else is out there, Java heads towards the same fate as FORTRAN and COBOL. It will still exist. It will just do so in obscurity while its descendants thrive. Perhaps that’s the future. Java’s descendants; Android and .NET/C# via MonoTouch. How does this help Oracle long-term?

I’m not a star Java developer with a blog about how awesome Java is. I am just one of those mundane day-to-day enterprise application code sluggers that has been happy with Sun’s FLOSS directions in and around Java and OpenOffice for years. And then Oracle/Ellison purchased Sun. And I tried to stave off the feelings of dread I had about what might happen as Sun was consumed and digested by the Oracle/Ellison behemoth. But the staving didn’t work. And an internal motivation threshold was crossed. And I am now actively pursuing a .NET/C# future. First in MonoTouch. And then, in MS’s own products as they are introduced (as opposed to Java) where I’m responsible for architecture and design decisions. How does this help Oracle long-term?

I am not an Ellison fan. I’m not into the psychologically immature narcissists (probably adjectively redundant) that seem to plague US technical corporations (I don’t know if the same occurs elsewhere). I particularly don’t care for Oracle/Ellison, Apple/Jobs and Microsoft/Ballmer. Maybe it’s because I cannot relate to them and their corporate juggernauts. It’s probably why I remained a Sun fan. I like underdogs. I wasn’t very keen on Scott McNeily, Sun’s original CEO, as he seemed to be a personality alignment wannabe for those others. However, he stepped down and was replaced with Jonathon Schwartz. And he was my kind of guy. Unfortunately, he was left with quite a mess upon his arrival. And in spite of that, he was able to achieve some great progress, at least for those of use who value FLOSS. And he was able to communicate pretty effectively with his development community. Schwartz fell away as Sun entered the great maws of Oracle. I trusted Schwartz.

And as I watched Oracle digest Sun, I became aware that I was no longer comfortable with Java’s future as I didn’t trust Java’s new steward. How OpenSolaris was treated was one of the earliest signs. Then, there was the activity around Apache.

So, I began to think about “What’s next?” I couldn’t help but notice all the activity around Android. I became interested in moving in that direction. Oracle helped push me further into that interest by suing Google for software patent infringement within Android. Nothing gets me more anti a company than for them to offensively use software patents. Okay, maybe ANYONE using the DMCA as a censorship mechanism might get me hotter, still. So, how does their litigation help Oracle long-term?

And then there’s OpenOffice. Oracle’s behavior in this area is just atrociously apathetic. And then they have made things even worse in the way they treated those who might be able to be liasons to help bridge themselves into the FLOSS community’s new LibreOffice. Instead, they acted like the community clueless corporate hacks I had feared they might be. Guess which nobody isn’t in alignment with, isn’t going to advocate for and will run from the NOracle as quickly as possible? Is Oracle even thinking long-term?

Since I currently own an iPhone 3G and my two year contract doesn’t expire until April, I decided to look at developing an app for the iPhone. As I investigated creating the app, I invested two weeks into researching what my options might be. And that was my first real foray into “Objective C”. I happened to get a copy of “Head First iPhone Development”. I was immediately put off by Objective C. And then I recalled Jobs requiring I use it (or C or C++) to make apps for the iPhone. So, I began a hunt to see what other options existed.

And that’s when a friend pointed out MonoTouch. I investigated and liked how comfortable it felt. So, I have taken a series of very low risk and low cost choices as I move to generate my first iPhone app using MonoTouch. And thus far, I am VERY happy with what I have discovered. Plus, if Windows Mobile 7 takes off, I have leveraged my iPhone experience to help me eventually do .NET/C# development on Microsoft’s new mobile OS (which is the most likely one for Nokia to pick up now that they have offed Symbian).

All in all, I am a nobody. And as such, I have to hedge my bets. And thanks to Oracle/Ellison, I have decided to go explore other ways to hedge my bets as opposed to endure their hegemony. .NET/C# are now mature enough. Mono is FLOSS free enough. And thanks to Oracle/Ellison, it appears that Java has begun its eventual decline into the same status as COBOL.

As to Android, that’s just second nature to my existing Java experience. Of COURSE I will be producing apps for that. It’s a slam dunk. And knowing that producing apps on Android is annoying Oracle/Ellison’s juggernaut, bonus!

Java-like code remains in my future. It’s just descendants of Java; C# and Android, which will be my new partners.

So long Java, and thanks for all the FLOSS!

From http://chaotic3quilibrium.wordpress.com/2010/10/26/how-oracles-ellison-drove-a-java-advocate-to-netc/


Published at DZone with permission of its author, rouletteroulette rouletteroulette.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Mark Haniford replied on Tue, 2010/10/26 - 8:00pm

In some parallel universe my team would be using Groovy++ with awesome IDE support and none of these Oracle, Apple, Sun shenanigans would be happening.

 In this universe we've moved on to Mono and ASP.NET MVC2 for web stuff.  But our situation is a little different in that we have specialized, graphically-intensive, thick-client applications that Java is pretty much unsuited for (think COM).     But besides that,  the future of Java (the language) is more uncertain than ever, and one part of making platform decisions is personnel.

 I think the best thing for the Java community would be to embrace Groovy++.  Scala, Clojure, straight Groovy are not going to cut it for the vast majority of companies for what should be obvious reasons.





Mike Funk replied on Wed, 2010/10/27 - 3:59am

I feel you anger, Jim. Mark, what is the status of Groovy++? I having heard much about its march towards a final release for several months.

Andries Spies replied on Wed, 2010/10/27 - 5:27am

Once the lawyers step in, reality steps out.

Arek Stryjski replied on Wed, 2010/10/27 - 5:39am

I think most of us will not choose technology just to annoy someone...

There is also question why if Sun was such a great company, it is not with us any more?

Mark Haniford replied on Wed, 2010/10/27 - 8:54am in response to: Mike Funk

Mike,   Groovy++ is still pretty young, and I think much of the future of Groovy++ depends on how much the SpringSource guys eventually embrace it.  My recent gut feeling is that many of the Groovy leaders are starting to realize that a statically-typed (as a default/most of the time) Groovy is needed.  You just can't get the speed and (more importantly in my opinion) the high-level IDE support with current Groovy.

What is needed is investment in that alternative, statically-typed (most of the time) language that can be a real alternative to Java.    For various reasons Scala is not going to be it.  I like Scala and don't want to start a flamewar about it, but I just don't think that's going to happen.  But unless Oracle, IBM, and/or Google make the investments in this language, then it'll just be the status quo. 

 It's time for some leadership from an organization with deep pockets.   We need to get excited about an awesome language for the JVM that the rest of us can feel comfortable using with our teams.  Come on Google.

Jason Kilgrow replied on Wed, 2010/10/27 - 9:25am

"...Java has begun its eventual decline into the same status as COBOL." Indeed, so it seems that way for the language. However, java the "platform" will continue (I believe) to live on to host others (groovy, ruby, scala, etc). I think that is the future of "Java". Java the language will languish in the courts but the JVM will live on somewhere. Probably in some semblance of "OpenJava" or some ish. Meanwhile, .net technologies will continue to thrive and gain adoption. I have not kept up with Mono but my guess is that as .net becomes more "corporate" (gains more adoption in the server side corporate scene) there will be more of a need for Mono on the server. Perhaps not on the desktop. That seems the realm of Windows (or, perhaps Ubuntu?, eventually? ...maybe OpenSUSE?). Nevertheless, I do see .net gaining and Java waning in the next 10 years. Watch for the new, small, "side" languages to take off on the JVM.

Andrew Thompson replied on Wed, 2010/10/27 - 9:48am

goodbye pan, hello fire?

Mark Haniford replied on Wed, 2010/10/27 - 10:31am in response to: Andrew Thompson

goodbye pan, hello fire?
Remember that GPLing Java was what was supposed to save the Java platform from all of us this mess. Apparently from the perspective of many, that's not the case. So basically there's no certainties about anything.

Mark Haniford replied on Wed, 2010/10/27 - 10:38am in response to: Jason Kilgrow

The problem I have with just "the JVM will live on" attitude is that I'm not buying into this polyglot JVM world that many have constructed in order to compensate for the failings of Java the language to evolve.  In the real world, where you have employee and planning considerations, that doesn't fly for most companies.  You need the core language with awesome IDE/tooling support.

The funny thing about Mono is that despite the pretty-much irrelevance of the Linux desktop, it has made an impact there - Banshee, F-spot, Tomboy....  There's also some inroads into the gaming world by Mono.  Second Life uses Mono for its VM.  Unity3d is built around Mono.  I think other games are using Mono for its scripting engine.

 But really Mono needs to concentrate on the server side of things.  But the project has limited funding, so development goes to where it's being used right now.


Smeltet Kerne replied on Wed, 2010/10/27 - 10:45am

However, java the "platform" will continue (I believe) to live on to host others (groovy, ruby, scala, etc). I think that is the future of "Java". Java the language will languish in the courts but the JVM will live on somewhere.
According to the Tiobe index neither c# nor java have changed much over the past 2 years. The only real movers are objective-c's ascent to almost the level of c# in less than 2 years and visual basics deaths spiral.

Fabrizio Giudici replied on Wed, 2010/10/27 - 11:47am

I'd point out that in the past year both Oracle and Microsoft stopped or drastically reduced the ongoing work for supporting dynamic languages (Oracle with respect to what Sun was doing). This means that the related development is now in almost total charge of the community. This is a Good Thing, but it also demonstrates that there's no massive interest in the industry (outside the community): in both the Java and C# worlds. Which in turn means that those languages will be used for many years to come.

John J. Franey replied on Wed, 2010/10/27 - 12:11pm

Bye, Jim.

The handheld market is young and has multiple software platforms and offerings competing for your attention. There is no telling where the momentum will be: java, android, ms, apple....? Your guess is as good as anyone's. It will be difficult to make a buck there unless you get lucky and invent a viral app, otherwise, you'll be a tool for the big companies that port their front-end interfaces from desktop to handheld. There really isn't gold in handheld development for any of the unknown programmers.

The inertia of enterprise and desktop investment (ie, java ecosystem) is way too big to turn your back on. Billions of dollars have been poured into Java to date, and billions more are pending. The handheld market is consumer focused, not enterprise focused. Handheld units are user interfaces not back-end server platforms: you can see an etrade user interface on an iphone, but the whole trading system will be in a back office where problems outside of the scope of a handheld device are resolved. So, due to its current level of investment, java will only be going strong; and after all the unknown programmers leave, many of them will be hired back.

Aside from your review of the mono platform, the reasons you gave for leaving java have no impact on you personally. How are you as a java developer impacted financially by Oracle's decision wrt android suit? or wrt OpenOffice? How do these world-scoped decisions impede your day-to-day productivity? I don't see that it does at all. At the individual unknown developer level, these issues are just something to bitch about and have no relevance. They matter more to our employers with business plans.

So....bye. Don't let the door hit you on the way out.

Alessandro Santini replied on Wed, 2010/10/27 - 1:33pm in response to: John J. Franey

Well said, John.

Igor Laera replied on Thu, 2010/10/28 - 11:00am

I still don't see why it is important to constantly change things. C++'0x (or whatever it is called)
took years until the current state and most of the advantages of the plattform came by other players
besides the core language. STL, qt, boost, SDL... you name it.

The Java world is like that, but it depends practically on one runtime, and one company holding
all key assets (if you like it or not). This was clear from the beginning and many people liked the
"go as you like" approach by Sun. It was part of the success; and with this success people
overlooked the control one company had over the whole ecosystem.

Now we see, that the new pit boss values those assets differently; and we have to question our
own laissez-fair behaviour regarding who controls what, where and when. Many saw Java as a
"free" alternative to .NET. But it never was 'that' way, it just removed the need to buy
expensive Redmond Servers to run 'serious business' software.

This will not change for the forseeable future. This is the core value for many people.

Many of my customers use Oracle databases and many use Sun hardware. It might even help
getting their systems to run smoother; and that was one of the reasons Larry wanted to
get Sun in the first place: more control to run his money maker. But control doesn't mean change.

People who point to Groovy++ or Scala for language development should explain, why many
famous oss libs and projects even don't use 1.5 Generics; still have old-school designs like
heavy static initializer chains (which you simply hate in certain OSGi environments). Many
question the currently planned constructs like those pseudo closures and other syntax gimmickry.

For me, Java 1.6 is a good base to go forward the next years. If Oracle flexes his technology muscle,
we will see serious improvements in performance, GC-behaviour and long term bug fixes. I doubt I
will use any of the planned Java 7 features in the next years in (legacy) projects.

Instead of another useless change, I would rather like the current (anti-Oracle) wave to run its course. It's simply the wrong time to make huge changes and knee jerk decisions.

Alessandro Santini replied on Thu, 2010/10/28 - 11:24am in response to: Igor Laera

That is a very interesting point Igor. There's a whole community who spends much more time in finding the latest syntax geekery instead of focusing on delivering business value to their customers. There are potentially more web frameworks than production applications and now a new wave of functional only-god-knows-what to solve problems that only a bunch of large enterprise really need to be fixed and that could be clearly fixed without yet another geeky approach.

If there is something I love about Java is instead is that it has proven (with some due exceptions of course) very resilient in the last years. Skills of the IT staff had to be upgraded only incrementally (if we keep the plethora of frameworks around aside for a moment), saving a lot of money to companies.

I am a fan of the JEE specs (for good or bad they are) because they provide a baseline on which enterprises can rely upon. What I'd really love is a clear product roadmap and less politics involved in its definition.

Edgar Sánchez replied on Thu, 2010/10/28 - 4:25pm

@John "The inertia of enterprise and desktop investment (ie, java ecosystem) is way too big to turn your back on." Inertia? What an spiriting argument, especialy for the new generation of developers. "So, due to its current level of investment, [transatlantic steamships, I mean] Java will only be going strong." Famous words, circa 1910. Mmm, maybe a C# airplane has a little more future :-)

Gar Labs replied on Sun, 2011/10/23 - 10:05am

Producing application for Android nowadays is a fast way to earn those Benjamins. I mean, Android are selling like hotcakes and application providers are taking advantage of this trend. -GAR Labs

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.