Java Programming Question (not technical)

This forum is for actual topics of discussion that do not fit the above categories.
Locked
User avatar
y2kwizard
Joined: Sun Aug 18, 2002 2:54 pm
Location: Memphis, TN
Contact:
Org Profile

Java Programming Question (not technical)

Post by y2kwizard » Thu Jan 09, 2003 8:44 pm

Hey, all. I have a general question that I want to ask about Java.

I have a book on Java, and I'm about to take the plunge into programming in Java. I have no prior experience with programming except for a little BASIC and VisualBasic. I've dabbled a tiny bit in object oriented languages, but I'm going to go deep into Java.

My question is this: is Java going to be around for a long time? Is it a well-established language? Will it hold up to the popularity of C++? I know that Java can be used for SO MANY things...applications, server side programming, applets, etc....how guaranteed am I that this language will not suddenly die out?

Thanks a lot, guys!
"When I got fat, I decided to grow a beard" -- The Great Andy
"Is it a DARTH visor?" and "It's funny cuz it's pants" -- The Master of on-the-spot Funniness
"You're too young for your age" and "I'm sorry for apologizing so much" -- The Master of on-the-spot Randomness

User avatar
RadicalEd0
Joined: Mon Jun 24, 2002 2:58 pm
Org Profile

Post by RadicalEd0 » Thu Jan 09, 2003 8:47 pm

Java is very similar in structure to C, but it won't ever be as popular. It's use is somewhat limited compared to the faster, more standard C++
Personally I'd rather learn C++ than Java simply because I have less interest in web based stuff and more interest in video apps and such.

User avatar
kthulhu
Joined: Thu May 30, 2002 6:01 pm
Location: At the pony stable, brushing the pretty ponies
Org Profile

Post by kthulhu » Thu Jan 09, 2003 8:56 pm

RadicalEd0 wrote:Personally I'd rather learn C++ than Java simply because I have less interest in web based stuff and more interest in video apps and such.
For that matter, more and more Web-based interactive content is Flash based, and Flash also has animation capabilities, to boot.
I'm out...

User avatar
y2kwizard
Joined: Sun Aug 18, 2002 2:54 pm
Location: Memphis, TN
Contact:
Org Profile

Cheese is your friend.....

Post by y2kwizard » Thu Jan 09, 2003 8:57 pm

OK, I guess my next question would be to ask if Java has the potential to get where C++ now is. What are Java's advantages over C++? C++'s advantages over Java?

From what I've heard, Java's advantages seem to be its simpler language and its wide range of uses. It seems that people say C++'s advantages are that it is quicker than Java and, apparently, more standardized. Obviously, speed will eventually not be an issue, and the program will become more standardized. PLUS, Java is the first cross-platform language...the JVM will run the SAME file on all kinds of OS's, including the big ones, Linux and Windows. And I believe there is some standard for handheld devices that's being developed.

is there anthing to add to this discussion?
"When I got fat, I decided to grow a beard" -- The Great Andy
"Is it a DARTH visor?" and "It's funny cuz it's pants" -- The Master of on-the-spot Funniness
"You're too young for your age" and "I'm sorry for apologizing so much" -- The Master of on-the-spot Randomness

User avatar
y2kwizard
Joined: Sun Aug 18, 2002 2:54 pm
Location: Memphis, TN
Contact:
Org Profile

Post by y2kwizard » Thu Jan 09, 2003 8:59 pm

kthulhu wrote:
RadicalEd0 wrote:Personally I'd rather learn C++ than Java simply because I have less interest in web based stuff and more interest in video apps and such.
For that matter, more and more Web-based interactive content is Flash based, and Flash also has animation capabilities, to boot.
But I seriously doubt that you can do server side programming with Flash. :?
"When I got fat, I decided to grow a beard" -- The Great Andy
"Is it a DARTH visor?" and "It's funny cuz it's pants" -- The Master of on-the-spot Funniness
"You're too young for your age" and "I'm sorry for apologizing so much" -- The Master of on-the-spot Randomness

trythil
is
Joined: Tue Jul 23, 2002 5:54 am
Status: N͋̀͒̆ͣ͋ͤ̍ͮ͌ͭ̔̊͒ͧ̿
Location: N????????????????
Org Profile

Re: Cheese is your friend.....

Post by trythil » Thu Jan 09, 2003 11:31 pm

y2kwizard wrote:OK, I guess my next question would be to ask if Java has the potential to get where C++ now is. What are Java's advantages over C++? C++'s advantages over Java?

From what I've heard, Java's advantages seem to be its simpler language and its wide range of uses. It seems that people say C++'s advantages are that it is quicker than Java and, apparently, more standardized. Obviously, speed will eventually not be an issue, and the program will become more standardized. PLUS, Java is the first cross-platform language...the JVM will run the SAME file on all kinds of OS's, including the big ones, Linux and Windows. And I believe there is some standard for handheld devices that's being developed.

is there anthing to add to this discussion?
Yes.

C++ IS standardized, but only on paper. There are a TON of implementations of C++ out there, and only ONE conforms to the C++ Standard -- the C++ front end by the Edison Design Group. All other C++ implementations, AFAIK, do not conform fully to the Standard. (MSVC++, in particular, is particularly bad.)

Java, by contrast, is much more standardized (there is always a reference implementation, after all).

Java is simpler than C++ -- C++ is infamous for its template features, which are extremely powerful but also extremely complex. (They seem simple at first, but trust me -- they can get REALLY nasty...)
Actually, C++ templates are one of the biggest reasons why there is only one fully conforming C++ implementation.

A little aside: Java shares some similarties with Objective-C, a C dialect incorporating Smalltalk-inspired extensions for object-oriented programming. For example, Objective-C uses the interface paradigm to communicate between objects; you'll notice that Java uses the same idea.

The Java language specifies much more safety than C++. Java 2, for example, has a comprehensive (if somewhat complex) security model for applets. Java itself does automatic garbage collection; i.e. the JVM monitors for objects that are no longer in use and automatically reclaims the resources occupied by those objects for reuse.

C++ does none of that -- one of the big problems with C and C++ is that it can be difficult to determine when memory should be reclaimed, especially in multithreaded applications. There are some proposals for things such as limited-lifetime pointers like the Boost smart pointer, and the auto_ptr<> that is already part of the C++ STL, but for the most part C++ does not have an overarching garbage collection mechanism like Java does. It also does not provide Java's level of security at any layer -- like Bjarne Stroustoup said, "C++ makes it harder to shoot yourself in the foot, but when you do, it blows off your whole leg."

Java's speed isn't much of an issue anymore -- the JVMs have gotten to the point where they're actually pretty speedy. Parts of Java are also at the point where they are optimized for individual platforms. (See Java3D for a great example.)

I'd say that Java won't ever replace C++ entirely, but it will become big. It has already replaced C++ in the AP Computer Science tests, and it's the language being taught at introductory computer science courses at my school and others. Learning Java wouldn't be a bad investment.

Alucard_FoN
Joined: Sun Oct 20, 2002 11:01 pm
Org Profile

Post by Alucard_FoN » Fri Jan 10, 2003 9:52 am

I would learn both. I know I will be. I've already taken an introductory Java Course and next semester I finally take the first C programming course, after no less than 3 prerequisite classes.

User avatar
paizuri
Joined: Mon Sep 24, 2001 7:15 pm
Location: All hail me, the BEEFMASTER!!!!!
Contact:
Org Profile

Post by paizuri » Fri Jan 10, 2003 11:42 am

There are plenty of books that compare and contrast C++ and Java much better than I could (just look at the introductory chapters of any beginner's Java book). But I'll just say that I used to program in C++ and made money. Now I program in Java and make more money.

Oh, and RadicalEd0 is just plain wrong. :D
My favorite video: Grilled Steak Trigun I LOVE THE COPS! Rargh!
I ain't 2 proud 2 beg! haha school rumble is great
Why do I always have the most preposterous sigs???
My current favorite thread. I'm a huge fan of GA-JAMMING.

User avatar
RadicalEd0
Joined: Mon Jun 24, 2002 2:58 pm
Org Profile

Post by RadicalEd0 » Fri Jan 10, 2003 11:55 am

when I said java wont ever be as popular as C++? I'm just passing on information from Doom9 and my programming teacher who've both said java didnt live up to its hype at all... :?

User avatar
klinky
Joined: Mon Jul 23, 2001 12:23 am
Location: Cookie College...
Contact:
Org Profile

Post by klinky » Fri Jan 10, 2003 12:02 pm

I've yet to see a majority of corporations drop their current computer systems. Get some NPCs, put a webserver up server a bunch of Java database apps / office tools and go "yippee this was a great idea".

Java has some good ideas in it, what with it's ultra portability. However what with MS & Sun bickering over how it should be implemented and in actuality, I think MS would just like to see it die, I think you'll notice that parts will start breaking on different machines, unless you have the VM made by Sun & a VM for MS or something.

Anyways! :O I really am probably talking out of my ass here.

However, I think you would best be learning C++ first. Then move onto Java. I hear alot of people find that Java is easier doing certain things. So if you get acustomed to the ease of Java and you try to migrate to C++ you're going to get all befuddled over why it doesn't work like it works in Java.

Argh, going from VB >_< to C++ is just... A bitch.


~klinky

Locked

Return to “General Off Topic”