How much different is vb.net from vb6.0

Status
Not open for further replies.

munish

New member
Joined
May 2, 2006
Messages
2
Programming Experience
3-5
Hi friends,

I have 3 years of experience in vb6.0 and now moving to VB.NET. I just
want to know which are the areas should I emphasize more while moving
from vb to vb.net. How much different it is from usual vb. I can understand
there will be some syntactical changes.

Can vb.net learned alone without even touching ASP.NET.

I think ASP.NET is for developing for web applications but can an application
coded completely in vb.net be deployed on IIS.

How much time do u guyz it would take me to learn vb.net .


Thanks,
Munish
 
i had 2 years of vb6 when i started vb.net and the #1 advice i can give you is to only remember the vb6 logic, as in remember how a vb6 program would run logically, forget the vb6 syntax and everything else because that will only hinder your learning of .net

there are a lot of things that are similiar between .net and vb6 but that's it, they're only similiar, not the same

as for vb and asp, if you're into web programming you can make asp.net applications in vb but you dont have to, in vb.net you can still make normal windows applications like vb6 can. i'd suggest starting with normal windows applications instead of asp.net stuff, but that's just me

i started learning vb.net 3 years ago (i actually took two vb.net classes at my local college too) and i'm still learning things about .net almost everyday...

also welcome to the forums
 
Thanks for the response mate.


I am actually both asp and vb programmer and have developed the
n-tier applications using COM+ . Like developing business logic in
vb dlls as components and using them in ASP.

I actually refering wrox Professional ASP.NET 1.1 and others ebooks but
I am very confused to where to start with. I want to do pure vb.net
programming but after looking at the code of ASP.NET I am totally
confused to start with which language.

As you have suggested me to start with vb.net , the advice come to me
at a good time . Thanks for that. If you want to advice something
I will appreciate.

Please suggest me good resources for vb.net too to start with , specially
the database programming part .

Also I want to know should I learn the webservices, assembly and all
other things if I want to learn vb.net. Please refer me a good book also.

Many Many thanks for replying .
 
JuggaloBrotha said:
i had 2 years of vb6 when i started vb.net and the #1 advice i can give you is to only remember the vb6 logic, as in remember how a vb6 program would run logically,

you know. i'd even forget that too.. vb6 is a single threaded, procedural language..

vb.net is based on java, which is a pure OO language to the core

the only way you could make a vb.net program run like a vb6 one would be to write everything in modules, using global shared varaibles.. ugh


so.. first off, study OO concepts and use vb.net as the medium to test the concepts.. beyond that, it's jsut syntax

helpfully, once you know vb.net you know c# too - its just syntax differences (though there are a few nice things that c# can do that vb cant) and maybe other dotnet languages - they are all based on the same thing, and compile to the same IL, jsut different syntax

but please, for the love of god, stay away from Microsoft.VisualBasic.dll - if you get tempted to go down the route of using this legacy compatibility dll to keep old VB6 code working, or allow VB6 methodologies to persist, youre doing yourself no favours in the long run... :)
 
The first thing to do is get yourself acquainted with OOP, and I don't mena that pretend OOP in VB6. www.startvbdotnet.com has tutorial section on OOP in VB.NET.

By the way, VB.NET is in no way based on Java. Java is an OO language based on C/C++ syntax. VB.NET is an OO language that is based on VB6 syntax. The fact that there are similarities doesn't mean one is based on the other. VB.NET just implements many of the same programming language features that Java does. Java didn't invent most of them though. I have no specific dislike of Java or love of Microsoft. It's just facts.
 
jmcilhinney said:
By the way, VB.NET is in no way based on Java. Java is an OO language based on C/C++ syntax. VB.NET is an OO language that is based on VB6 syntax. The fact that there are similarities doesn't mean one is based on the other. VB.NET just implements many of the same programming language features that Java does. Java didn't invent most of them though. I have no specific dislike of Java or love of Microsoft. It's just facts.

mmmmhhhh.. nawww

here's a little join the dots that's been roaming my mind since .net 1.0:


Once upon a time, a long time ago, there was a language called java 1.0
Microsoft saw it as a good thing so they provided it too
Then came java 1.1 from Sun and a few other vendors, and microsoft followed.
But microsoft realised that they could do it another way, and thought they could woo developers with the bright lights of Visual Studio so their java started to deviate from the standard
By the time java 1.18 was here, and microsoft's proprietary java implementation called J++ (java but beter, in microsofts humble opinion) was romping on, it was starting to break the ideals of java in a big way
Sun, the owners of java, didnt like this very much and slapped Microsoft around in court quite a bit. Microsoft lost this case, and unable to buy Sun (which they usually do when challenged with a court case concerned code disputes with other vendors) they went away and withdrew supplied-with-windows support for java in Windows XP
Possibly as an attempt to drive another nail into java's coffin (if removing it from XP wasnt going to be enough) and killing another bird with the same stone by not wasting huge amounts of J++ development microsft renamed J++ into .net and carried on working away for a few years.
Now, we have .net and people really do think it's a) new, b) hard, c) a step apart from all they have seen before..

