Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
Top Reasons Why People Think Java Un-Cool - Debunked
Top Reasons Why People Think Java Un-Cool - Debunked

Paul Graham's Great Hackers essay has really touched a lot of people's nerves. The wires are choked with people giving their point of view.

Yet again, though, I have had to stop and think - what is it about Java that makes people brand it as the most un-cool language on earth? I have had friends look at me like I was a poor sod for "having to" develop in Java. So, let me list all the reasons I can think why people consider Java un-cool.

Java has considerably fewer surprises and prefers not to add complexity to the language for rarely used features thereby resulting in a language where you cannot really make your friends go ga-ga at amazingly brief programming constructs. You need to write something substantial [like Gosling's Huckster] for them be to impressed with your programming abilities and not your language knowledge. This is probably the biggest reason Java is un-cool. It's too easy (although programming or software development remains as tough as ever). Java was always touted as the language that the "average" IT programmer can use. It's such a language-for-the-masses that yet again, it fails the "geek" test. And if you use Java, so do you.

Java has been considered slow for ages. The earlier allegations (1995) were true. However, with the recent advancements in the JVMs from Sun and IBM, Java runs pretty close to C/C++. Check this benchmark. Contrary to this, there are other benchmarks that prove that Java is slower. All considered, it would be fair to say that Java cannot be considered "slow" anymore, yet its stuck with the label.
How cool is to be the jock with the second fastest race-car in the block?

Swing disasters continue to give Java a bad name. Swing is a brilliant, although hard to learn, API. But the vast majority of Swing applications are so bad that they give Swing and therefore Java a bad name.

Java is a strongly typed language therefore you have to tell the compiler exactly what you intend to use. And if you make a mistake in the way you use it, the compiler has the guts to tell you that you were wrong. Too much chaperoning?

Java has a vast library that is available to all Java developers without any ambiguity. Thus, if you wrote yet another Map you would not be considered a data structures guru by Java programmers but a guy who hasn't heard of java.util.*.

Java did not have a good IDE that compared with MS Visual Studio. I think this one was true. I am not so sure it is any more with IntelliJ. The absence of good tools probably pushed away a lot of good programmers.

Java is popular. Anything that is popular has lost its elite status and therefore is not cool.

Java is an application programming platform. You cannot do cool things like device drivers and games, etc (until recently - but Java gaming is coming in a big way).
 

About Sachin Hejip
Sachin Hejip, an architect with Sonic Software, is currently part of Sonic's ESB tooling intiative where he is leading a team of engineers develop Eclipse plug-ins to take Sonic ESB development to the next level. A recipient of Pramati's highest award for technical excellence, the Pramati Fellowship, he has been a core member of the Pramati engineering team where he led the Web Server intiative and has been a key member of the Pramati Studio R&D team. He has a keen interest in development tools and was the architect of the IDE's parser framework, which formed the base of his implementation of the code completion and Java/J2EE Refactoring tool set. He has designed and developed Pramati's paradigm of J2EE development called "Express Development" including the server-agnostic deployment framework.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 5 of 7

I will sum up my feelings in some psuedo-code. Of course it is OpenSource, so fell free to add....

if ((Cplusplus != clean) or (C == lowlevel)) and (Smalltalk == nonpropritary)
{
Language Oak = new Language(Cplusplus);

if (Microsoft > Sun)
{
Language Java = Oak;

Sun.Marketing.Hype(Java, "100% portable");

while ((Java.Hyped) and (HTMLandJavascript != elegantdevelopment))
{
JavaBook javabook = new JavaBook();
JavaCertification javacertification = new JavaCertification;

WWW.Marketing.Sell(javabook);
WWW.Marketing.Sell(javacertification);

IgorantManagers.Fire(VBProgrammer);
IgorantManagers.Hire(JavaProgrammer);

Java.Hyped++;

if (Java.Hyped > Microsoft)
{
Language Csharp = new Language(Delphi);
Microsoft.Marketing.Hype(Csharp, "100% language neutral");
WWW.Marketing.Sell(dotnetbook);
WWW.Marketing.Sell(dotnetcertification);
}

if ((Java.Bloated) or (XML.Exist)
{
break;
}
}
}
}

Language Python = new Language(Smalltalk)
Language Ruby = new Language(Smalltalk)

The top three reasons why Java sucks:

1.) You can''t compile a f-ing .exe file.
2.) system.out.println();
3.) public static void main(String [] args) oh_dear_lord_please_kill_me_now

