Computing.Net > Forums > Programming > Programming Age

Computer Problems? Computing.Net has over 1,000,000 posts about all things technology related! Over 90% answered within 24 hours! Click here to start participating now! Also, be sure to check out the New User Guide.

Programming Age

Reply to Message Icon

Name: Hoang Tran
Date: March 12, 2004 at 12:22:29 Pacific
OS: W2K
CPU/Ram: 1GB
Comment:

Well, after playing with JAVA's SDK and even with an IDE - CodeWarrior - then comparing to something like VB6 IDE - especially with the integration of MSDN - I find that JAVA is NOT application orientated and almost FORCING programmer to fiddle with documentation and rely on trial and errors to even get even a simple program to work. At the age where application oriented is the driven force, JAVA, though provide powerful features and platform "independency", still have a long way to go. Well that's my opinion. What do you think?



Sponsored Link
Ads by Google

Response Number 1
Name: Dr. Nick
Date: March 12, 2004 at 12:49:40 Pacific
Reply:

It's always interesting to see what other people think about topics that can go so far as to be called religious by some :)

Personally, I agree with you, if not for the same reasons. The Java documentation is very well done and complete, which is a big help. I know that there have been a couple times I've had to dig through MSDN looking for the info on a specific Windows API call, and it takes forever to find it. The more you use a language the less you'll have to look at the docs, until you come across something new.

As to an IDE, I just tried Eclipse yesterday and must say I'm impressed. When it comes to writing Java, I would go so far to say that it's at least as good at writing Java as Visual C++ 6 is at writing C++. Very well done, free IDE; hats off to IBM again.

I have my own reasons for disliking Java, one of which is that my school focuses on Java, and has only two or three classes that deal at all with C++. For many things I think Java is messy and does a poor, inefficient job. It does do well at some things, such as browser applets and some server-side stuff. What bugs me about Java is how slow it typically runs compared to compiled code, and how it doesn't allow you to get very close to the hardware of the machine it's running on. Both of these are just inherent to an interpreted language who's focus is cross-platform compatibility.

I guess in the end I just don't think that Java is at the point where it can be called an equal competitor with compiled languages such as C and C++. It's good at filling some gaps where C/C++ can't reach, but other than that I don't yet consider it at the level of, again, C/C++. After all, you don't see a Java OS do you?

What I'm really hoping is that Sun takes up IBM's offer to help them make Java open source. If this happened my opinion of Java would certainly change somewhat for the better, but we'll see.


0

Response Number 2
Name: gpp
Date: March 12, 2004 at 14:20:12 Pacific
Reply:

While I agree with you about java running slower and using more resources(especially Swing), I have to disagree on java not being application oriented. Java is extremely application oriented.. expecially at an enterprise level. If I were given the task of creating a large application, java would be my first choice, then probably C# or VB.net. I have never used Eclipse, only Netbeans which was ok. Recently I've been using Visual Studio, and it rocks! Probably the best IDE i've ever used.

>FORCING programmer to fiddle with documentation and rely on trial and errors

Sounds like you just need more exposure to it. I've always thought java was one of easiest languages I've ever used.


0

Response Number 3
Name: SN
Date: March 12, 2004 at 16:19:41 Pacific
Reply:

Comparing Java to C++ in this context is somewhat pointless...Of course Java is slower, but that's simply the price you pay for portability. A Java OS would be silly...On what would the JVM run?

"fiddle with documentation"
I'm not sure what you mean, but never, ever, underestimate the power of documentation. "fiddling" with it can only bear good fruit.

"JAVA is NOT application orientated"
Any language can seem like that when you first start. Keep trying and you'll find that Java code is very application oriented.

In general, Java is a great choice for many applications. Usually not the same ones C++ is a great choice for. If you need speed, use C. If you need portability, don't care too much for speed, and like very clean, well-defined languages, use Java.

-SN


0

Response Number 4
Name: Dr. Nick
Date: March 12, 2004 at 23:43:57 Pacific
Reply:

As far as a Java OS being silly, that was my point exactly. I was trying to point out that there are things that you simply wouldn't even think of using Java for, guess I was a little unclear, going to the extreme.


0

Response Number 5
Name: anonproxy
Date: March 13, 2004 at 01:14:48 Pacific
Reply:

"A Java OS would be silly...On what would the JVM run?"

Compile together a JVM and monolithic kernel. Implement message passing and resource management in the kernel and use the JVM for system calls.

Alternatively you could implement a hardware JVM. I think some ARM chips support simplistic direct-register calculation with a JVM process (treating a few CPU registers as JVM registers). This has probably advanced much further than I am aware of. (Monolithic) Kernel integration like I mentioned above is very possible. We may see it first in a micro-kernel design because the JVM would make a natural module.


0

Related Posts

See More



Response Number 6
Name: Hoang Tran
Date: March 13, 2004 at 03:05:25 Pacific
Reply:

I may be new to JAVA, and possibly don't really know what I'm talking about, but here is a very simple example: Let's say I need a small program to do some simple conversion, ie. money - take for granted that my local currency is English Pound (£) - I will need a field for input amount in £, a list of target currency, (ie. USA,Spain,Australia etc..), a label to display the converted amount, a button to perform the conversion, and a button to exit the program.

