views:

488

answers:

10

I wanted to learn to program and looked at both Java and C#. I decided to go with C# because it was so easy to just open a form and plop some buttons and text boxes on it. With just one download, C# Express got me going. From what I saw with Java that couldn’t be done. At least not with out downloading and configuring other software. All of which I found no easy instructions for. But I really wanted to learn Java. Was I missing something? I really don’t want to have to learn how to create UI’s AND a new language. I’d rather just want to concentrate on the code itself. Is there an easy way (like C# basically) to create Java apps?

Thanks

PS. I’m really not looking for a war here between the languages. I always wants to learn Java mainly because It’s more platform friendly.

+15  A: 

Are you talking about a GUI builder?

There are many GUI builders out there. Some IDEs like Netbeans come with nice GUI builders for Java.

yx
As a side note, it's a real shame that Eclipse's GUI builder has been dead for nigh-on two years now.
R. Bemrose
Yes I suppoes I am looking for a GUI builder type of IDE. NetBeans eh? I dont rember it having that when I looked. I'll check it out. Thanks.
JimDel
Oh, and you might want to add to your answer that there's a version of the java SDK that comes with Netbeans: http://java.sun.com/javase/downloads/netbeans.html
R. Bemrose
I'll just upvote your comment instead :)
yx
Bill K
Thanks yx, I'm trying Netbeans now. I coulda swore I looked at that before and didnt see any UI stuff at all.
JimDel
no problem, you might want to check out the shortcut keys too, there's a pdf with all of them: http://www.sfr-fresh.com/unix/privat/netbeans-6.5.1-200903060201-src.zip:a/ide.branding/release/shortcuts.pdf
yx
+3  A: 

There are options in the Java community for 'one-stop downloads' like you mention. They are out there, they're just not as public as Visual Studio is. EasyEclipse is one of my favorites.

alt_tab
Hey thats a good site. I didnt know there was pre-packaged stuff like that. Im gonna give Netbeans a while first though.
JimDel
+1  A: 

The ability to learn to program in one language or another should most certainly not be based upon how to drag and drop GUI controls, especially since that measure is irrelevant to the language itself.

Side note: Java and C# are so similar that you'll pretty much be learning both as you go regardless.

byte
+3  A: 

It seems to me the best and easier way to get what you want is to use Netbeans (JDK 6u14 with NetBeans IDE 6.5.1 Bundle).

It has both the JDK and the IDE in one download. And it has a easy and very good GUI builder.

Java is a very good platform and as you said it is easier to create cross platform applications, however, don't except this from the Desktop UI which, although still cross platform, not always gets right on all platforms with out modification.

You would have to add some code specific for each target desktop, but definitely that's a lot easier than write three different application ( One in Visual C#, other in GTK, and other in Cocoa )

OscarRyz
A: 

Using Netbeans, you can create Java based Swing GUIs pretty easily. Netbeans comes with a pretty nice GUI builder.

If you learn how to program in Java, I don't think it would really be that much of a stretch to create Java Swing applications from scratch. It's just a matter of learning the Swing libraries.

Not being from a .NET background, I can't comment on learning C# GUIs, but from my experience Swing was very easy to learn and it helps A LOT to understand the code underlying what the GUI builder in Netbeans generates.

Ryan Thames
You can get a .NET GUI up without writing a single line of code. Of course you won't have any logic that isn't built in to the controls you're using. Syntactically though it's almost as bad a auto-generated html, but there's big auto-generated comments about not modifying the auto-generated code because the designer can write over stuff that you put in there.
Davy8
+1  A: 

If you have Java in your browser, all you need is the latest Eclipse bundle.

I would suggest the JEE edition for your platform from http://www.eclipse.org/downloads/

It appears that there are video tutorials starting from scratch at http://eclipsetutorial.sourceforge.net/totalbeginner.html

Thorbjørn Ravn Andersen
A: 

I decided to go with C# because it was so easy to just open a form and plop some buttons and text boxes on it.

You can do this using builders in either language without writing any code.

With just one download, C# Express got me going.

Netbeans is the same deal for Java.

From what I saw with Java that couldn’t be done. At least not with out downloading and configuring other software.

True, you cannot develop Java with C# Express and you cannot develop in c~ using Netbeans. You do need to install two pieces of software.

All of which I found no easy instructions for.

I suggest you try http://www.google.co.uk/search?q=netbeans+gui+builder+tutorials 55,100 hits or http://www.google.co.uk/search?q=java+gui+tutorials 1,340,000 hits

But I really wanted to learn Java.

It doesn't appear you want to actually write any code or install more than one program at a time. You will find that learning to program in a language will be asking more from you than this.

Was I missing something?

Quite a bit I imagine.

I really don’t want to have to learn how to create UI’s AND a new language.

You can use a GUI builder to layout your windows, but if you want your program to do something useful, you will have to do some programing in a language.

I’d rather just want to concentrate on the code itself.

That appears to contradict everything you have just said. You can't concentrate on the code without learning the language.

Is there an easy way (like C# basically) to create Java apps?

To write apps that do something useful you are going to have to learn how to program and at least one language. I suggest you also learn how to debug and profile your program.

Peter Lawrey
+1  A: 

I'd have to agree with dxmio, I switch back and forth between c# and java quite often. The two languages are quite similar.

Kevin
+1  A: 

I been learning to program in C# for a few months, but recently I signed up for a course which required Java. So I started playing around with java, first tried Netbeans then Eclipse.

I'm kinda a computer programming noobie (background mainly in web design) so take my perspective as a student. After messing around with Java for a bit i still prefer C#. While both are excellent the factors that tipped C# in my case are as follows

  1. Easier documentation and a large variety of easy to view Video Tutorials, yes I know netbeans have a very large collection of video tutorials as well, they are encoded at such a terrible resolution and bitrate that they are largely unwatchable
  2. Slightly easier to learn, maybe it's cause of the IDE or the syntax, but I found C# easier to pick up.
  3. More functionality exposed right after using the IDE, you will find more controls in visual studio than compared to Netbeans. Eclipse was quite confusing for a noobie like me wading through it's massive plugins.

I think the only thing java has going for it, is that it's supported on more platforms. Though Mono is making up for the linux and Apple side so i guess it's not that bad. Either way they are both extremely productive environments, just in my humble noobie opninion C# is just slightly more intuitive to pick up.

Zen
Thanks Zen, I agree. I'm sticking with C# for the same reasons.
JimDel
+1  A: 

I've done a fair bit of work (> 4 years) on both platforms and the biggest difference I have found is not so much with the languages per se, but with the whole development environment. Specifically:

  1. In .Net (be it ASP.Net, C# or VB.Net) the examples you find on MSDN or elsewhere tend to just work without a whole lot of tweaking, and the documentation is more reliable, whereas Java examples - especially the open source ones - often don't work out of the box and the documentation (yes, Apache Slide and Shindig - I'm looking at YOU!) is sometimes non-existent.

  2. Having said that, the sheer amount of choice for plugins, libraries and the like for the Java platform is enormous, which is unsurprising considering its (largely) non-proprietary nature.

davek