If java looked like:

import java.io.*;

class HelloWorld{
void main()
{
print("hi");
}
}

And compiled to HelloWorld.exe, few geeks would complain.

You made mention of how Java is/was uncool because there exist no decent IDE''s for Development in Java, and correctly point out that IDEs today for Java are as advanced as Visual C++. On thing you failed to mention..is that there are NO equalvant tools on Linux for c/c++ develoment. Java by Far I would have to say has much better development tools then that of c/c++.

Actually I don''t write games nor operative systems (C,C++ forgetted), need a language for run on linux, sun and other unix flawors (.Net forgetted and Mono is not officially recognized for M$ then the same thing), some language with real big applications (Python I don''t enought the language to use it), what I have Java, it''s ok for me.

Can we really compare application level language and system level languages ?
The only point is that application level lnaguages
like Java simplify programmers'' life, but that''s a trade
off with their brain usage.
If Java is not a real evolution in the programming
language world, Java programmers should beware
of alienation.

Java is uncool because it''s spent way too much time trying to make the programmer/distributor experience better and very little time trying to make the user experience better. The non-programmer "user" experience with it has been pretty uniformly bad. User''s don''t care what language something is written in or what wondrous features it has for the programmer. User''s don''t want to have to install something additional, and don''t want to have to make sure they have this additional whatever-it-is updated, optomized or otherwise tuned up in order to have things work effectively-- user''s don''t want to have to be a Java expert in order to run a program effectively.

And users want programs that take full advantage of the special hardware and software they spent their money on-- video cards, sound cards, processors, the OS, etc. Programs that ignorethe unique differences between machines are going to be mediocre for that very reason. Consequently, Java is a solution to a programmer''s problem, not a user''s problem.

Java is reasonably fast for most applications and even for some scientific computing applications. However, I develop evolutionary programming stuff and want to get as much performance as can possibly by achieved given the hardware.

I have a few negative observations about Java''s speed that are rarely addressed:

---

Java''s 2D graphics performance is abysmal.

Java''s 3D graphics performance is also sub-par.

Java''s floating point performance seems a little sluggish, especially compared with the use of psychotic optimization flags on C/C++ compilers like gcc3.

Java encourages the use of complex data structures (Map, List, etc.) a little too much. The problem is, programmers (even good ones) tend to get used to using these and simply not think of how the same thing could be accomplished with-- for example-- a multidimensional array.

You can''t use platform-specific optimizations in Java at all. Thus, you cannot write a hand-written MMX/SSE/Altivec/Whatever implementation of something. While I understand why this is the case, there are cases where this can give you orders of magnitude speed improvements.

---

In general, I have found that a skilled programmer with attention to detail can always write faster code in C/C++ than in Java.

Java is better, I think, than C/C++ for "application programming" though. Just not for stuff where you want to get absolutely every last drop of performance and then some.

I think Java is cool because you can use the refactoring wizards on it. This is where, lisp, scheme, c++, python, etc. all fall short in my eyes. The ability to rename and move classes, change method parameters, all where the IDE does the work for me... its just bloody cool and the equivalent tools for other platforms don''t stand up to the test.

The prospect of implementing similar features (and the eclipse team did take this task on, I believe) for C/C++ is not a pleasant one to consider.

This is not a feature exclusive to java, though - it could be implemented for some other strict languages (Ada comes to mind, maybe python) and then they would garner some coolness.

The other reason java is cool is that it is brave enough to standardize on and require certain operating system services (sockets and threads). It isn''t the only one to do this, but C/C++ for example definitely missed the boat.

"Java is popular. Anything that is popular has lost its elite status and therefore is not cool."

So are you claiming that c is not cool or that c is not popular??

