Programming: tools and languages

Let’s take a few things from this blog post on “Code Monkeyism” and discuss:

“Searching for java is dead with Google, one gets

Results 1 – 10 of about 8,620,000 for java is dead.

Dead indeed. Or at least lots of people think it is or will die 2009.”

OK, so, let’s see what other things we can search for on google and get more results than that:

“ruby is dead” – 9,500,000

“c is dead” – 207,000,000

“obama is dead” – 113,000,000

“free range chickens” – 37,500,000

If that was supposed to convince me of something you are sadly mistaken.

He then tries to define “dead”:

“What does it mean to be dead for a programming language? Perhaps that it is no longer the default choice for projects?”

He goes on to describe how many startups don’t use Java for new applications, and doesn’t say anything about new projects from other types of organizations.

The only large – and lets say profitable and growing – startup that uses Java is LinkedIn.

Apparently this guy knows the technology behind every startup in the world. How am I supposed to trust anything you say when there are statements like this throughout your post?

Later, he states that “Java is not dead”. But then, one paragraph later:

“But just because Java is not dead doesn’t mean it has a future.”

What’s the difference? On what time scale? 5 years? 25 years?

“Java is a none-hype.”

What does that mean? It makes it hard for me to take this post seriously when there are meaningless things written throughout it.

Java is not going anywhere anytime soon. It is used in thousands of applications globally. The development tools available to Java developers are unmatched in quality by any other language. To claim it is dead is just trying to provoke an argument.

I use Java every day at work. I’m not saying it’s the best language out there (far from it), just that its not going anywhere.

Anyways – do me a favor, blogosphere: make sense when you try to discuss these things.

gregory144 says:

Thanks for your response.

To be honest, I don’t know what other startups use Java. I agree that startups are not likely to use Java in new applications. However, this fact doesn’t affect whether java is “dead”. Java is still used in enterprises, government and education.

blah says:

Schmidt is never going to admit to his ignorance, that would take away from the sting of his bullshit. Without his lies he wouldn’t get people coming by to correct him and thus, wouldn’t get the attention he thinks he deserves. Remember folks, some **** out there really _do_ believe that _any_ publicity is good.

luke says:

I think one would be quite foolish to assume a language is dead even by looking at startups. Perhaps startups might give some indication of the market, but startups account for a relatively small portion of the marketplace. Oracle, SAP and IBM use Java quite a bit for their clients and quite possibly have more users and revenue than all recent startups combined.

I sigh whenever I think about getting a contract job for a Java system simply because you never know what you might find (since Java has gone through so many libraries and tools over the years), but I do know that the JVM performs quite well.

If you look at the some of these new languages on that other blog, you see will see that some of these options run on VMs that haven’t squeezed out as much performance as the JVM or perhaps languages that may not fair well with widespread usage. Does it seem likely that ocaml or scala will be popular with software developers that treat programming as a job instead of something they enjoy? You might be laughing at that statement, but many people sitting in corporate offices worldwide have some job related to adding a new report or a slight enhancement. They take CRM software and add a new method to support the business. I am skeptical that these people will be willing to learn ocaml anytime soon. You can talk about the latest and greatest website startup in ruby, but in the developers working on that website may represent in reality a small portion of developers and revenue even if those people at the website are doing well for themselves.

gregory144 says:

I completely agree luke. Startups are not the only organizations creating new projects. The giants you mention create just as many if not more big projects that will keep languages like Java alive for a long time.

mark says:

It is true – a language will never really “die”. They will exist as zombie for many years to come.

Personally, I think Java is in a hybrid world – on the one side it wants to evolve, on the other side it is like a zombie with a stomache that is about 100000 km long. Should he cut off his stomache? (Zombies need a stomache, how else would they benefit from biting and eating people???)

There is one definition i like, and this is if many new people come AND use a specific language.

In this regard, I believe if you compare it to some other languages, Java does indeed “die”. But it will be a slow death that will last decades.

armchair_coder says:

This is from someone who does Java coding on a daily basis :

While Java is certainly not dead nor die for quite some time to come, I am not having as much fun coding in Java as I am in certain other languages. It solves real life problems, just like Cobol, Fortran, and C did (and are still doing). But as happens to languages, innovation on the language front has lost much of its momentum.

Talking of IDEs : Eclipse, Netbeans and IDEA are nice tools, but not as complete as V.Studio or as fast as Delphi. The various frameworks and libraries integrate very poorly with the IDE if at all. When starting on a new project, I see developers (even the experienced ones) struggling to get all the frameworks and libraries hooked up and started. If you are writing code for the server side (most of us do), development is ad-hoc, cumbersome and slow… and forget app-server portability.

But all said, the JVM is remarkable and is still alive and kicking and will provide the base for cross-platform programming language innovation.

It’s not dead but Sun is really trying hard to bury it. Bundling trial software with the JRE. Installing it’s own “updater” service while setting a Windows scheduled task would be perfectly enough. Resetting the automatic update check setting after every update. Making the JRE bigger and bigger. Ugly splash screens. Non-native GUI even in the control panel… makes me angry sometimes.

gregory144 says:

@bystander: You’re right. That statement is arguable. Let me clarify: In my opinion, Java has the best development tools. I’m planning a post about that specific topic that will hopefully be published soon. I will try to avoid statements like that in future posts.

Steve W says:

As someone who contracts out doing Java work I’m in an ideal position to know whats going on in the Java world outside of Sun. Basically it seems very healthy. You have to remember that most Java apps go under the radar, they are either used internally by companies or you just don’t know they are Java. From my standpoint Java is the must have skill in most companies I contract for. C# is also required but not to the same degree and good old fashion C & C++ are still widely used.

To say a language is dead based on startups is just plain stupid, the real health of a language is its overall customer base and I’d hazard a guess that Java is by far and away number one. You have websites, applications, mobile and embedded devices using it.

Developer Dude says:

One of the best ways to gauge popularity of a technology is to use the ‘trends’ tool at Indeed.com to look at the mention of that technology in job listings. If people are being hired to work on it, then it must be in use – right?

As for startups – they come and go. Just because someone can get their family to loan them money to write code in their basement is not a reason that I should use the same language they think is great.

Talk to me about what Google or IBM or Oracle uses – oh wait, they use Java (among other languages) – I wonder if they know Java is dead? Someone better tell them.

bwtaylor says:

bwtaylor says:

So, if I’m a startup and I decide to use groovy and grails, does that count? If I’m using Spring, Hibernate, ActiveMQ, and ten other well known java libraries behind the scenes, but my coders write groovy, then am I “using java”?

Notice the subtle meaning of Schmidt’s response above: surely if he is a ‘head of development’, as casually mentioned, one can say whatever argument-out-of-thin-air he likes. “Woa there! Must something also be true to be said? I thought that part was entirely optional!”

@luke: The good thing about Scala is that you don’t have to go functional-programming from day 1. You can treat Scala as just a better Java, the same way C++ was first adopted as a better C.

People going from C to C++ did not have to go all object-oriented programming from day 1. They could grow into that new idiom.

Same thing with Scala. I first wrote a small Java application, calculating prime numbers. Then ported it to Scala. Trivial. Next step, doing it in functional programming style, requires much more brain work from me, and will take time.

Still, this is why I think Scala will be the next Java, plus that you can use all Java libraries straight from inside Scala. Trivial. Really.

decosume says:

hey dudes! One of the biggest Enterprises (ORACLE) around the world bought java (sun m) in billions of dollars, it is logical a deep investigation for this kind of transactions, so the future is there and every day depends on more and more people around the world.