The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

The Java debate

I present to you a little java article.  I always get into debates on why people just aren't into java.  I can understand the reasons, but I just hate when people use it regularly and come out saying it sucks.  I will be honest, I like working with it.  There is better out there, but java is pretty popular, so why not?  I use other languages, python, lisp, but java is my core.

Here is my blurb on the issue.  It is a draft, and I will need to do some more research.  Hopefully, I will get my simple article out before I lose interest.  There are typos, using emacs, no spell checker installed.

http://www.newspiritcompany.com/WhyJavaSoPopular.html

Am I wrong?  Rewrite my essay.
Berlin Brown Send private email
Sunday, May 22, 2005
 
 
Is Java so good that there won't be good alternatives to it? James Gosling himself thinks that it will be too sad if other languages and platforms do not take the throne from Java. I would focus on static typed languages as replacements for Java. C#/DotNet is a good combination, that together with Longhorn, will provide good competition in the future. So write this paper fast, before it becomes obsolete.

Answer this to me: What OS do Java developers use to develop in Java?

The Darth Vader in us want to believe that there are other options to Windows, but until Luke is with us, the force will be with the Jedis.

Sunday, May 22, 2005
 
 
"What OS do Java developers use to develop in Java?"

Easy, Windows.  In the past, I would have said Solaris, Linux.  I know developers 'deploy' on Redhat Linux(not all of them, but a lot).
Berlin Brown Send private email
Sunday, May 22, 2005
 
 
So, Windows is kind of like Jerusalem, which, historically, has been occupied by different races of people: C++, VB, Delphi, Java, and, I believe, C#/DotNet. I wouldn't expect that the Java flag would stay put much longer.

The problem is that, besides Windows, I don't see Java as belonging to any land in particular, though it's everywhere, still.

Now, how would C#/DotNet take Windows over? First, they have copied the enemy. Second, they have improved upon it. Third, they have reformed the entire land in Longhorn, trying to expand like Rome did in its epoch. To me, it seems like a concerted and victorious effort.

Sunday, May 22, 2005
 
 
It's not just the language. It's the community and the tools behind it. Java has some of the best libraries and IDEs out there. IDEs like IntelliJ and Eclipse can easily make you much more productive in Java than you could be in a language such as Python without an IDE on the same level.

That being said it'll be a shame if Java doesn't get superceded at some point. Boo in particular has some nice features but I still think there's plenty of room for improvement.
Simon Collins
Monday, May 23, 2005
 
 
I'd say Java developers develop on whatever OS is on the computer they're sitting at.  For me, that includes Debian (Woody), Windows XP, and MacOS X.  At my job, someone decided that developers should have Linux boxes, so here at work it's Redhat.  Every operating system I've used has a text editor and a command shell, so the development experience is similar on each.

I have a few comments in response to the article.  I tend to agree with Eckel on Java being too verbose, and I don't think it's necessarily an OO ailment.  I liked the idea of class names in the API having easy to read names that described their purpose, but it is tedious to type them, and to me the value added by long names is overstated.  I still had to read the API documentation for several classes at a time and get familiar with their methods in order to choose an appropriate object for my use.  Method names especially do not need to be so long, and in my experience do not make the code more readable.

Judging the quality of a language on how easily other developers can learn it is folly.  Granted, it is a legitimate issue in large organizations, where developers get shuffled around a lot without regard to their skill set.  But the nuances of any language or API are going to be lost on the uninitiated, Java included (like how HashSet allows you to insert duplicate items if you're not careful).  If Lisp was difficult for Lisp hackers to maintain, that would be something else, but I don't think it's the case.

I don't think Eric Raymond would enjoy being called a "GNU and FSF core advocate," any more than Richard Stallman would enjoy being associated with "Open Source."  It's true that Stallman has a problem with commercial software, but not true with Raymond.  Different camps.  Debian doesn't distribute Sun's JVM because Sun won't allow it.  It has nothing to do with hating Java.  If otherwise, the GNU project wouldn't be developing Java language products.

A correction on section 4: As of version 1.4, the full JDBC API is part of J2SE.  In previous versions, the core JDBC was part of the standard edition, and the extensions were in the enterprise edition.

Lastly, I have a quick comment about language choice.  I think corporations push the mindset of "one language fits all," that I find wholly impractical.  If I want to hack out a quick tool that speeds up small tasks for me, I'm going to use Perl (no exceptions).  If I'm putting a complicated web application together, I'll probably use Java, but not always.  I'll use C or PHP other times, depending on what I'm building.  Or sometimes maybe all of them together (the host machine certainly doesn't care).  In the end, I'm going to use whatever language I can do the job fastest with.
Matt Brown Send private email
Monday, May 23, 2005
 
 
"A correction on section 4: As of version 1.4, the full JDBC API is part of J2SE.  In previous versions, the core JDBC was part of the standard edition, and the extensions were in the enterprise edition."

Yea, you would think JDBC would be a part of the J2EE.  I debated on that one internally, couldn't remember exactly.
Berlin Brown Send private email
Monday, May 23, 2005
 
 
"It's true that Stallman has a problem with commercial software"

I think RS has issues with with non-Free software, not non-free software.

http://www.gnu.org/philosophy/philosophy.html
http://www.gnu.org/philosophy/selling.html
i like i
Monday, May 23, 2005
 
 
At home, I develop Java on WinXP.  On my biggest client's site, I use Fedora Core 3.  Each is setup as a local dev server.

I do *ALL* of my hosting on Linux boxes though.  It's great having a single build for ALL the servers.
KC Send private email
Monday, May 23, 2005
 
 
"I think RS has issues with with non-Free software, not non-free software."

Yes, you are right.  That is what I meant, but not what I said.  :)
Matt Brown Send private email
Monday, May 23, 2005
 
 
You missed the history of why Java became so popular.  It was really at the right place at the right time to hit it big.  That place was the Internet and the time was the late 90's.  The Applet was supposed to be our savior and the Java application was supposed to end the desktop OS wars.  Instead  it became a great server side tool.
Bill Rushmore Send private email
Monday, May 23, 2005
 
 
>Yea, you would think JDBC would be a part of the J2EE. 
>I debated on that one internally, couldn't remember
>exactly.

No JDBC should be part of J2SE not J2EE since it is perfectly natural to want to build a desktop Java application that accesses a database and has nothing to do with J2EE. Since J2EE exists on top of J2SE, anything in J2SE is automatically available to J2EE anyways so J2SE is the right spot for the JDBC spec.
Gerald
Tuesday, May 24, 2005
 
 
"Is Java so good that there won't be good alternatives to it?"

This question seems a little strange to me. There are many other wonderful, practical languages in the world, most of which predate Java. Like .NET, Java is popular with bosses, who make their choices based on magazines and posters.

Java is big in the sense that it has huge amounts of marketing behind it. I don't think it's big in the sense of being particularly popular with programmers.
Brendon Send private email
Tuesday, May 24, 2005
 
 
I love Java. There. It's big with *this* programmer. ;-)
Dave
Tuesday, May 24, 2005
 
 
I develop in VB.net and Java.

Plus and Minus:

Java - Look & Feel, Layout managers are horrible, but replaceable.  Big Plus is my code always seems to work as new JVM's come out. Decompilers are terrific (thats good and bad)

VB - Great Rad, nice IDE.  My code breaks about ever 4 years.  No forward or backward compatibility except for the simplest functions.  Easy sell because of high visibility.

The long term code re-use of java seems to be a huge benefit over VB.  I have code I wrote in Java in 1998 that runs fine, and code I wrote in 2000 in VB that doesn't.

I dev in Java when I can, VB when I am told.
flash91
Wednesday, May 25, 2005
 
 
The real advantage of Java is its extensive API library which you can be assured will behave in the same way everywhere (give or take the usual exceptions) and was documented in an easy format online.

I found in VB I would get to a point where I needed a function to do X and it was obvious that someone somewhere had made this a library function but I'd need to know MaGicfunCTIOnnaMe() in order to do it.  With Java, its much easier to find out about that method for splitting a String or how to convert a String into an Integer.  I can narrow my search to just a few classes (if not a single class) and browse there.
Jeffrey
Wednesday, June 01, 2005
 
 
Languages like Python that make coding quick are great for small personal projects.  But if you are developing code that has to be maintained over long periods of time by many different programmers then Java rocks.
DoBeDo Send private email
Thursday, June 09, 2005
 
 
I think we are at a point in history where the tools available for a langauge are at least a important as the language itself when making decisions about what to use for medium-to-large projects.
Matisse Enzer Send private email
Friday, June 10, 2005
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz