Results 1 to 6 of 6

Thread: Java rant

  1. #1
    mojo is offline Member
    Join Date
    Nov 2007
    Posts
    1
    Rep Power
    0

    Default Java rant

    Ok so I've been messing around (I would say developing on) JBoss-JBPM now for around a week and suprise suprise I have found the platform, app server and development tools to be a clunky, crash prone, convoluted, poorly documented mess. How people still take this platform seriously is beyond me.

    For starters, Eclipse crashes my machine every hour or so citing its run out of memory. Now, my machine isn't exactly rapid, but it does have 2gb of ram at Eclipse's disposal. I have investigated this matter and have been told that due to a worldwide shortage in silicon and the overbearing RAM consumption of the JVM, this problem will not likely be fixed in a future release. I tried, JRockit (more like JSputnik5) and rather than accelerating my IDE into the orbit of comfortable development, it sent a monkey onto my motherboard which ate all my silicon banana's. Hoo Hoo Haa Haa.

    Then there's documentation: don't-make-me-laugh. Or shall we go into configuration, no Mr JBoss, i don't want to have to modify countless xml files stored in hard-to-edit .war files; what i want is a gui or, say, here's a new concept: an installer. Just because Im a programmer doesn't mean I should have to go through hours of poorly written, non sensical documentation (most of which is out of date) to work out how to add a user to JBoss-JBPM.

    What we really need, is Sun, Redhat and any other Java evangelist to take a leaf out of Microsoft's .net book and produce a decent unified platform and toolset that will run well on a machine smaller than a kray computer, for instance an average desktop. Take note Mr Schwarz.

    I guess its my own fault, I should of trusted my instincts and ran a mile when I found that despite not allowing operater overloading somehow string+string==string.concat. Special consideration or contradiction?

    M

    P.s. Write once run anywhere. Wa hhhhhaaa haa haaah aahahaha

  2. #2
    Programmist is offline Member
    Join Date
    Nov 2007
    Posts
    7
    Rep Power
    0

    Default

    For starters, Eclipse crashes my machine every hour or so citing its run out of memory. Now, my machine isn't exactly rapid, but it does have 2gb of ram at Eclipse's disposal.
    Have you tried increasing Eclipse's memory settings? If not, then you should probably give that a try before you give up and write off Java and the entire community.

  3. #3
    thedo is offline Member
    Join Date
    Nov 2007
    Posts
    2
    Rep Power
    0

    Default

    So much for Garbage Collection then.......

    To be taken seriously as a development platform Java seriously needs to address these sorts of issues - if Eclipse can't run on 2GB of RAM without "tweaking", then there is serious issues. Visual Studio doesnt require any memory settings for it to work flawlessly on a machine with 512MB, 1GB, 2GB or any other GB i can think of. To suggest that its a user fault is frankly laughable.

    How Java has become so popular is beyond belief to me, especially when there are real development tools and environments for technologies like .net and Visual Studio, which simply blow Java, Eclipse, Netbeans, whatever out of the water in terms of power, flexibility and EASE OF USE. Mojo is absolutely right when he says that developers shoudl have to play about with badly doccumented features, edit war files, or mess directly with Config files just to make something simple work. I know RAD as a term has been replaced by Agile and Extreme and whatnot, but you cant rapidly develop anything in Java - its simply not possible! From configuring your IDE, to messing around with JDK versions, debugging CLASSPATH issues, you'd be better off writing your apps in ASM!

    I think its time Java was sunk as a language. And it can take its tools with it.......

  4. #4
    Programmist is offline Member
    Join Date
    Nov 2007
    Posts
    7
    Rep Power
    0

    Default

    Quote Originally Posted by thedo View Post
    So much for Garbage Collection then.......

    To be taken seriously as a development platform Java seriously needs to address these sorts of issues - if Eclipse can't run on 2GB of RAM without "tweaking", then there is serious issues. Visual Studio doesnt require any memory settings for it to work flawlessly on a machine with 512MB, 1GB, 2GB or any other GB i can think of. To suggest that its a user fault is frankly laughable.
    Any machine? Really? How about a machine with Linux or Solaris installed? Do you actually know anything about Java or its garbage collection scheme? If not, then on what are your assertions based? Eclipse is not affiliated with Java. It was originally created by IBM. Eclipse by itself has no problems running on a machine with the memory limits you mention. It is the 3rd party add-ons that can cause it to use more memory, which is neither a Java nor Eclipse issue, but an issue with the plug-in developer. Personally, I think anyone who has that much trouble with Eclipse and/or Netbeans should stick with and IDE, such as VS .NET, that is easy to use. Java, and many open source apps, are not meant for those who still require training wheels.

    Quote Originally Posted by thedo View Post
    How Java has become so popular is beyond belief to me
    Java became popular because it's a solid language. Given that there are literally thousands (hundreds of thousands?) of software developers that successfully use Java every day, I'd say that a person's inability to use it or related tools is a reflection on that person's skill level or his/her shortcomings, not the language's.


    Quote Originally Posted by thedo View Post
    ...especially when there are real development tools and environments for technologies like .net and Visual Studio, which simply blow Java, Eclipse, Netbeans, whatever out of the water in terms of power, flexibility and EASE OF USE.
    Obviously you haven't done the slightest bit of research. All of the IDEs you mention are free. If you must pay for one, there are plenty of 3rd party commercial Java IDEs and other tools that you can choose from.

    Quote Originally Posted by thedo View Post
    Mojo is absolutely right when he says that developers shoudl have to play about with badly doccumented features, edit war files, or mess directly with Config files just to make something simple work.
    Yeah, it's much better to let the GUI shield you from understanding how things work.

    Quote Originally Posted by thedo View Post
    I know RAD as a term has been replaced by Agile and Extreme and whatnot, but you cant rapidly develop anything in Java - its simply not possible!
    Speak for yourself. Don't assume just because you don't have the ability, that no one else does.

    Quote Originally Posted by thedo View Post
    From configuring your IDE, to messing around with JDK versions, debugging CLASSPATH issues, you'd be better off writing your apps in ASM!
    All of the things you are mentioning are complete newbie issues. If you're that much of a beginner then you don't have enough experience to credibly evaluate Java.

    Quote Originally Posted by thedo View Post
    I think its time Java was sunk as a language. And it can take its tools with it.......
    Don't hate. Some of us make plenty of money doing what you and others like you cannot. Java isn't going away anytime soon. If you don't like it don't use it. Stick with Visual Basic. I hear it's easy to use and great for RAD. In the meantime, why don't you try asking for help instead of trolling.

  5. #5
    thedo is offline Member
    Join Date
    Nov 2007
    Posts
    2
    Rep Power
    0

    Default

    Any machine? Really?
    If you read what I actually said, I never laid claim to it running on ANY machine. But if you really want to develop on any machine then there are other IDEs that dont have memory issues, unlike your beloved Eclipse.

    Eclipse is not affiliated with Java
    But Eclipse DOES run on Java, and is a real world example of a Java Application. And given that there are plenty of other IDEs for various languages out there, theres plenty to compare it to. Visual Studio, Delphi, SharpDevelop, etc, all dont run on the Java VM and run pretty fast by comparison. So looking at it as a whole, given that ultimately they ar ALL mainly fancy text editors, its a fair observation to say that the Java VM is likely the cause of the speed and memory issues with Eclipse.

    You are correct however in saying I dont know a huge amount about the JVM Garbage collection. But then, if you need to learn that much about how it works, I'm sure most coders would rather handle the memory themselves, as the JVM isnt doing a great job.

    Java became popular because it's a solid language
    On the whole i dont mind Java as a language- there are some silly things - like Mojo pointed out (no operator overloading, unless Sun think its OK and build it into the language?!) But the langauge is only as powerful as the VM it runs on. The JVM is in my experience slow and prone to crashing. If Java ran on a decent platform, I'm sure I'd take the time to re-evaluate the the entire thing, but as Java and the JVM are so interconnected its difficult to say "Java is great", because it's let down by its runtime.

    Obviously you haven't done the slightest bit of research. All of the IDEs you mention are free. If you must pay for one, there are plenty of 3rd party commercial Java IDEs and other tools that you can choose from
    Visual Studio Express Editions are free if you want to use them. And given Mojo's original point about Eclipse i think it was fair to single it out.

    Yeah, it's much better to let the GUI shield you from understanding how things work.
    In what way is editing a config file telling you how something works? But understanding XML has nothing to do with understanding development or coding (at least nt if your just editing a config file). If config files give you a hardon, then you can still edit them in a quality tool like Visual Studio, or you can go ahead and use the IDE. I still fail to see how understanding that [insert app name here] uses a config file and editing that directly has ANY bearing on how much you know about the app or even development. It does of course make you more prone to errors, as you could inadvertantly change a value to an unsupported value or change the value only to find its overridden in some other config file (you know, the kind of thing Oracle does), but never be any wiser that your oh so clever tinkering has achieved absolutely nothing, wheras letting an IDE do it will shield you from thse kinds of things.

    Speak for yourself. Don't assume just because you don't have the ability, that no one else does.
    I'm sure there are some people out there who love advocating things liek this. But typically these are the sort of people who like to keep computing away from the masses - I'm not talking about development here. You'd rather everyone ran Linux, and couldnt install a simple aplication without phoning you up for help and getting on their knees to beg for the knowledge of how to simply open an executable jar file. On the other hand, I'd rather computing was made easier for the masses.

    If you'd like to keep languages difficult, why dont we all go back to ASM? i used to code in ASM, C, C++, Delphi, and the point of each jump was to make my life easier. From the Eaier Syntax of C compared to ASM, to the OO paradigm of C++, to the (work related) jump to Delphi, and then to the speed and memory friendly virtues of C# and the .net platform. Now maybe if I'd tried Java before C#, I'd have a warm fuzzy feeling about it, but I didnt and I dont. It's got virtually zero features I'd like to go over to C# (checked exceptions might be good, but i think thats about it). Time passes and there arent a huge number of people still developing in asm, compared to 10 years ago. There are fewer C++ jobs out there. Developers like to migrate to languages and environments that do more for them, so they dont have to worry about solving the same problem time and time again. In 10 years, I'm sure you'll love solving the same old issues you had today (probably in a config file somewhere), and good for you, but open minded people (ie not Java developers, clearly) will have moved on and be working on the next computing paradigm, using tools that fit the job.

    All of the things you are mentioning are complete newbie issues. If you're that much of a beginner then you don't have enough experience to credibly evaluate Java.
    I probably dont have enough experience to evaluate Java. But when its easier to set up a low level language like ASM that gives you no help whatsoever in terms of libraries and so on, you know there is a serious problem. Maybe they are "newbie" issues. Maybe I just didnt care enough to find a way around them, because my 1st impression was this an elitist language that expects you to be an expert from day 1 - and this is clearly your opinion too! When I have made language jumps before there has always been a learning curve, but new java Developers are faced with Mt Everest, and a toothpick to help get up it.

    Don't hate. Some of us make plenty of money doing what you and others like you cannot. Java isn't going away anytime soon. If you don't like it don't use it. Stick with Visual Basic
    Good luck to you. I choose not to use java anymore, but unfortunaletly sometime work commitments mean I have to, helping keep the fire of hatred alive.

  6. #6
    Programmist is offline Member
    Join Date
    Nov 2007
    Posts
    7
    Rep Power
    0

    Default

    Quote Originally Posted by thedo View Post
    If you read what I actually said, I never laid claim to it running on ANY machine.
    I mis-read that. You said VS can run on a machine of any memory size, without configuration. This is also true of Eclipse and Netbeans. The only difference is that, with the latter two, you get the option of controlling the size of the JVM. It sucks that some peple are having memory problems. but, as I explained in my previous post and as I'll reiterate later down this post, those problems of overflowing the stack space allotted to that JVM instance is an issue with the plug-ins. Bad programming can happen in any language. Even garbage collectors cannot save us from all bad programming techniques.

    Quote Originally Posted by thedo View Post
    But if you really want to develop on any machine then there are other IDEs that dont have memory issues, unlike your beloved Eclipse.
    I develop on VS.NET, Eclipse, and NetBeans (also formerly various Borland compilers, scheme IDEs, and even - gasp - turbo Pascal)). So, it's not that I love Eclipse. I just hate disinformation.

    Quote Originally Posted by thedo View Post
    But Eclipse DOES run on Java, and is a real world example of a Java Application. And given that there are plenty of other IDEs for various languages out there, theres plenty to compare it to. Visual Studio, Delphi, SharpDevelop, etc, all dont run on the Java VM and run pretty fast by comparison. So looking at it as a whole, given that ultimately they ar ALL mainly fancy text editors, its a fair observation to say that the Java VM is likely the cause of the speed and memory issues with Eclipse.
    You took my quote out of its context. If you read it again, you'll see that I'm saying Eclipse has no major memory problems that I have seen. It's the 3rd party plug-ins that cause the problems. And even those are EASILY fixable with a 5 second Google search. If you really want to compare IDEs, the best way to do it is by using benchmarks. Otherwise it's all subjective, and anecdotal, which as a scientist, frankly does not interest me. Show me numbers; data. Then show me how they are related to a slow JVM. Then I can take your comment "...its a fair observation to say that the Java VM is likely the cause of the speed and memory issues with Eclipse." a little more seriously.

    Quote Originally Posted by thedo View Post
    You are correct however in saying I dont know a huge amount about the JVM Garbage collection.
    One should not speak authoritatively about what one doesn't know.


    Quote Originally Posted by thedo View Post
    ...But then, if you need to learn that much about how it works, I'm sure most coders would rather handle the memory themselves, as the JVM isnt doing a great job.
    When I'm on a C/C++ project, I don't mind managing my own memory. But it sure saves time when I'm on a Java project and JVM does it for me. The JVM isn't doing a great job? I thought you said you didn't know much about Java garbage collection. It seems to be doing a fine job to me. Here's one person who agrees (he has benchmarks). A Google search will reveal others (recent ones: 2006+) who also agree.


    Quote Originally Posted by thedo View Post
    On the whole i dont mind Java as a language- there are some silly things - like Mojo pointed out (no operator overloading, unless Sun think its OK and build it into the language?!) But the langauge is only as powerful as the VM it runs on. The JVM is in my experience slow and prone to crashing. If Java ran on a decent platform, I'm sure I'd take the time to re-evaluate the the entire thing, but as Java and the JVM are so interconnected its difficult to say "Java is great", because it's let down by its runtime.
    In the end, a language/compiler is just a tool to some end. There are many variables that go into what makes a language better for a particular person. If you like feature X, but Java doesn't have it, that sucks. Java has a feedback mechanism and the Java Community Process for suggesting new features and generally updating the language and related APIs. So there are ways to affect change. and now with Java going open source, it's even more open - not just if "Sun thinks it's ok." If it crashes all the time for you, that sucks. My experience is that it's fast and reliable, which is one reason it's on my list of favorite tools. Another reason is that there are lots of well-paying Java developer jobs out there. But I don't have a "degree" in Java, so if the paradigm shifts, so will I.

    Quote Originally Posted by thedo View Post
    Visual Studio Express Editions are free if you want to use them. And given Mojo's original point about Eclipse i think it was fair to single it out.
    Express edition is a scaled down version of VS. I've used both, so I know. You can't compare it to Eclipse or Netbeans which are both free AND full-featured. And if a plug-in does not exist for a feature, you have the ability to write your own (a.k.a. extensibility). The last guy I heard of that wrote a popular plug-in for VS Express was told to cease and desist my Microsoft.

    Quote Originally Posted by thedo View Post
    In what way is editing a config file telling you how something works? But understanding XML has nothing to do with understanding development or coding (at least nt if your just editing a config file). If config files give you a hardon, then you can still edit them in a quality tool like Visual Studio, or you can go ahead and use the IDE. I still fail to see how understanding that [insert app name here] uses a config file and editing that directly has ANY bearing on how much you know about the app or even development. It does of course make you more prone to errors, as you could inadvertantly change a value to an unsupported value or change the value only to find its overridden in some other config file (you know, the kind of thing Oracle does), but never be any wiser that your oh so clever tinkering has achieved absolutely nothing, wheras letting an IDE do it will shield you from thse kinds of things.
    Things don't always work the way they are supposed to. If you understand how things work (i.e. where preferences, settings are loaded from) then you are in a better position to fix/adjust them when they break. I'm not saying GUI is evil. I like GUI tools when applicable. But the point I was making is that far too many developers rely on them. As an example, I worked with a guy who used GUI applications to generate all his boilerplate Swing code. It was ugly, verbose, and difficult to maintain.

    Quote Originally Posted by thedo View Post
    I'm sure there are some people out there who love advocating things liek this.
    I'm not sure what you're talking about. The only thing I was "advocating" was that you speak for yourself when it comes to RAD on Java. You said "...but you cant rapidly develop anything in Java - its simply not possible!", to which I replied, "Speak for yourself...". How is that "advocating?"

    Quote Originally Posted by thedo View Post
    But typically these are the sort of people who like to keep computing away from the masses - I'm not talking about development here. You'd rather everyone ran Linux, and couldnt install a simple aplication without phoning you up for help and getting on their knees to beg for the knowledge of how to simply open an executable jar file. On the other hand, I'd rather computing was made easier for the masses.
    Quote Originally Posted by thedo View Post
    If you'd like to keep languages difficult, why dont we all go back to ASM?
    Once again, I never said anything like this. Frankly, I don't find anything about Java "difficult." If you do, then I'd say thats a personal issue, not a problem with me. I'm an open source advocate. I spend my free time (unpaid) volunteering my time to help people who need programming help. You'll find almost 700 posts from me at dreamincode.net, most of them helping beginners with things that I (frankly) find tedious. I want people to get into computer science and enjoy it as much as I do. I also have a blog where I post tutorials and snippets when I have time. Do I have any ads on there? No. It's free. So, I don't know why you felt it neccessary to attempt to assail my character, but I'm telling you flat out, you're barking up the wrong tree.

    Quote Originally Posted by thedo View Post
    Now maybe if I'd tried Java before C#, I'd have a warm fuzzy feeling about it, but I didnt and I dont. It's got virtually zero features I'd like to go over to C# (checked exceptions might be good, but i think thats about it).
    C# was based on Java and, up until a few years ago, was nearly a Microsoft carbon copy. I develop in both. Hey, I like C#. It's very similar to Java, in my experience. Lots of good features, etc etc. But, since I can do both and like both fairly well and, in my area at least, one of them pays more, which one do you think I'll choose more often? It's a no-brainer.

    Quote Originally Posted by thedo View Post
    Time passes and there arent a huge number of people still developing in asm, compared to 10 years ago. There are fewer C++ jobs out there. Developers like to migrate to languages and environments that do more for them, so they dont have to worry about solving the same problem time and time again. In 10 years, I'm sure you'll love solving the same old issues you had today (probably in a config file somewhere), and good for you, but open minded people (ie not Java developers, clearly) will have moved on and be working on the next computing paradigm, using tools that fit the job.
    I think Ive clearly demonstrated that I'm not in love with a particular platform. I just hate disinformation, hence my response to you and the OP. You seem to think that using config files is somehow antiquated. That's fine. But there are those of us who can use both "antequated" technologies and cutting edge at the same time. Strangely enough, learning one thing does not push the other out of my mind. Why don't you ask some of the Developers at Google who use Java what they think about it. You have heard of Google, right? They have a huge open source codebase, much of it Java. If it's such crap, why does such a hugely successful company that hires some of the brightest minds spend so much time and money contributing to it?


    Quote Originally Posted by thedo View Post
    I probably dont have enough experience to evaluate Java.
    Then don't! I didn't relly like SmallTalk when I used it, but I don't go to SmallTalk forums telling them about how much I hate it and how it sucks. There's no point. Even if I did know enough to intelligently discuss it's virtues (or lack thereof) I wouldn't. I just use something else.

    Quote Originally Posted by thedo View Post
    But when its easier to set up a low level language like ASM that gives you no help whatsoever in terms of libraries and so on, you know there is a serious problem.
    That's subjective, but possibly true depending on the architecture. But even so, what does setup have to do with it? Java and the JVM is much more complex than a a RISC or CISC assembler. More moving parts = more complexity and time. So what? The advantages of the higher level abstractions far outweigh the benefits of quick setup in many cases. Task developer A and developer B with building a Web application that does XYZ. Let A use assembler and B use Java/C#/C++. Which ones finishes sooner and has more maintainable/extensiblecode? (assuming developer A is not a orangutan ;) )

    Quote Originally Posted by thedo View Post
    Maybe they are "newbie" issues. Maybe I just didnt care enough to find a way around them, because my 1st impression was this an elitist language that expects you to be an expert from day 1 - and this is clearly your opinion too!
    Nothing could be farther from the truth. If someone expresses a desire to learn and a good attitude then they will probably find those willing to help. However, if that person has a bad attitude, gripes about how much language X sucks, when the obviously aren't qualified to make that assessment, do you really expect anyone to jump to their aid? Maybe some people still will. But not me. I'd rather spend my time helping those who want help and have a good attitude. I'm not asking for boot licking, but a little humility is never a bad thing when you need something from someone. Especially if that someone is volunteering their time.

    Quote Originally Posted by thedo View Post
    When I have made language jumps before there has always been a learning curve, but new java Developers are faced with Mt Everest, and a toothpick to help get up it.
    Many universities have switched their intro to programming classes to Java, migrating away from C++. The change was probably made or many reasons. I've heard that it was partly to do with the fact that the AP program switched. I've also heard that it was because Java was easier to learn/teach and was more modern. I've even heard that it was to do with the fact that there are so many free Java tools out there, so students don't have to buy a compiler (like I had to with C++). Either way, if it were really that difficult, I'd think that freshmen would be choking on it. But from what Ive seen most people don't have a problem with it. It's calculus that usually kick's their a$$.

    Quote Originally Posted by thedo View Post
    Good luck to you. I choose not to use java anymore, but unfortunately sometime work commitments mean I have to, helping keep the fire of hatred alive.
    I don't know what to tell you. I'm frankly befuddled that someone can have such strong emotion for something like a programming language. If you change your mind I'm sure there will be people who will help you; at this site or the one I posted above. Just be sure not to start out with, "Java sucks, here's why..."

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •