Results 1 to 4 of 4
Thread: Is Java really that hard?
Oct 22, 2008, 12:19 #1
- Join Date
- Apr 2007
- 1 Post(s)
- 0 Thread(s)
Is Java really that hard?
For my 8th graduate course I'm taking Ruby on Rails. Why did I take it? I was just curious. Anyways, the professor kept emphasizing RoR can make a web app at least 3x faster than Java. Of course this depends on the programmer level, which I agree. Still, is making a web application in Java that HARD??
From what I know of RoR (only played about 2 weeks) is that it has a built in "scaffold" aka auto-code-generator and has many web-specific features built in the Ruby code itself. Sure for a new programmer, only 1 framework is needed to create an elaborate web application. It certainly does make it simple. An analogy would be that someone handing you 1 RoR book and say this is all you need to know. Versus, in Java you'll be given multiple books to make the same web application. Sure given this analogy, I would pick the 1 book solution as well.
From many demo of RoR where you can build a web in 5 min is pure junk~ there I said it. Those demo are nothing but run by a "wizard" aka "scaffold". If they do that then I can easily create a site in 5 min using Eclipse which creates web application using ejb/hibernate + spring + maven + jsf/struts wizard. Plus in actual coding, you'll be undoing the "scaffold" as your program gets more finalized. One time a... certain individual argue that Ruby is better than Java because in Ruby all you need is "puts" while in Java you need "System.out.println".... Yes, it was beyond arguing w/ this person.
Now does this all mean RoR is easier to learn and make web app faster? Just because their is 1 book to learn and it has many built-in wizards to get you started? What if I created a book that combined jsf/ejb/hibernate/spring/eclipse in 1 book? Does that make it easier than RoR?
Let me be clear.. "Ruby on Rail" is something new but "Ruby" is not. Ruby has been around since 90's. If it was so good as ppl say then why wasn't it popular before? Syntax wise it's all same. All of a sudden here comes "Rail" 10 or so years later, which is a MVC framework w/ many code auto-generation. These code auto generation is plentiful in Java though IDE (eclipse/netbean).
What I'm frustrated w/ RoR enthusiasts is that they compare Java programming w/o IDE. So they say, you gotta write 100's of configuration files! You gotta compile before you run! Too complex to web server Yes~ Java is more configuration file oriented but since JDK 1.5, they've introduced "Annotation" which will help to reduce configuration files. Their is even a MVC framework called "Stripe" which is 100% Annotation driven. Also, if a programmer knows how to use Eclipse fairly well then you can Hot-Deploy your code. This means that you don't have to compile manually, create war file, and restart your web server. It's almost as equivalent as writing in Ruby.
I can rant on this all day but I'll come to a conclusion about which language is best for writing an web application. Is it .NET? Java? PHP? RoR? The true answer lies w/ the Programmer's expertise. If anyone claims that RoR is faster because it's less coding, no compilation, scaffold everything, and etc.. is one foolish person. It would be quite interesting to see an actual "race" among different languages to build the same web application.. I can certainly tell you that I won't bet on someone because he's using "xyz", I'll be betting on his IT experience.
Oct 22, 2008, 14:27 #2
- Join Date
- Oct 2002
- 0 Post(s)
- 0 Thread(s)
I enjoyed your rant. I haven't actually used RoR but it just seems way over hyped. I hear so much about yet all the big shops are still going for .NET or Java. I think I can probably build an application just as fast in Java, but I haven't tried RoR. In most cases I'd say Java is a lot more of up front configuration but once you get a project set up development moves quite quickly.
Manually compiling Java is such a thing of the past for me. It's good to know how to do it, in fact anyone learning Java should code in a text editor and compile on the command line but seriously... any professional developer will be using Eclipse or something similar (Netbean, IntelliJ, etc...) which do incremental compilations. Not to mention hot code replace, very nice feature when debugging an application.
Also to combat the puts vs System.out.println argument... A. use Eclipse and you can just type sysout... or even better use log4j and you can do things like log.debug("hello").
Oct 22, 2008, 14:37 #3
- Join Date
- Jul 2005
- West Springfield, Massachusetts
- 146 Post(s)
- 1 Thread(s)
"Easier" and "faster" are relative terms. I know some PHP, Java, and Ruby.
I'd say I'm best with PHP, but then again that's what I've spent the most time writing in. So that's what's "fastest" and "easiest" for me. (That and the fact that I struggle with OOP due to many many years of thinking procedurally).
But comparing Java to RoR is as misleading as comparing Java Struts to Ruby, or comparing hand-coded files to using an IDE.
Too many confuse Ruby with RoR equating the two, most likely because RoR has become so popular.
The main problem I have had with Java is "keeping up". It seems that by the time I've learned something it's deprecated. But by sticking to an older version, I have been able to learn quite a bit on a need-to-know basis. Which is also how I've learned PHP and Ruby BTW. Basicaly a "skim through everything that's available. Determine what I need to use. Learn it in more depth. Try it. Debug. Try again, repeat" kind of thing.
Do I prefer one over the other? No, I like them all.
Oct 24, 2008, 14:17 #4
- Join Date
- Oct 2008
- Whiteford, Maryland, United States
- 5 Post(s)
- 0 Thread(s)
It really depends on how well you pick up the language. PHP was a hard struggle for me as I never had a proper teacher other then myself. Then again, if I had a proper PHP teacher, and not a Java teacher, I'd probably like the teacher language. The syntax for Java was easy for me to pick up but it's based on your logic of thinking and you OOP logic mind.
Certain languages will be easier to pick up once you have a relative language. Such as, if you know C/C++/C# you will probably pick up Java really quickly due to the fact that they have the same syntax almost and you will only have to just learn the OOP concept of Java.
http://www.ryanreese.us -Always looking for web design/development work