Got to thank all of you for taking the time to read this. I want to reply to a
couple of powerful arguments in some of the recent posts. I am replying to
Devin's post but the reply applies to similar arguments.
Did you bother to consult the people that actually consider Java to be
un-cool, or did you think of all these reasons yourself?
Some are based on experiences and interactions with people - but truly do you
think that it is not possible to come up with this list by reading various blogs
on the topic. Some that didn't make it to the list - checked exceptions,
brevity, frameworks.
What languages (aside from Perl) add complexity for rarely used
programming constructs?
I can think of C++ which has quite a few features which Java decided to take
a step back from and not incorporate thereby leaving the language much easier. I
can definitely identify with some other person who commented on here about this
point.
Brevity was never supposed to be a Java language feature. Besides, brevity is
probably overrated. Java is not that verbose a language nor that brief. Trying
to achieve brevity in a language usually results in a very private syntax. A
program written in Java can be understood quite easily by a Python programmer
(with a grimace for the Java syntax but he can all the same :-) ). Can you say
the same the other way around? The more the ways to do something, the more is
the learning required for the language especially in a team when other people
use syntax you aren''t familiar with. What is often lost is that for commercial
grade programming (read : large software projects involving huge teams perhaps
geographically distributed) there are certain other tenets that are as important
and Java seems to consider them however at the expense of the "coolness" factor.

'Brilliant' and 'hard to learn' are nearly antonyms when used to describe
an API.
I agree, it does seem paradoxical. Probably "powerful" might be more
appropriate but I can hear more snickers ;-). I really do think Swing is
extremely well designed. It is also a textbook example of OO Design. I can also
critique it on several points. But thats not the point here. The point is that
badly implemented Swing programs give Java, the platform, a bad name. I am sure
you have seen IntelliJ and SmartCVS as examples of good Swing programs.
Any good programmer will appreciate compiler warnings and errors if
they're available. Actually, interestingly you can really have too much of a
good thing. The rather pedagogical error messages in Jikes come to mind. :-).
But really, haven't we heard enough about Java''s strong typing getting in the
way of several "expressive" people? That's what I had in mind when I wrote this.
Anyway, the arguments against this are endless. In my opinion, what I get out of
strong typing is a much better compiler and much lesser bugs in code especiialy
while developing and maintaining extremely large software projects. I agree with
Joel on this
Today, when you have a strongly typed language, a good type library
(IDL, WSDL, Java reflection) documenting your classes, and an IDE that knows how
to show you that type library as you code (i.e. Intellisense), it's even easier
to use types than variants, so the trend is away from variant-bound scripting
languages (VBScript, PHP, perl) towards typed code (C#, JSP).

Also check the discussion of this topic here
where this comment appears
I develope (a) very large (2.5MB of source code) PHP application(s).
The lack of strong typing is a benefit to small programs but a hinderance to
large programs...Type errors occur regularily in PHP programs; they are raised
by function library calls. Performing an array_pop() operation on string will
cause an error. All you know is that on line 254 in file x $var should be an
array and not a string. Unfortunately, in a large program that is rarely good
information.

An elegant programming language can be used without a complicated IDE.
What does the fact that there are so many different Java IDE's tell you about
Java?
Hmmm...I said good not complicated. The lack of an IDE for a language
probably reflects on the lack of good tools. You can''t tell me that other
language communties cannot think of any innovations to put into their tool sets.
I don't think the presence of quality tools tells anything about Java. My point
was that, initially, the lack of tools put off several Windows C and C++
programmers who were used to the excellent tools offering from Microsoft.
Java is widespread because of Sun marketing hype. Windows is popular too.
I am terrible - I like them both :-). Again, the point is that your neighbour
and her sister are all programming in Java. You don't get any exclusivity points
for programming in it too. Someone mentioned haskell. I don't know what it is
but it does pique my interest.I believe you've missed the point entirely.
Maybe. And I like your points - very forceful. Thanks for your opinions.
Unfortunately, some others have not understood my point - but most have. The
point I was making was to list the top reasons why Java will probably never be
called a "cool" language. "Cool" is probably too common a term but it seems to
fit the sentiment I was looking to describe.
Kameron Cole said : First, programming, programmers, and programming
languages are not cool - never have been, never will be. I think that point was
missed...I wish the article had chosen words like "well-designed",
"parsimonious", etc.
Agreed :-) Let's say the domain was the bunch of programmers who do consider
programming languages cool, not the whole society in general. We would never cut
it out there!
Personally, I quite like Java. I love the platform and I believe that Sun has
done a very good job with it. It is far from perfect but it has delivered on
several promises (biggest being WORA) especially at the time that it came out.

> So, let me list all the reasons I can think why people
> consider Java un-cool.

Did you bother to consult the people that actually consider Java to be un-cool, or did you think of all these reasons yourself?

> Java has considerably fewer surprises and prefers not to
> add complexity to the language for rarely used features
> thereby resulting in a language where you cannot really
> make your friends go ga-ga at amazingly brief programming
> constructs.

What languages (aside from Perl) add complexity for rarely used programming constructs?

The problem isn''t that "you cannot really make your friends go ga-ga at amazingly brief programming constructs"; the problem is that you can''t be brief at all in Java. The standard Java API is disgustingly verbose, and the Java language requires that you wrap everything in its own separate class.

> Java has been considered slow for ages.

It''s not Java that''s slow; it''s the JVM with its massive memory footprint, and the various libraries that take up so much more memory (Swing). The benchmarks I''ve seen don''t take load time or page swapping on low-end machines into account.

> Swing disasters continue to give Java a bad name.

Swing _is_ a disaster. The JVM takes up enough memory, but when you add Swing to the equation ...

> Swing is a brilliant, although hard to learn, API.

''Brilliant'' and ''hard to learn'' are nearly antonyms when used to describe an API. There are many GUI libraries that are much simpler (Qt, GTK, etc.).

> Java is a strongly typed language therefore you have to
> tell the compiler exactly what you intend to use.

The problem is not that Java is a strongly typed language; the problem is that there''s no obvious advantage to Java being a strongly typed language (Java to native code being the exception, i.e. gcj).

> And if you make a mistake in the way you use it, the
> compiler has the guts to tell you that you were wrong. Too
> much chaperoning?

Any good programmer will appreciate compiler warnings and errors if they''re available. You''re approaching ''trolling'' with this comment.

> Java has a vast library that is available to all Java
> developers without any ambiguity.

A good developer isn''t going to object to a powerful, unambiguous standard library. The range of functionality of the Java standard libraries is excellent, but the API itself is way too verbose. Everything in moderation.

> Java did not have a good IDE that compared with MS Visual
> Studio. I think this one was true.

An elegant programming language can be used without a complicated IDE. What does the fact that there are so many different Java IDE''s tell you about Java?

I''m willing to bet that the percentage of Perl/Python/Ruby programmers that use a complicated IDE is far, far less than the percentage of Java programmers that use a complicated IDE.

> Java is popular.

Java is widespread because of Sun marketing hype. Windows is popular too.

I believe you''ve missed the point entirely.

Java is inelegant. There are plenty of elegant languages out there (Python, Ruby, Lua, O''Caml, etc.). Why would I choose to write code in Java when I can enjoy writing elegant, maintainable code in Python in a quarter of the time it would have taken me to write it in Java?

::Shrug::

--
Devin

> So, let me list all the reasons I can think why people
> consider Java un-cool.

Did you bother to consult the people that actually consider Java to be un-cool, or did you think of all these reasons yourself?

> Java has considerably fewer surprises and prefers not to
> add complexity to the language for rarely used features
> thereby resulting in a language where you cannot really
> make your friends go ga-ga at amazingly brief programming
> constructs.

What languages (aside from Perl) add complexity for rarely used programming constructs?

The problem isn''t that "you cannot really make your friends go ga-ga at amazingly brief programming constructs"; the problem is that you can''t be brief at all in Java. The standard Java API is disgustingly verbose, and the Java language requires that you wrap everything in its own separate class.

> Java has been considered slow for ages.

It''s not Java that''s slow; it''s the JVM with its massive memory footprint, and the various libraries that take up so much more memory (Swing). The benchmarks I''ve seen don''t take load time or page swapping on low-end machines into account.

> Swing disasters continue to give Java a bad name.

Swing _is_ a disaster. The JVM takes up enough memory, but when you add Swing to the equation ...

> Swing is a brilliant, although hard to learn, API.

''Brilliant'' and ''hard to learn'' are nearly antonyms when used to describe an API. There are many GUI libraries that are much simpler (Qt, GTK, etc.).

> Java is a strongly typed language therefore you have to
> tell the compiler exactly what you intend to use.

The problem is not that Java is a strongly typed language; the problem is that there''s no obvious advantage to Java being a strongly typed language (Java to native code being the exception, i.e. gcj).

> And if you make a mistake in the way you use it, the
> compiler has the guts to tell you that you were wrong. Too
> much chaperoning?

Any good programmer will appreciate compiler warnings and errors if they''re available. You''re approaching ''trolling'' with this comment.

> Java has a vast library that is available to all Java
> developers without any ambiguity.

A good developer isn''t going to object to a powerful, unambiguous standard library. The range of functionality of the Java standard libraries is excellent, but the API itself is way too verbose. Everything in moderation.

> Java did not have a good IDE that compared with MS Visual
> Studio. I think this one was true.

An elegant programming language can be used without a complicated IDE. What does the fact that there are so many different Java IDE''s tell you about Java?

I''m willing to bet that the percentage of Perl/Python/Ruby programmers that use a complicated IDE is far, far less than the percentage of Java programmers that use a complicated IDE.

> Java is popular.

Java is widespread because of Sun marketing hype. Windows is popular too.

I believe you''ve missed the point entirely.

Java is inelegant. There are plenty of elegant languages out there (Python, Ruby, Lua, O''Caml, etc.). Why would I choose to write code in Java when I can enjoy writing elegant, maintainable code in Python in a quarter of the time it would have taken me to write it in Java?

::Shrug::

--
Devin

>Programming languages are tools used to implement/describe
>ideas/concepts in a way that a computer can represent them in
>a satisfactory manner to the humans who had the idea/concept.

yuk, exactly and java does not allow this, so it''s not cool :P

> Andrew Shuttlewood commented on 23 August 2004:
> Just one nit - ocaml and haskell are strongly typed and
> you don't have to tell the compiler about the types except > in a couple of cases. But then, ocaml and haskell don't
> have the wealth of libraries or the decent IDE support

If you want a cool, BSD-licenced language where you do not have to tell the compiler about types in most cases (but it is strongly typed) and that has support for all .NET libraries, a familiar syntax and is supported by MonoDevelop IDE (VS plugin on the way) just take www.nemerle.org.