It's not

If you get Java, rename a few keywords like StringBuffer (replaceWith: StringBuilder) and change the precompilers a bit so they recognise different syntax, then you can end up with .net and not waste all the development.
Its a brilliant concept too..

Intermediate Level code, that is interpreted by the javavm, i mean .net framework.. It's tied to windows, but then, so was J++. If someone bothered writing a .net framework for linux then .net apps would run there too

So lets take a big step back and look at this:
java is OO
.net is OO
they operate in similar ways and have similar object names and packages/namespaces
much as you can argue that this is because its a good way to do things, you have to consider the flipside of the coin that a lot of .net is java run through a load of Find/Replace constructs

.net has varying syntaxes to make developers feel more comfortable but it produces the same IL code - this is brilliant, because you dont actually "learn c#, or vb.net or j#" you just learn .net and then remember a list of keywords. I'm not saying that Java invented the OO concepts.. im just giving a reason for why .net exists - it was created after Microsoft got smacked around the playground and took their Java football home with them. It's brilliant business sense, - cant beat them/join them and I'm glad that Microsoft produced .net because I like it (sometimes) and knowing it means i can pay my bills at the end of the month.

I learned OO concepts via Java, but I could have learned them in .net - it just wasnt around when I went to uni. I dont program Java much now - and i'm surrounded by too many MS fanboys that wont even allow me to program in c# (vb.net is enforced) because it goes outside their comfort bubble of vb6, and they refuse to open their eyes to see that the two languages (c# and vb.net) are the same, but with && instead of AndAlso etc..
Ends up, i'm pointing out that i'm not pro-Java, anti-Microsoft, or any variation inbetween. I try to maintain an extreme indifference towards the tools i use to perform my work - you cant fall in love with something in IT; you get locked in a rut far too quickly :)
 
*deleted text due to the fact that it doesn't lend anything to the OP - tg*
 
Last edited:
I'd have left it in, as you did raise some valid points that I'd have responded to :)
If the OP responds with more questions, then for sure we can answer them but I guess he feels happy that the existing answers have completed his question..

You mentioned that Java didnt invent OO; true.. I never said that it did, i just said that the .net architecture is a rebadged, quick paint job on top of java - Microsoft's version of java that is.

.net would have happened if Java had never existed, true. It doesnt invalidate my observation that .net is java (just worked over to give it more of a windows flavour to prevent Microsft being sued again) - .net in this regard represents the salvation of a chunk of that time and money that M$ put into Java before they got slammed in court by Sun..

But the crux of the argument is that VB.NET is not an evolution of VB6. Its a completely different language, based on a different engine, and different core goals and methodologies. .net is the engine, and c#, vb.net and j# are the facades that present the engine. Offering facades that use different syntax makes the languages appeal to a wider audience.
Just like writing IE6 in c++ and using american english for the variable names, then internationalising the front end so French people can click Ouvrir instead of Open makes IE6 more appealing to french people.. But its still the same engine

It would be a very costly to upgrade vb6 to vb.net and then as a totally separate, incompatible language also write c# that works on a .net framework and then also write j# that operates on another .net framework

Microsoft didnt do that; .net does compete with Java because they share the same overall design goal and have the same good ideas. Maaybe i didnt get my point across very well about the relevant engines: Suppose I wrote a java compiler that took text files that looked a lot like Smalltalk or Eiffel in structure, but produced java classes out of them.. then i'd be creating a version of java that appealed to the Eiffel programmers out there.. Thats what we've got with vbn, c# and j# - they are all .net because they all compile to produce IL code that runs within the .net framework, and a piece of VBN code compiled down to .net IL can be expanded back out into J# or C# source code..

That was the point of my post in saying that VBN, J# and C# are all the same language, and that when you learn VBN, you actually learn OOP in .net and are then C# capable etc.. VBN programmers are not special in .net regards - VBN wasnt created for them, its just like the French translation of some english program.

Its funny that Juggalo should advocate the forgetting of the vb6 syntax, because in many regards, thats all you can carry from vb6 into vbn.. My point is that vbn operates nothing like vb6 in its core, did not grow out of it in its coming into being and the only thing vbn shares with vb6 is some syntax (you write a select case statement identically in both languages for example)
 
cjard - now I'm really confused.... and trying to figure out just what the heck is your point? And how does it help the OP in making any kind of informed decision....

Oh, and for the record, VB.NET C#, and J# and even C++.NET all run on the SAME framework.... they do not run on different ones. That's kinda the point of the FW.


-tg
 
i also wonder if cjard knows that the .net framework differs greatly from the java evironment (java framework as it were)

they're completely different from each other, they just appear to be similiar, also until java updates their environment the .net framework still has tons of advantages too

but until sun or microsoft get boughtout or go out of business, the two will compete for business
 
TechGnome said:
cjard - now I'm really confused.... and trying to figure out just what the heck is your point? And how does it help the OP in making any kind of informed decision....

Oh, and for the record, VB.NET C#, and J# and even C++.NET all run on the SAME framework.... they do not run on different ones. That's kinda the point of the FW.


-tg

i was responding to a point that juggalo made about forgetting vb syntax and keeping vb6 programming methodologies in mind - i went on to say that the OP should do things the other way round - the only thing vbn shares with vb6 is some syntax, the rest of vbn is a proper oo langauge (imho) as a result of being based on java
 
JuggaloBrotha said:
i also wonder if cjard knows that the .net framework differs greatly from the java evironment (java framework as it were)

how? if you look at the actual way the two engines work, they really are very similar!

they're completely different from each other, they just appear to be similiar, also until java updates their environment the .net framework still has tons of advantages too

mhh, im not so much talking about .net 2 vs java 1.5 and who is better just because one has (e.g.) delegates and the other doesnt or blah.. im talking about the concepts on which they operate

java's level pyramid is this way up: /\
i.e. at the high level we have one universal programming syntax (as dictated by the JLS) that is compiled to bytecode (intermediate) and then this runs on a range of VMs, which run in a range of environments, which run on a range of platforms (i386, ppc)
such that the java code a coder pecks out might makes its way into PPC machine code, or i386 machine code etc..

.net's level pyramid is the other way up: \/
coders can write in a range of syntaxes, which produces more or less the same intermediate code when compiled, which runs withing a framework in one environment, on one platform (or maybe 2 if you count 32/64 bit intel)

but the link here is the intermediate code - they exist in a similar range of variations..


so to recap (and for the OP too)

you dont learn vb.net per se.. you learn .net ideals and methodologies, object orientation etc
after that, the syntax you choose to write in is up to you. you might choose vbn because it looks syntactically similar to vb6. if youre a java programmer like i am, you might start with c#. i learned java, then vb6 before doing .net so i could have picked either route, and even though my vb6 experience was closest in time, to the point when i started .net, i chose c# to learn .net with and moved to vbn after because i was forced to by the business i work for.
all in, it doesnt matter what language you did before - if it was an OO language, then youre already most the way there with .net. if it was a procedural language (vb6, pascal, c), then you need to get clear on OO concepts while learning .net. the syntax you choose is up to you and in this regard, vbn, c# and j# are the same language..

but until sun or microsoft get boughtout or go out of business, the two will compete for business
of course! :) as noted, microsoft couldnt beat sun by adopting suns product, increasing their [microsft's] market share while making it more proprietarily their own and thus push sun out of the market (theft by defactorism) so they had to go away, salvage some of the effort put ito developing j++ and the best way to do this was turn it into .net - a kind of java that only runs on one platform, but is presented in many different high level syntaxes.. its an alternate tactic to having one syntax on many platforms - both methods appeal to a wider audience especially since you will capture a lot of frightened VB6 programmers who think the jump to learning java or C++ is too big but will feel better about learning vbn because it at least looks like what they know even if it works nothing like it..
appealing to a wider audience is good business sense so basically everyone is happy all round - microsoft make stacks of cash, and developers of the world get a modern language that they feel comfortable with. I wonder how many of them make this leap of thinking..
 
TechGnome said:
Oh, and for the record, VB.NET C#, and J# and even C++.NET all run on the SAME framework.... they do not run on different ones. That's kinda the point of the FW.

allow me to quote myself (the post i think youre responding to):

.net is the engine, and c#, vb.net and j# are the facades that present the engine

It would be a very costly to upgrade vb6 to vb.net and then as a totally separate, incompatible language also write c# that works on a .net framework and then also write j# that operates on another .net framework
Microsoft didnt do that;


Thats what we've got with vbn, c# and j# - they are all .net because they all compile to produce IL code that runs within the .net framework

i thought i was getting across the exact same point that you just made for the record.. if your comment was intended to reinforce a point i was making then thanks.. if it was intended to correct a point i was making, can you tell me which line of my post led you to believe i was asserting that vbn c# and j# run within different versions of the .netFW ? just curious :)
 
Status
Not open for further replies.
Back
Top