Java versus VB

Hi,
  I am writing an application in java using web based GUI (using servlet tech).
  I am about to have to justify this versus an application writen in visual basic.

  Please list some Strength/Weaknesses comparisons of the two.
  Again this is to justify the java method.

Thanks
RockyFullenAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

colr__Commented:

For java:
Java has a much more extensive list of APIs avaiable.
Java is a lot more extensive in what it can actually do when compare to vb

For vb:
Since its a microsoft product, its widely supported.


colr__
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
colr__Commented:
vb code will only run on Windows, where as java is (theoretically) universal.

vb will however produce native machine code, which will run slightly faster than the java bytecode (although remember, will only run on windows machines.

vb cannot be web integrated (unless your talking vb.net).

colr__
0
colr__Commented:
Also, another important point - visual basic will soon become end of life, in favor of the newer vb.net framework, where as java has still got a long way to go (in my opinion).

colr__
0
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

RockyFullenAuthor Commented:
So,
My system is t.o be deployed at 4 sites, and to many users at each site.

* In my mind this make java much more easily deployed and maintained.

* Although the machine code may be faster than the jvm, the java
would still run faster if run on an a more powerful server, rather than
someone's desktop PC.

* Since the product will deployed to unix server, it will also be more stable.
 
Am I correct on these points? Please add more.....
0
colr__Commented:
* In my mind this make java much more easily deployed and maintained.
 --- Definetaly, as web support for standard visual basic is minimal, if any.

* Although the machine code may be faster than the jvm, the java
would still run faster if run on an a more powerful server, rather than
someone's desktop PC.
 --- In comparisons, native code will usually run faster than that on a JVM, however as server performance increases, the difference becomes negligible. Nowadays, performance of Java is not really an issue.

* Since the product will deployed to unix server, it will also be more stable.
 --- Yes, in that you cant run Visual Basic on a Unix server.

colr__
0
Mayank SAssociate Director - Product EngineeringCommented:
>> visual basic will soon become end of life

VB 6 is already EOL as far as I know, perhaps.

>> Since its a microsoft product, its widely supported.

He he :) as though Java is not ;-) ?

>> My system is t.o be deployed at 4 sites, and to many users at each site.

Use clustering / load-balancing in your servers.
0
sciuriwareCommented:
>>> vb will however produce native machine code, which will run slightly faster than the java bytecode ...

Definitively nonsense!!!! Try it yourself before you are going to parrot other people.
I did and JAVA is slightly faster than VB .exe, but a bit slower than C, C++ or C#.

;JOOP!
0
Mayank SAssociate Director - Product EngineeringCommented:
0
colr__Commented:
Hardly nonsense. For me to give a significant list with one questionable answer, I think your being at bit harsh.

I am not a Microsoft expert, but I know for sure that native code runs faster than virtual machine code. How could it possibly not do when the vm runs on native code itself? with a level of abstraction you're always going to have (however so small) performance issues. What about compiler optimisaton you say? Again, if it can be done by the jvm it can be done (possibly better, but never worse) in native, sicne at the end of the day all that you run is native code.

Im not spitting out what Ive read elswhere either (thanks for that accusation) - although I havent directly compared the 2 myself, I have enough  knowledge of C/C++, java and assembler to tell you flat  that native code will run faster than bytecode. This in itself is obvious if you truly know how computers work and is impossible to change.

If the vb compiler produces slower code than the equivelant on a jvm, then that is a compiler issue, not an issue with native code. But since this post is about vb specifically, yes you're right.

So I stand by my point, with some editing:

"vb will however produce native machine code. Native code will run slightly faster than the java bytecode, although the vb compiler doesnt seem to take advantage of this."

And lets add another point to the list:

javac = good.
vb compiler = bad.

colr__
0
sciuriwareCommented:
Did you ever verify what you say?
VB produces GENERATED native code, well the present JVM does the same.
;JOOP!
0
colr__Commented:
What is that supposed to mean !?!?!??

What is generated native code if it isnt native code generated by a compiler?!?!? All compilers generated code in some form or other.

colr__
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.