Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Jul 10th, 2006, 2:58 AM   #1
Toro
Hobbyist Programmer
 
Toro's Avatar
 
Join Date: Apr 2006
Posts: 136
Rep Power: 0 Toro is an unknown quantity at this point
Java vs All

Here my problem. I am on my way on becoming a professional programmer, at least trying to be. I have really good grasp of Java, C++, and right now I am learning PHP. My problem is that the Java language itself though. I consider Java my most knowledgable language I know. I personally like to program in Java but others seem to treat Java if it was the worst language to program in or something what is very evil. Honeslty, does Java even have it's on place in a category of programming.

Web programming: PHP
General-purpose and Game Programming: C++.
System Administion: Perl

Where does Java has it's own place. Is Java worth even continuing or should I be a lot more proficient in other language, maybe C++ more or Python. Can't things be acomplish in other language better than Java? Besides Cross-Platform, what does Java have to offer?
Toro is offline   Reply With Quote
Old Jul 10th, 2006, 5:48 AM   #2
Ooble
I eat cake for breakfast.
 
Ooble's Avatar
 
Join Date: Jul 2004
Location: In my box.
Posts: 4,434
Rep Power: 9 Ooble is on a distinguished road
Well, it has a decent GUI toolkit, a large API, it's very object-oriented (if that's what you're looking for), it's easy to use, relatively speedy and, as you say, it has the whole "write once, run anywhere" thing going. If that's not reason enough for you, by all means, don't use it.
__________________
Me :: You :: Them
Ooble is offline   Reply With Quote
Old Jul 10th, 2006, 6:41 AM   #3
Arevos
Programming Guru
 
Arevos's Avatar
 
Join Date: Aug 2005
Location: England
Posts: 1,499
Rep Power: 5 Arevos is on a distinguished road
Quote:
Originally Posted by Toro
Where does Java has it's own place.
Java is big in two markets. Firstly, embedded devices, such as mobile phones. Most phones nowadays can run J2ME.

Secondly, server-side applications with J2EE. Messaging systems, database management, business logic - whatever you need a server for, Java's a relatively good match for business use. This extends to web applications. For simple web programming, PHP is a good choice, but Java's strength is in its two-dozen and one web frameworks that allows a developer to take a very structured and scalable approach to web design.

Java's just about the fastest and most scalable language around for that sort of work. It's virtual machine is the speediest around, and it's excellent support for threading, combind with a truckload of pooling and clustering libraries, make it a good idea if you need to deal in huge volumes of data. Google, for instance, use Java alongside C++ and Python, and I don't need to point out how much data they have to manage.

Java also has something of a niche in desktop applications, although here it is not nearly so popular.

There are things I don't like about the language. Sun is very slow to update Java to update. Hell, before Java's generics system was put in, Java's static typing was made redundant by the sheer amount of casting you had to do. Java's main competitor, C#, already has the edge on it in terms of features.

The other thing I dislike about Java is all the syntax cruft it's picked up from C++. In C++, the new operator actually meant something; it distinguished between objects created on the stack and on the heap. In Java, there's really no point for it, as every object is created in the same section of memory.

Oh, and Java isn't fully object orientated. You have to jump through hoops to mess around with classes. Methods aren't objects. Primatives aren't objects. Once you get used to working in a fully OO environment, Java's limitations can get somewhat irritating.

I should also mention Java's lack of operator overloading, lack of mutable classes, and lack of multiple inheritance, which all annoy me. But these are deliberately missing from Java, and whilst I don't agree with that, I understand Sun's reasoning for doing so.

Despite all this, however, Java's certainly a language that has it's place. Indeed, I suspect by now it's one of the most used, if not the most used, programming language today.
Arevos is offline   Reply With Quote
Old Jul 10th, 2006, 10:09 AM   #4
King
Professional Programmer
 
King's Avatar
 
Join Date: Jan 2006
Location: Ontario, Canada
Posts: 380
Rep Power: 3 King is on a distinguished road
Well said Arevos. Java for sure has its place in web development, but I would choose many other languages over Java for stand alone desktop applications.
__________________
I am Addicted to Linux!
King is offline   Reply With Quote
Old Jul 11th, 2006, 12:07 AM   #5
Jimbo
Battle Programmer
 
Jimbo's Avatar
 
