Lowyat.NET Forums

Welcome Guest ( Log In | Register )

LYN wins Intel-Lenovo-Tangs Blogathon challenge. Thank you everybody!
2 Pages  1 2 > 
RSS feedBump TopicReply to this topicStart new topicStart Poll

Outline · [ Standard ] · Linear+

> Java and VB.Net

knowmore
post Mar 26 2008, 02:55 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #1


Newbie
*

Group: Junior Member
Posts: 26
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Mar 2008





Nowadays, Java and VB.Net are very popular programming language in the market.

May I know :-

1. Which programming language is more powerful and useful?
2. It market value or marketplace today and furure?
3. For you which programming language you will learn?

Thks your idea. thumbup.gif

This post has been edited by knowmore: Mar 26 2008, 03:30 PM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Gemini
post Mar 26 2008, 04:37 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #2


Getting Started
**

Group: Junior Member
Posts: 202
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Feb 2005




Java is more on server side programming while .NET (vb or c#) are mostly developed for windows based client. This is actually a big research which has been discussed/debated over varies of websites/forums... google it and u'll find them...

either way.. if u r new to programming world and wanted to pick either java or .net u'll need to pick up OOP 1st biggrin.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
alwajdi
post Mar 26 2008, 05:42 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #3


Getting Started
**

Group: Junior Member
Posts: 233
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Jan 2003
From: TTDI-Cyberjaya-TTDI






Java is more used by corporate and big companies especially in the finance and stock trading industries.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sennheiser
post Apr 3 2008, 07:46 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #4


无名大侠
******

Group: Senior Member
Posts: 1,662
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Jan 2003
From: Manchester, UK




QUOTE(alwajdi @ Mar 26 2008, 05:42 PM)
Java is more used by corporate and big companies especially in the finance and stock trading industries.
*



this is only half the truth. java is widely used because of portability. it can be compiled once and run on many platforms as long as a JVM exists for that platform. so called big companies and finance companies use java because they have heterogenous platforms (ie bsd + linux + win + HPUX etc etc). VB.net runs primary on Windows environment but novell has already debut its experimental .net CLI for UNIX (Mono).

the definition of "powerful" is extremely abstract. VB.Net is built to run in a Common Language Runtime (CLI) environment known as Microsoft .Net Framework. The framework has tonnes of classes and methods that would simplify a programmers life and make Win32API/MFC programmers retreat in admiration. Java, like .Net, has also an application framework that provides classes and methods to ease life. Both .net and java compiles to an intermediate language (byte codes) and are just in time (JIT) compiled to native code when executed.

In terms of performance, both are actually on par.

About "useful", both languages are useless if you define useful as being able to do everything. Since you cannot make low level system calls through JVM and CLI, you never see system drivers written in java or .net, nor could you see fully functional operating systems being written from java or .net from scratch. Few experimental managed OSes are exceptions though, like Singularity which uses a C# kernel but the truth is, it still depends on ASM/C/C++ to perform low level system tasks.

The real difference is the programming paradigm. VB.Net is for VERY RAPID application development (RAD) while Java is for VERY PORTABLE application dev. VB.net syntax is very english like (with little cryptic symbols) and its grammar is relaxed and less strongly typed. Java on the other hand is strongly typed and the sheer amount of symbols could scare novice users.

For me, I have picked up C, C++, C#, VB(.net), Java, PHP and if you dont mind low level languages, I have also studied x86 Assembly language (ASM). My primary language is C# because I do rapid turnovers (a complete app in less than a month), my primary target audience is Windows Server system and I'm used to C++ styled syntax.

About market, the current market is saturated with java and vb programmers. why not pick up LISP, PROLOG or what and create Skynet. LOL biggrin.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
mikazzz
post Apr 4 2008, 01:28 AM
Show posts by this member only |This post's rating (0+, 0-) | Post #5


な に あ っ て !!!
*****

Group: Senior Member
Posts: 768
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Sep 2005
From: Eee-poH !!!






Lol...good description there..totally agree with you...and wow, LISP / Prolog..learnt that for one month..and dun really wan to touch that anymore..
User is online!Profile CardPM
Go to the top of the page
+Quote Post
knowmore
post Apr 4 2008, 09:25 AM
Show posts by this member only |This post's rating (0+, 0-) | Post #6


Newbie
*

Group: Junior Member
Posts: 26
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Mar 2008





all guy,

thks a lot urs description n idea.

especially sennheiser tongue.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ubsacc2004
post Apr 4 2008, 03:03 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #7


Regular
******

Group: Senior Member
Posts: 1,203
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Sep 2006
From: KL





so which 1 u choose ?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ahmadfarhan
post Apr 4 2008, 03:46 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #8


Newbie
*

Group: Junior Member
Posts: 6
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Apr 2008




even if you decide not to choose java, please learn c# instead of vb.net..

vb.net as a first language is bad, because it teaches you things like not initializing, or even declaring, variables, loose typing, and other stuff that you'll have to unlearn later..

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
arroyos
post Apr 4 2008, 05:44 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #9


Casual
***

Group: Junior Member
Posts: 389
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Aug 2005
From: [MyFeS.INC]





er...yea..prefer C# rather than vb.net
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sennheiser
post Apr 4 2008, 06:33 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #10


无名大侠
******

Group: Senior Member
Posts: 1,662
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Jan 2003
From: Manchester, UK




QUOTE(ahmadfarhan @ Apr 4 2008, 03:46 PM)
even if you decide not to choose java, please learn c# instead of vb.net..

vb.net as a first language is bad, because it teaches you things like not initializing, or even declaring, variables, loose typing, and other stuff that you'll have to unlearn later..
*



That is so not true.

VB.NET comes with Option Explicit on by default, so if you don't declare a variable, it will throw an error. PHP is the only language I know where you can simply throw in a variable and forget about it.

Let's consider types:

PHP:
String: $foo = "bar"
Int: $widget = 123

$widget = $foo is valid

Java/C#:
String: string foo = "bar"
Int: int widget = 123

widget = foo will throw implicit type conversion error

VB.Net:
String: Dim foo as String = "bar"
Int: Dim widget as Integer = 123
Hybrid: Dim sprocket as Object = Class.Member.Structure

widget = foo will throw implicit type conversion error
sprocket = foo = widget is valid

If I were you, I would "unlearn" PHP because it encourages me to throw types away. But before I get flame wars waged against me, let me clarify my stance: Every language has its own beauty. PHP and VB.Net being bloody fast and easy to master but hell when it comes to debugging, and C and its influenced language being bloody hard to master but bloody safe.

This post has been edited by sennheiser: Apr 4 2008, 06:36 PM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
alwajdi
post Apr 4 2008, 09:26 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #11


Getting Started
**

Group: Junior Member
Posts: 233
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Jan 2003
From: TTDI-Cyberjaya-TTDI






well, i found that it's not really hard to master c# or java or any other language.
the only thing that is hard to grasp at first is the concept of programming (OOP, AOP or whatsoever).
once you've mastered the concept, all that is left is the matter of syntax and library.

job market saturated with java programmers?I found it the other way round.nearly all job ads with java as the requirement that I applied before would just offer me the job after the 1st interview and this was less than a year ago.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
natakaasd
post Apr 4 2008, 09:51 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #12


Look at all my stars!!
*******

Group: Senior Member
Posts: 2,180
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Nov 2005





As a VB6 Programmer that is migrating to VB.NET, I'll say a little icky thing about Conversion Errors.

It is not the Languange's fault if you don't declare your variable etc.

Although there is the convenience of not declaring it (variables) in VB6, I still add it (Option Explicit) in my code ALL THE TIME and Declare my variables ALL THE TIME. It has nothing to do with the language, but the attitude of the programmer.

Terrible Programming Habits = Terrible Debugging Process. Why make it hard for yourself? Inculcate good programming habits. biggrin.gif

~Cheers!

EDIT: Make stance clearer.

This post has been edited by natakaasd: Apr 4 2008, 09:53 PM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ahmadfarhan
post Apr 5 2008, 01:27 AM
Show posts by this member only |This post's rating (0+, 0-) | Post #13


Newbie
*

Group: Junior Member
Posts: 6
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Apr 2008




QUOTE(sennheiser @ Apr 4 2008, 06:33 PM)
That is so not true.

VB.NET comes with Option Explicit on by default, so if you don't declare a variable, it will throw an error. PHP is the only language I know where you can simply throw in a variable and forget about it.

[snip]

If I were you, I would "unlearn" PHP because it encourages me to throw types away. But before I get flame wars waged against me, let me clarify my stance: Every language has its own beauty. PHP and VB.Net being bloody fast and easy to master but hell when it comes to debugging, and C and its influenced language being bloody hard to master but bloody safe.
*



[Not trying to satrt flame here.. Just trying to get my point accross]

PHP is a web based scripting language. And VB is a full blown programming language. The diffence is not only semantic, scripting language is compiled differently that's why PHP is loosely typed. But That's not my point

My point is that there are other things that is ugly with VB(VB.NET is slightly better, but only slightly), For example convention for calling a method/function . Just about every programming language separate method calls (with barackets "()") as opposed to member variable calls ( no brackets ). With VB you call them both the same way.

And what's the deal with methods not returning value are called Sub procedure and methods returning values are call function.
VB doesn't differentiate between the assignment operator and the equal to comparison operator.
VB also do not differentiate between bitwise and logical operator.

These are all very bad things to learn as a beginner. I'm not thrashing VB, it is good for RAD and interface prototyping(and probably a lot of other stuff). But as a first language it is BAD. A seasoned programmer could understand that these are not best practices and accept the lower complexity for the fast development time and powerful gui toolbox, but a beginner might mistake these as common practice. (IMHO)

Of course to each his own. No hard feelings
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sennheiser
post Apr 5 2008, 04:27 AM
Show posts by this member only |This post's rating (0+, 0-) | Post #14


无名大侠
******

Group: Senior Member
Posts: 1,662
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Jan 2003
From: Manchester, UK




QUOTE(ahmadfarhan @ Apr 5 2008, 01:27 AM)
For example convention for calling a method/function . Just about every programming language separate method calls (with barackets "()") as opposed to member variable calls ( no brackets ). With VB you call them both the same way.
*



The standard method calling convention in VB.net DOES have parentheses behind!

Only classic VB and VBS fail miserably if you add parentheses when calling methods:
http://blogs.msdn.com/ericlippert/archive/...9/15/52996.aspx

Anyways lets not veer off topic. We're talking about VB.Net not the classic VB.

QUOTE(ahmadfarhan @ Apr 5 2008, 01:27 AM)
And what's the deal with methods not returning value are called Sub procedure and methods returning values are call function.
*



Because the original BASIC developed by John George Kemeny and Thomas Eugene Kurtz in 1963, not Bill Gates, said so.

QUOTE(ahmadfarhan @ Apr 5 2008, 01:27 AM)
VB doesn't differentiate between the assignment operator and the equal to comparison operator.
*



Agree. But don't forgot what the B in BASIC stands for. == and = means noughts to newebs..

QUOTE(ahmadfarhan @ Apr 5 2008, 01:27 AM)
VB also do not differentiate between bitwise and logical operator.
*



Agree. Again, don't expect a beginner to understand what && or || are.

QUOTE(ahmadfarhan @ Apr 5 2008, 01:27 AM)
These are all very bad things to learn as a beginner.
*



Disagree. You cannot teach one to run without first teaching him to crawl. VB.Net is way more english like than other languages so its a natural first for many beginners.

QUOTE(ahmadfarhan @ Apr 5 2008, 01:27 AM)
I'm not thrashing VB, it is good for RAD and interface prototyping(and probably a lot of other stuff). But as a first language it is BAD. A seasoned programmer could understand that these are not best practices and accept the lower complexity for the fast development time and powerful gui toolbox, but a beginner might mistake these as common practice. (IMHO)
*



Agree. But a beginner will eventually become a seasoned developer. So why the fuss??

Anyways I think I'm bored of this age old debate so I'm signing off from this thread. If you love VB.net bashing, just google for it. I bet if it wasn't because VB.Net was invented by Microsoft, it wouldn't receive such disrespectful treatment today.

P/S: My first language is C# and I speak fluent C++ but I still keep VB.Net for fast and simple tasks, it's dispensible.

This post has been edited by sennheiser: Apr 5 2008, 04:31 AM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ee_
post Apr 5 2008, 11:34 AM
Show posts by this member only |This post's rating (0+, 0-) | Post #15


Mehh
*****

Group: Senior Member
Posts: 790
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Sep 2004
From: Aurora






Java can also be used as desktop application, with editor such as Netbeans and Eclipse, you won't even really need to go into the OO concept, but of course if you want to build something more complicated than usual, you need to know about it. I've seen people created information system using Netbeans without really knowing the concept.

My main concern about Java desktop application is that it can't be encrypted properly. The byte codes can be decompile and you can see everything in there even if you scramble your code. So, if you got database connection info in the jar, anyone who has a little knowledge about decompiling can find your connection info which impose a great security risk. But, the portability between different OS is definitely amazing.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
yclian
post Apr 5 2008, 03:46 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #16


Getting Started
**

Group: Junior Member
Posts: 230
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Apr 2007





QUOTE(Ee_ @ Apr 5 2008, 12:34 PM)
My main concern about Java desktop application is that it can't be encrypted properly. The byte codes can be decompile and you can see everything in there even if you scramble your code. So, if you got database connection info in the jar, anyone who has a little knowledge about decompiling can find your connection info which impose a great security risk. But, the portability between different OS is definitely amazing.
*


It's definitely a bad idea to include such details at the code level. I will never agree with. Keep it elsewhere, e.g. keep it at the fs then either encrypt it or lock it with restricted permissions.

One thing to point out, which is related with the topic, whenever you find that a programming language or framework doesn't fit your requirement, it could just be (or could not) the way you design it is wrong. Rethink, before you switch to another.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
alwajdi
post Apr 5 2008, 04:15 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #17


Getting Started
**

Group: Junior Member
Posts: 233
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Jan 2003
From: TTDI-Cyberjaya-TTDI






QUOTE(Ee_ @ Apr 5 2008, 11:34 AM)
Java can also be used as desktop application, with editor such as Netbeans and Eclipse, you won't even really need to go into the OO concept, but of course if you want to build something more complicated than usual, you need to know about it. I've seen people created information system using Netbeans without really knowing the concept.

My main concern about Java desktop application is that it can't be encrypted properly. The byte codes can be decompile and you can see everything in there even if you scramble your code. So, if you got database connection info in the jar, anyone who has a little knowledge about decompiling can find your connection info which impose a great security risk. But, the portability between different OS is definitely amazing.
*



Sure you can build a Java system without really knowing the concept of OOP, but seriously, it will be hard to maintain at later stages when modification or extra features are needed. you'll end up rewriting the whole system all over again. In other word, not scalable. Do some reading on software design patterns and anti patterns and you'll know what I mean.

about your second concern, there is this thing called Obfuscator. Google about it! smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sennheiser
post Apr 5 2008, 07:33 PM
Show posts by this member only |This post's rating (0+, 0-) | Post #18


无名大侠
******

Group: Senior Member
Posts: 1,662
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Jan 2003
From: Manchester, UK




same goes to MSIL (.net bytecode). it can be decompiled using msil dasm or .net reflector. n about obfuscators, i think they are plain useless. they just make things hard for humans to read, but not impossible for machines to interpret.

I run my app's msil through rijndael-256 encryption and wrapped it with a decryption class coded in C++ (compiled to native code). The assembly is invoke using interop.

This post has been edited by sennheiser: Apr 5 2008, 07:35 PM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ee_
post Apr 6 2008, 03:06 AM
Show posts by this member only |This post's rating (0+, 0-) | Post #19


Mehh
*****

Group: Senior Member
Posts: 790
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Sep 2004
From: Aurora






QUOTE(alwajdi @ Apr 5 2008, 04:15 PM)
Sure you can build a Java system without really knowing the concept of OOP, but seriously, it will be hard to maintain at later stages when modification or extra features are needed. you'll end up rewriting the whole system all over again. In other word, not scalable. Do some reading on software design patterns and anti patterns and you'll know what I mean.

about your second concern, there is this thing called Obfuscator. Google about it!  smile.gif
*



Obfuscator can only delay the time taken to search for what you want. Encrytion must be decrypted before it can be ran, so, it's not very safe. There's no definite solution for this.

Edit: About the OO thing, actually, when you write information system that requires you to know how to DELETE, ADD, EDIT data, you don't really need to know the OO concept simply because Netbeans has taken care of it for you.

So, that's it, just wanna give thread starter a general view about Java in creating desktop application.

This post has been edited by Ee_: Apr 6 2008, 03:12 AM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sennheiser
post Apr 6 2008, 05:54 AM
Show posts by this member only |This post's rating (0+, 0-) | Post #20


无名大侠
******

Group: Senior Member
Posts: 1,662
Ratings earned: 0+, 0-
Ratings given: 0+, 0-

Joined: Jan 2003
From: Manchester, UK




In memory decryption can at least prevent casual users from peeking into your codes. Even native codes can still be reverse engineered by professionals. No code is safe smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

2 Pages  1 2 >
Bump TopicReply to this topicTopic OptionsStart new topic
 



----debug section please ignore----
Lo-Fi Version Time is now: 21st November 2009 - 10:06 AM
All Rights Reserved 2003-2009 Vijandren Ramadass (~living on a prayer~)