The condition with input field, however, requires that I am only allowed to enter digits (0-9), decimal point, negative/positive sign (+/-).

In VB, I just select TextBox, draw on the form, select a ListBox, draw on the form, and add 2 command buttons.

Then double clicks on the TextBox, select the KeyPress event and code something like:

Private Sub txtInputAmount_KeyPress(KeyAscii As Integer)
Dim isNumber As Boolean
If (KeyAscii <> vbKeyBack) Then
isNumber = isRealNumber(KeyAscii)
If Not isNumber Then
KeyAscii = 0
End If
End If
End Sub

Where isRealNumber is obvious from reading the specification above.

The Exit command button click event is coded with a single keyword, "End". Compile from the command line or F5 run in the IDE and I got the first part of the spec complete. Explain to me then how many steps would you have to go through to get the same job done in JAVA.


0

Response Number 7
Name: gpp
Date: March 13, 2004 at 09:20:14 Pacific
Reply:

I'm going to have to agree with you Hoang. Maybe its the IDE a little too, but I've coded guis in both VB and java, and the ones I've written in java are always a pain.. whereas VB is a piece of cake to use. When is comes to web dev. though, I still prefer java.


0

Response Number 8
Name: SN
Date: March 13, 2004 at 21:50:33 Pacific
Reply:

"Compile together a JVM and monolithic kernel."
Well that would be cheating. :-)

"As far as a Java OS being silly, that was my point exactly."
I figured that since you mentioned you know Java, but I guessed that other people might not be familiar enough with the language to know why it would be silly.

"In VB, I just select TextBox, draw on the form, select a ListBox, draw on the form, and add 2 command buttons."
Again...Apples and oranges. This is a function of the development tool, not the language. You're trying to do the same thing in Java from scratch, which is hardly the same as using a GUI building program.

"VB and java, and the ones I've written in java are always a pain.."
Yeah, you really can't compare Java with a limited language like VB when it comes to making quick and dirty windows applications. If all you need is a simple front end to a windows app, by all means go with VB. But for many projects that require even a little flexibility, Java can't be beat.

I predict (as anonproxy did) that VMs, in some form or another, are the wave of the future. Computers are only getting faster, and someday soon speed won't be nearly as big of an issue with VMs as it is today.

-SN


0

Response Number 9
Name: anonproxy
Date: March 14, 2004 at 00:27:12 Pacific
Reply:

"Well that would be cheating."

Not in the least. All system calls could threads of the JVM. The OS libraries would all interact with the JVM, if not executed by it. You could even map the registers to JVM registers, like the ARM situation I mentioned. Go back to the PARC labs in the 70's where workstations were built around OO design. Now combine a more generalized hardware approach for performance and a completely OO environment, effectively the OS. Remember the Apple Newton's NewtonScript and the soup data structures? Finally, merge this with .NET's pooling of different languages for shared objects and other benefits.

Imagine it all coming together. It's a big idea, to say the least.



0

Response Number 10
Name: Hoang Tran
Date: March 14, 2004 at 02:25:21 Pacific
Reply:


" .. when it comes to making quick and dirty windows applications .."

What do you really mean by "dirty"?


0

Response Number 11
Name: anonproxy
Date: March 14, 2004 at 09:32:15 Pacific
Reply:

"What do you really mean by 'dirty'?"

Code lacking a flexible design, not intended to be maintained or documented, which might only work in a limited context, or that you don't want to see again. It's dirty because everytime you try to do anything with it (assuming it is reliable), you end up spending time fixing or working around problems. Clean code is documented and/or simple, usually small and modularized, easy to read, and extendable.

Of course, if the software is unreliable, poorly documented, or difficult to interface with dirty code may be the only practical solution.



0

Response Number 12
Name: Hoang Tran
Date: March 14, 2004 at 10:04:31 Pacific
Reply:

I can see that you're laughing your crazy head behind there! You are sick!


0

Response Number 13
Name: Hoang Tran
Date: March 14, 2004 at 10:24:09 Pacific
Reply:

OK! it took me 2 days to read up and find out a way of writting a similar keyboard event routine, but look at the statement. From the reader's point of view, I see that all the key listed are acceptable, else throw away, but the return statement means (NOT OK) .. How well documented is my code?

/** Handle the key pressed event from the text field. */
public boolean keyDown(Event e, int key) {
if (e.id == Event.KEY_PRESS) {
boolean OK = (((key >= VK_0) && (key <= VK_9)) || (key == VK_BACK_SPACE) || (key == VK_DELETE));
return !OK;
} else
return false;
}


0

Sponsored Link
Ads by Google
Reply to Message Icon

Vb 6 OpenGL in Borland C++ Bui...



Post Locked

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.


Go to Programming Forum Home


Sponsored links

Ads by Google


Results for: Programming Age

Which Programming Language... www.computing.net/answers/programming/which-programming-language/8637.html

java program help www.computing.net/answers/programming/java-program-help/3688.html

COBOL programs www.computing.net/answers/programming/cobol-programs/13474.html