Summary
Java has been attracting communities of programmers for the past twelve years. Much of Java's appeal, however, is
based on its ability to stay simple while at the same time incorporating more complex features. But the big
challenge ahead for Java is how to maintain the success formula in the ever-changing world of the future.
Advertisement
Outside, the crisp and clear San Francisco sky is visible. It's 11:30 AM. I am inside Moscone center, hall amongst
the masses of mostly-programmer, and very eager, visitors who are lined up and waiting for the exhibit doors to open
for the first time. No this is not the same crowd that is just about to rush a U2 concert stage. But the energy and
the enthusiasm within all of us—quietly—was just as ever-present. This is JavaOne 2007. Yes, we who are
attending are all Java professionals eagerly interested to see what's new in the world of Java by visiting the
exhibit booths and attending technical sessions, all the while collecting as many JavaOne souvenirs or T-Shirts to
display in our office cubes or wear on casual-dress Fridays.
Java has been around and has successfully prospered for well over a decade now. I fell for it in early 1999 while
completing my first introductory class in Java. What took me was Java's simplicity and ease of use as a programming
language. Yes, no more "copy constructors" and no more "pointer arithmetic" for this dedicated C/C++ programmer. What
has kept me loyal and very much interested for the past eight years, however, has been Java's evolving culture and its
lively community—especially online communities.
Java's future success in my opinion, hinges not so much on how well
it incorporates every new feature that our ever-changing world throws at it. But rather to the contrary: Java's future
success hinges directly on how well it can keep complex structures and features off, keeping an overall balance by staying
trim and simple while yet still appealing to new a generation of programmers that enter the work force every year. The
main audience that Java needs to captivate in the future is not for the most part, I think, the more matured programmers
who have grown to like Java through the years—me included. (The majority of us, more seasoned Java programmers, much
alike an old friend, are willing to tolerate the oncoming new changes and forget about deprecated classes or methods while
patiently learning new features with all their bells and whistles.)
The group of programmers that Java leaders need to pay attention to is for a large part the new waves of younger programmers
that are just starting and that will have neither the patience nor the time to learn a somewhat complex language. That is
why I strongly believe that simplicity and ease of use is still a key ingredient and a number one selling point essential to
success and survival of any fifth generation language. To their credit, on an overall basis, Java leaders have managed to
keep a balance so far. For example, by allowing scripting languages to enter as-is under the umbrella of Java, all
script-enthusiasts have remained interested and loyal to the Java camp yet are able to still enjoy new script programming.
Core Java is still core Java and JRuby is JRuby—a rather wise move.
What I saw today in the hallways of JavaOne today
was a clear indication to me that Java's culture and community is live and well. As for its commitment to simplicity and
ease of use, well, only future will tell. But so far despite my long list of grievances, and Java's maturity up to now, I
believe, Java has delivered on its commitment to keeping simple and remaining easy to use. If you think there other factors
that are essential to the future of Java feel free to post your feedback as I am sure we could all contribute to its future success.
Kay, Zero! As in nothing! I don't think Sun will ever pay for something that thousands of Java programmer are willing to say willingly about what they believe in for absoultly free. I asked for a pass to visit JavaOne from Artima and I got it late last week.
I have never been told what to say or what to write about from anyone. It just turns out that as a software engineer I like Java a lot and I and feel very passionate about writing --- and espcially about my work as a programmer.
Thanks for the candid comment! I took it as a compliment: "my writing is worth paying for".
I had to read most sentences more than once to parse them properly. (I am not a native speaker of English. So I don't mind minor problems in sentence structure but this is well beyond "minor" . this is atrocious).
"The group of programmers that Java leaders need to pay attention to is for a large part the new waves of younger programmers that are just starting and that will have neither the patience nor the time to learn a somewhat complex language."
Is the author trying to say "Java should be targeted at programmers who want a simple language"?
"That is why I strongly believe that simplicity and ease of use is still a key ingredient and a number one selling point essential to success and survival of any fifth generation language."
I would rewrite this as
"Programming languages, if they are to be adopted widely, should be simple and easy to use."
I could do this for almost every sentence in the article. I enjoy reading Artima, but this article is of very very poor quality.
Please note that I am NOT targeting the author but the writing. Now ofcourse insofar as the author is responsible for the quality of his writing ...
The simple solution may be to add a level of editing before an article is published.
> Kay, > Zero! As in nothing! I don't think Sun will ever pay for > something that thousands of Java programmer are willing to > say willingly about what they believe in for absoultly > free. I asked for a pass to visit JavaOne from Artima and > I got it late last week.
It sounds free as free market. Maybe it's even worse when programmers begin to speak in advertizing slogans on their own will instead of being just consultants with monetary interests.
>What took > me was Java's simplicity and ease of use as a programming > language. Yes, no more "copy constructors" and no more > "pointer arithmetic" for this dedicated C/C++ programmer.
I suppose to a C++ programmer, Java looks like a breath of fresh air. From most other perspectives it is an annoyingly inconsistent language with poorly thought out abstractions and irritating limitations.
> What > has kept me loyal and very much interested for the past > eight years, however, has been Java's evolving culture and > its lively community—especially online communities.
Here's a clue - the core Java community is shrinking. Not overall perhaps, there is a lot of money to be made by marginal coders but the really influetial peoplem, the leading edge, have jumped or will jump ship soon.
The two simpler statements do not reflect the author’s view.
Lets take this:
"That is why I strongly believe that simplicity and ease of use is still a key ingredient and a number one selling point essential to success and survival of any fifth generation language."
Here we go: 1. Simplicity and ease of use are part of what makes a language successful. If you design a language just for simplicity and ease of use you may find that this language is used by a subset of programmers and not used on a wide-scale basis at all. A language must be flexible, consistent ... while at the same time be complex enough to meet the needs of the time. Therefore it was necessary to use the word "ingredient" in the above sentence so it is clear that there are other language criteria involved and not just "simplicity" and "ease-of-use".
2. When comparing several languages side-by-side, one has to figure out what is important for the task at hand. Is it flexibility, is it ease-of-use, is it the complex features... So in comparison tests (between languages) I think simplicity and ease of use will give a language a huge advantage with respect to other comparable features that are put on the table.
Therefore it was important to use the phrase "great selling point" as in consideration with/to other criteria.
3. "success and "survivability", in my opinion, are two distinct matters when it come to programming languages. Languages like Fortran, PL-1, Pascal were successful during their period but did not pass the test of time. On the other hand you can have a language that has survived the test of time but has not been a very successful language. To this day I know of people who are getting paid for writing Cobol programs. Cobol, in my opinion, is a language that has survived the test of time but did not achieve mainstream and widespread success. So therefore, it was important to mention both words "success" & "survival" in the same sentence. (Again, above is my opinion based on my own experience.)
4. I think the sixth generation languages are being developed right now and I am not familiar with them. Therefore, 'fifth-generation' was referenced in the original sentence to clarify which generation languages are being referred to in the sentence.
-------------
"The group of programmers that Java leaders need to pay attention to is for a large part the new waves of younger programmers that are just starting and that will have neither the patience nor the time to learn a somewhat complex language."
1. This is addressed to the people who are part of Java's decision-making process to get their attention. That is why it must be addressed to "Java Leaders". Most of us who program in Java, me included, are not part of the JCP or other organizations that decide for the future of Java.
2. A large number of experienced programmers -- the baby boomer generation -- are quickly leaving the field and retiring. At the same time every year larger numbers of younger programmers -- the children of the baby boomers -- are joining the work force for the first time. The words "waves" and "younger" refer to this phenomena.
3. The younger programmers are part of the x-box-generation and are used to quick reflexes and expect fast results. The older programmers, me included, started with punch cards and card readers -- we are much more patient. Secondly, when I started as a programmer, the choice of the language, the compiler or the editor was the biggest deal. Now days there are many more products and technologies that surround a beginner programmer and demand his/her time. So therefore the two words "patience" & "time" were referenced.
There was no attempt by me to use filler words in any sentence to fill up the page on your display screen. Every word and sentence was thought-out and was a reference to some thing or to some idea. My kudos to the editor for leaving the posting as-is based on its content.
"do not reflect the authors intent" may be true. After all, you are the original author, I as areader struggling through that ill structured sentence had to make a guess at what you were trying to say.
The point was not that my rephrasing captures all the nuances of your intent. The point was that most of the sentences in the original article were extra ordinarily wrong and poorly written.
Anyway I don't want to belabor the point. It is upto you as the author and Bill Venners as the editor to decide what should be published on Artime.
The above could be rephrased using the style of the original article as, "Extraordinary belaboring of an obvious and clear point, not being the intended aim or consequence of a feedback suggestion, trust in the editorial ability of Bill and the stylistic choices of Arash would seem, after reflection, to be the course of wisdom and prudence, leading obviously to the conclusion that I am left with nothing more to say"