Thread: Java rant
View Single Post
  #6 (permalink)  
Old 12-06-2007, 01:03 AM
Programmist Programmist is offline
Member
 
Join Date: Nov 2007
Posts: 7
Programmist is on a distinguished road
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..."
Reply With Quote