Java cool? What's with the cool? Cool is trendy and quickly fades as something cooler replaces it.
Programming languages are tools used to implement/describe ideas/concepts in a way that a computer can represent them in a satisfactory manner to the humans who had the idea/concept. I like Java for it's simplicity and rich libraries and don't because of the rich libraries (as in which #$%@ include do I need to do this???) and poor support for UI development. (Yes, I've seen some fabulous UIs done in Java but IDEs that make it easy are just arriving, but when are we going to see "scalable panel"?) Sorry, but while beautiful, Java is a pain. As for cool, when it was new it was cool, thankfully Java has grow beyond cool... it's a real tool.


Feedback Pages:


Your Feedback
jhook wrote: Java is cool, but I'm tired of having to learn 5 different ways of doing one thing. Not only playing a guessing game of possible solutions, but once picking a solution, books tell you to wrap the solution up in a facade, adding more complexity to your application. That's not to say that patterns are patterns, in any language, but with .Net you are left with the confidence of a strong single leader, Microsoft. Sun and Java, on the other hand, is led by commitee. Smart people are tossing API's out there left and right that are nothing more than ideas-- J2EE for example. Again, I'm left with picking a vendor/solution. With Microsoft, things are pretty much set in stone via the tools they provide. This is how .Net handles MVC, this is how .Net handles Database access, this is how .Net cooks a turkey. I would feel more confident know that our implementation was written on a single st...
Serguei Bakhteiarov wrote: I think (as Wittgenstein too :-) that the "languages defines your mindset". This applies to programming languages as well. However, judging is the language tool or not is sort of meaningless, because "underneath" it is still, well a bitcode. So from this stand point any computer language is a tool. Mixing the tools (languages) to produce bitcode is perfectly fine and it happens all the time, especially in "big" projects :-) cheers, serge
tim wrote: I think Ivan's comments (14 September 2004) are not correct. (Or maybe irrelavent?) "Why so many people think, that programming languages are tools? Programming languages are aptly named *languages*: they form your way of thinking." If your choice of language forms your way of thinking, perhaps you aren't working from the abstract solution first... And, while it is true that "When you are solving a software problem in a medium to big project, you most often cannot change the languge in the middle of the project."--there are a lot of other things you can't change, too. However, in Java projects, sometimes it is necessary to solve a problem with another language/tool, such as C, and invoke it with native interface. Or, even more common, one also programs in SQL, XML, XSLT, Javascript, etc. all within the same project...many languages...many tools, the right tool for the right...
Ivan wrote: Why so many people think, that programming languages are tools? Programming languages are aptly named *languages*: they form your way of thinking. When you are solving a software problem in a medium to big project, you most often cannot change the languge in the middle of the project. You have to solve it *in* Java or *in* C# or whatever language the project is written in. Tools are not like that. You start to search for the best tool to solve the problem, and not thinking to yourself "should I hammer it from the front or from the back side?" Nor you try to build the whole building with a jigsaw. So, programming languages are more unlike tools in your toolbox.
Darren wrote: Please excuse the rants on my last post. Paul's essay touched a nerve. It doesn't matter if Java is cool or not. It doesn't matter what tools you use as long as you are still creating something wonderful. Mr Graham should know this if he considers himself an authority on hackers. If he doesn't, its his loss.
Darren Pye wrote: I would really like to see Paul's resume. It sounds to me like he has no experience in the real world working on anything other then small simple problems. That's not great programming, thats hobbyist coding. He seems to have had a very cushy and narrowly focused set of projects and problems that he has dealt with. In that scenario...SOME of what he said is valid. The Disney land he describes could work. But what about the real world with real complex problems to solve? With his beliefs I find it almost impossible to believe he has had any real part in solving a serious software problem. Oddly, his views remind me of my own back in the early 80's. I was a hobbyist programmer considered a wizard among my peers, with an ideal of the perfect working environment. However, I was working on small finite (and now that I know better, simple problems)...then I turned 12 and starte...
Rajitha wrote: Even I feel this a pointless discussion. With my experience what I feel is, no language is similar. Each one is strong on its own areas and there are applications where one can perform to the most and others not. So comparing a language with another language is completely pointless.
perrin wrote: Java is verbose, pushed by totally uncool corporate goons, and not open source. Duh. However, Graham's criticisms, while funny, are almost completely wrong. There are lots of good hackers using Java, and all you need to do to see this is look at the open source Java community. There is a willingness among them to admit that some problems are actually complex and are not best solved by writing three lines of code (often in a bizarre newly-invented syntax). I find this acknowledgement somewhat lacking among many Perl programmers who I meet.
Tom wrote: Java is a ver cool simply from the aspect that it brought a new paradigm to the forefront. The lofty ambition of being able to write once and run anywhere was achieved with the exception of little quirks here and there. The defragmentation of the JVM from the published standards killed the WORA process - that is not the fault of Java but of the JVM writers. The simple fact that it can cause such an uproar from those both for and against the language/platform is a tribute to how cool it really is. Remember, it is just a tool, not for everyone or every situation, but like any tool, when used properly it will do the job in a most satisfactory way. Good computing everyone.....
Gregg Saffell wrote: I taught Java to undergraduate business students last year and was surprised to learn the extent to which C# was perceived as being easier to learn. I think the ease of finding, downloading, and installing the JVM and an IDE along with the learning curve associated with the IDE were the main culprits. Microsoft had made all of the above very easy for the university and students whereas the Java side required a good deal more effort on the part of the teacher and the students. For Java to be a "cool" technology beyond the world of computer specialists, a lot more will have to be done to flatten out the learning curves of both the language and a free IDE. Do you realize how much you have to master just to be able to write even a console oriented Hello World program? Until an application of at least minimal complexity can be implemented easily by a novice, the rest of the world is no...
Kripal Singh wrote: look at the long list of comments . java has maximum number of followers and is think it has beaten c++/c/c# .
Mark Watson wrote: Is Java a little un-cool? Sure. So what. I love doing server side Java. Is Java my favorite language? No. That would probably be Common Lisp. The thing is, for most of the work that I do, Java has several advantages: Great free platform support for web presentation, SOAP, XML-RPC, asynchronous messaging (JMS), etc. There are many skilled Java programmers: when I build a system for a customer, I can feel confident that maintenance will not be a problem. Common Lisp has advantages also (extremely fast compiled code, small runtime overhead, rich standard library, very terse language) for some types of development (I use Lisp for working on algorithms, natural language processing, and other problems where I am breaking new ground - Lisp is great for experimental programming).
Ivan wrote: Practically, every big and most medium-sized java programs I''ve seen, use code generation. For example, GUI builders, persistence frameworks, etc. Code generators have the following problems: * They are hard to write. You will make a code generator only if the only alternative is to "generate" the code manually. * They don''t work well with other code generators: you cannot have a persistent GUI class for example. (I know, it''s a silly example, you''d want to make only the model persistent, etc. but the argument is still valid, I''m just to lazy to come up with better example :)). * Code generators don''t work well with the IDE. The IDE will know only about the generated code, and not about the *source*. This is partly because IDEs in Java have code generators on their own (sometimes called "wizards"). So, why does Java needs code generators that badly? Because it l...
Ralph Mack wrote: Ultimately, end users of application software care about one thing: - From where I am, I tell it to do what I want and it _just works_. This goes for acquisition, installation, invoking a program, accessing a web site, running a program, or making it go away. Post it up on your wall. Whatever you have been told, after all the supervisors, managers, marketers, salesmen, pundits, and other superfluous personnel are out of breath, and there''s just you and your user left standing, this is all that really matters. So what makes it "just work"? How does Java fare? * The existence of machines that ship without a JVM and the requisite base libraries give it a poor score for install. * The slow load time on application startup definitely hurts. * The programming model prevents most memory leaks, a major cause of the kind of C/C++ program failures that cause users to follow th...
Matt wrote: To debunk the question of whether Java is un-cool, you need a handle on what cool is. The popular view is that cool is one of those Zen-like notions that ceases to be cool once you define it. Taking a decidedly un-cool approach, I typed in "what is cool?" in Google. It came back with a dozen or so definitions it found on the web. I think this one nails it: "A term which is used entirely too often on the Internet." Is Java un-cool? With millions of developers, it''s easy to make the case that it''s popular. With the collective experiences from the Java community, it''s not difficult to argue that it is a great language for improving productivity and maintainability. Java **was** cool when it came out in 1995. Does that make it cool now? I think not.
Mike Monagle wrote: If Java was cool, this web site would be run on Java and not Cold Fusion.
tim d wrote: I read Graham''s stuff...seems kind of silly, wasn''t sure if it was a joke or serious stuff. Who cares about what HACKERs want/like? What about SOFTWARE ENGINEERS? I work on a huge application that would be impossible in Python but Java makes it possibly--and with less bugs than C++ would give us, by far. I was a C++ developer for YEARS and now after 2 1/2 years of JAVA, I hope I don''t ever have to go back...Java isn''t COOL--it''s BETTER. (Of course, there are some things we still have to do with C/C++...but we''ll live with those.)
jay_sdk wrote: I actually really like Java, cool or uncool. I write shell scripts for common tasks/utilities on Unix, use Perl where it gets a little more complicated or I need something that takes input, modifies it and puts it somewhere else. Started Java in ''97 when it was mostly used for silly applets. But most of my job consists of web-applications. With the WORA I can write it on a workstation/desktop whether on Win2K laptop, or Linux workstation, or whatever, and still deploy without problems to any target application server on pretty much any platform. I can see benefits in EJBs if you''re going to deploy against load-balanced massive systems of say 100+ servers, but just using servlets, JSPs and JavaBeans I can drop it all in a single WAR and deploy as many times by ftp-ing it to the server. In TomCat that''s enough, for those commercial ones I may have to register it once in an admin...
David Bueche wrote: People need to spend less time worrying about looking "cool" and more time getting the job done--regardless of which language they use. Regardless of how "cool" you look today and which language you use today, you WILL be using something different in a handful of years, whether a different language or a shovel.
craig wrote: coolness != good language coolness is about doing things like: - low level memory manipulation; because only a cool programmer would ever even know why you would want to do this. - Write really tight, very fast algorithms. I agree that java is faster to write code in, but coolness is related to having complete control over your computer or being the latest trend. Assembler / C / C++ are still cool because the allow this. .NET is cool because it is the new kid on the block. Business efficiency is a totally different question than coolness. Java was cool in the 90s because it made the web come alive, worked well with internet technologies, etc. Other languages appear to be catching up, and java has reached the masses. There is nothing unique about java that continues to make it cool; productive and useful yes, but productive no.
SOA World Latest Stories
When building large, cloud-based applications that operate at a high scale, it’s important to maintain a high availability and resilience to failures. In order to do that, you must be tolerant of failures, even in light of failures in other areas of your application. “Fly two mistakes ...
Lori MacVittie is a subject matter expert on emerging technology responsible for outbound evangelism across F5's entire product suite. MacVittie has extensive development and technical architecture experience in both high-tech and enterprise organizations, in addition to network and sy...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand usin...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portabil...
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is founda...
Using new techniques of information modeling, indexing, and processing, new cloud-based systems can support cloud-based workloads previously not possible for high-throughput insurance, banking, and case-based applications. In his session at 18th Cloud Expo, John Newton, CTO, Founder an...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
Most Read This Week
ADS BY GOOGLE