Join Date: Feb 2006
Location: Bellevue, WA, USA
Posts: 770
Rep Power: 3 Jimbo is on a distinguished road
Quote:
Originally Posted by Toro
General-purpose and Game Programming: C++.
Wow... nice grouping... general purpose + niche...
Quote:
Originally Posted by Toro
Is Java worth even continuing or should I be a lot more proficient in other language, maybe C++ more or Python.
I'd recommend that instead of mastering languages, you focus on mastering practices. Know algorithms and data structures well. Know the benefits of different types of languages (OOP, procedural, functional, etc). Make sure you have good programming habits. Know how to read and understand documentation. Don't focus on the languages (though it is good to know their strengths and weaknesses). Picking up a language is relatively trivial.

Then again, I'm still in school, don't have much experience yet... just my $.02
Jimbo is offline   Reply With Quote
Old Jul 12th, 2006, 1:18 PM   #6
gryfang
Programmer
 
gryfang's Avatar
 
Join Date: May 2006
Location: Ohio
Posts: 36
Rep Power: 0 gryfang is on a distinguished road
Send a message via AIM to gryfang
It doesn't necessarily matter if the language is "best" at a specific niche because it may not be the reason that a Person/Group is using it. It could be any reason that a language is ultimately decided (it's what was used on the last 50 pojects, It is what they learned/used for 10 years, it's what the original version used, the person just likes it, etc.). I mean not all games are made in C/C++, not all system administration is in Perl and not all Web Development is in PHP.

I think Jimbo has the most sound advice because if you don't know how to solve the problems then the language isn't going to suddenly help, and if you can solve the problem then in most cases you sould be able to scribe it to most languages (normally, some may be easier than others).
__________________
--------------------
LOAD "*" ,8,1

God bless
- Gryfang
gryfang is offline   Reply With Quote
Old Aug 3rd, 2006, 10:08 PM   #7
Harakim
Hobbyist Programmer
 
Join Date: May 2006
Location: West Jordan, Utah, United States
Posts: 176
Rep Power: 3 Harakim is on a distinguished road
1. Java is portable.
2. Java has a great standard library and great documentation.
3. It is easy to write relatively bug-free code in Java.
4. It is fast.
5. It gets better every version.

Those are my five main reasons for using it. No language comes close on all 5 counts, but most beat it on 1 or 2.

On the other hand, Java handicaps you in a lot of ways. Slowly but surely they are fixing everything I find wrong with it. That's why I put #5.
Harakim is offline   Reply With Quote
Old Aug 3rd, 2006, 10:37 PM   #8
AntiNinja
Hobbyist Programmer
 
AntiNinja's Avatar
 
Join Date: Jun 2006
Location: The States
Posts: 101
Rep Power: 3 AntiNinja is on a distinguished road
Send a message via AIM to AntiNinja Send a message via Yahoo to AntiNinja
6. Well lets face it, Java just plain kicks ass.
__________________
Pain is just weakness leaving the body.
AntiNinja is offline   Reply With Quote
Old Aug 4th, 2006, 3:00 AM   #9
v0id
Hobbyist Programmer
 
Join Date: Apr 2006
Posts: 155
Rep Power: 3 v0id is on a distinguished road
Go for C/C++.
There's lots of information about the language, reference, library's and if you're using windows there's nice documentation on msdn, or you can use some crossplatform library (Qt, maybe?)
And like Arevos pointed out..
Quote:
Originally Posted by Arevos
I should also mention Java's lack of operator overloading, lack of mutable classes, and lack of multiple inheritance, which all annoy me
C++ got it!
__________________
-- v0id
v0id is offline   Reply With Quote
Old Aug 4th, 2006, 3:15 AM   #10
Arevos
Programming Guru
 
Arevos's Avatar
 
Join Date: Aug 2005
Location: England
Posts: 1,499
Rep Power: 5 Arevos is on a distinguished road
Quote:
Originally Posted by Harakim
3. It is easy to write relatively bug-free code in Java.
I'd say Java's error handling systems were about average, here. It doesn't really boast any advanced error prevention devices, such as the design by contract methodology found in Eiffel, or the NullPointerException prevention syntax found in Nice.

Quote:
Originally Posted by Harakim
5. It gets better every version.
At a snail's pace! Improvements to Java seem glacial compared to most other languages (especially Java's main competitor; C#).
Arevos is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 11:41 PM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC