VB6 / VB.net / VB 2005 Express Edition?

Discussion in 'OT Technology' started by Antago, Nov 29, 2006.

  1. Antago

    Antago New Member

    Joined:
    Nov 26, 2006
    Messages:
    12
    Likes Received:
    0
    So. I have some very basic knowledge of programming in visual basic, but I'm confused as to which one to use. I have visual basic 6 learning edition, and I've seen visual basic 2005 express edition is available 'free' off the microsoft website. However, I remember once hearing that everyones going over to .Net...

    In short, I'm very confused. If someone could briefly outline the basic differences and advantages of each one, I'd be grateful. :bowdown:Cheers!
     
  2. HardTech

    HardTech hungry

    Joined:
    May 5, 2000
    Messages:
    28,103
    Likes Received:
    1
    Location:
    NorCal
    VB6 is the last programming language on the BASIC platform. It is not object-oriented.

    VB.net is the first programming language on the .NET platform. It is object-oriented. Most of the major languages today are object-oriented, and there are many programming concepts that are unique to object-oriented languages. If anything, you should choose VB.net over VB6 because of this.

    VB 2005 Express Edition is a stand-alone VB.net IDE, which means you can program VB.net using this program. You can only program VB.net using this program. If you would like to do development using other .net language, you'll have to get the Visual Studio.net suite, which is $$$.

    I am about 60% sure of my answer.
     
  3. SLED

    SLED build an idiot proof device and someone else will

    Joined:
    Sep 20, 2001
    Messages:
    28,118
    Likes Received:
    0
    Location:
    AZ, like a bauce!
  4. HardTech

    HardTech hungry

    Joined:
    May 5, 2000
    Messages:
    28,103
    Likes Received:
    1
    Location:
    NorCal
    I agree 100%.
     
  5. SLED

    SLED build an idiot proof device and someone else will

    Joined:
    Sep 20, 2001
    Messages:
    28,118
    Likes Received:
    0
    Location:
    AZ, like a bauce!
    you're all about the percentages today
     
  6. HardTech

    HardTech hungry

    Joined:
    May 5, 2000
    Messages:
    28,103
    Likes Received:
    1
    Location:
    NorCal
    see last post
     
  7. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    I get the impression you don't know what you're talking about, HardTech. VB6 is most definitely object-oriented. All window objects are self-contained and instantiated at runtime (though the design interface makes it APPEAR that they are instantiated at design time), and anybody who knows what they're doing with VB6 builds their own classes just like in C++/C#.

    FURTHERMORE: you can download Express Editions of ALL .NET programming "languages", not just VB.NET.

    One more strike and you're out.
     
  8. HardTech

    HardTech hungry

    Joined:
    May 5, 2000
    Messages:
    28,103
    Likes Received:
    1
    Location:
    NorCal
    You're absolutely correct. I was going off of my VB6 knowledge I gained 6 years ago in class. We never learned any object-oriented concepts in that class, which is probably why I've always thought VB6 to be a non-object oriented language.

    And I know you can download express editions of all .NET languages. You misunderstood what I was trying to convey in that "if you want to program in all .net languages, you have to buy visual studio". I was merely explaining the difference between Express Edition and the standard .NET suite.

    FURTHERMORE: I put a disclaimer saying I'm sure of 60% of my post.

    so :fawk:
     
  9. SLED

    SLED build an idiot proof device and someone else will

    Joined:
    Sep 20, 2001
    Messages:
    28,118
    Likes Received:
    0
    Location:
    AZ, like a bauce!
    VB6 was half-assed Object Oriented. The rules of OO languages is that they need to support encapsulation, polymorphism, and inheritance. VB6 only went as far as to implement interface inheritance, there was no actual implementation inheritance of real objects. VB6 classes were like structs + interfaces support.
     
  10. EvilSS

    EvilSS New Member

    Joined:
    Jun 11, 2003
    Messages:
    5,104
    Likes Received:
    0
    Location:
    STL
    1. Download the free express 2005 language of your choice.
    2. Shred, Burn, and bury the VB6 CD
     
  11. GOGZILLA

    GOGZILLA Double-Uranium Member

    Joined:
    Jan 16, 2003
    Messages:
    10,760
    Likes Received:
    3
    Location:
    Plantation, FL
    .
     
  12. SLED

    SLED build an idiot proof device and someone else will

    Joined:
    Sep 20, 2001
    Messages:
    28,118
    Likes Received:
    0
    Location:
    AZ, like a bauce!
    :rl:
     
  13. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    No, you just don't know how to use it. Like I said, VB6 is fully-object-oriented, but it just sooo easy to fudge it. Hell, I still use Types to build data structures, and I still leave the accessor functions floating publicly in the same .BAS file as the Type declarations, instead of using Class modules. Old habits die hard, and knowing that MS had to force VB people to adapt to a new paradigm is the only reason I'm willing to forgive them for butchering the existing VB lexicon instead of adding to it like they always used to do.
     
  14. SLED

    SLED build an idiot proof device and someone else will

    Joined:
    Sep 20, 2001
    Messages:
    28,118
    Likes Received:
    0
    Location:
    AZ, like a bauce!
    Fixed.

    VB6 inheritance was a hack, and not that of a true object oriented language. You cannot argue with that. Nor can you argue that it is a bad idea for a new programmer to learn vb6 and develop above said bad habbits vs. jumping into vb.net. Hell, can you even make a singleton class in vb6? Sure, you can make virtually any language ACT OO. I could take C code (clearly not OO) and make it "seem" like an OO language. That doesn't make it a true OO language however.
     
  15. Mr. Monopoly

    Mr. Monopoly OT Supporter

    Joined:
    Jul 8, 2004
    Messages:
    6,955
    Likes Received:
    2
    Location:
    Advancing to Boardwalk
    VB.net has to be the worst programming language wrought upon us by M$. I hope those responsible for it have a very special place in Hell reserved. Stupid motherfucking cryptic syntax and bootleg memory hogging ftmfl.

    Pick up C# or C++. Great languages.. A little bit of a hassle to learn, but once you get them, you're in motion.
     
  16. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    That begs the question, though: considering that OO compilers were originally written using non-OO languages, is there really any difference between code that WILLINGLY follows OO standards and code that is FORCED into following OO standards? Don't forget, the C# precompiler is written in C++, and the first C++ compiler was written in C, which itself originally used a compiler written in machine code.

    All of the enforced-OO bullshit that you're talking about ultimately gets turned into a pointer referencing a bunch of spaghetti code commands in RAM, anyway -- the crucial issue is whether the programmer who wrote the code, or the compiler, or the compiler's compiler, had enough discipline to stay true to OO standards.
     
  17. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    I present you with a choice: make a cogent argument (http://dictionary.reference.com/browse/cogent) or fuck off. This isn't a "which Pokemon is the coolest" debate.
     
  18. SLED

    SLED build an idiot proof device and someone else will

    Joined:
    Sep 20, 2001
    Messages:
    28,118
    Likes Received:
    0
    Location:
    AZ, like a bauce!
    Well I'm definitely not making an argument that OO code is by any means faster or more efficient. I mean at the end of the day everything just becomes machine op codes anyways. I guess I'm just curious why anybody would recommend an incomplete language like VB6 over newer and more complete languages such as the .NET stuff.
     
  19. SLED

    SLED build an idiot proof device and someone else will

    Joined:
    Sep 20, 2001
    Messages:
    28,118
    Likes Received:
    0
    Location:
    AZ, like a bauce!
    I agree that VB syntax, regardless of version, is pretty inefficient, however, you make a bad argument by saying that vb.net hogs more memory than C#. They are both compiled to .NET IL code, which is then executed on the SAME .NET Framework.
     
  20. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    Because you have complete control over the code you write. First, it actually compiles to machine code; second, it doesn't require the presence of a secondary API (that would be the .NET Framework) in order to run; third, the only code that's hidden from the programmer is the code that makes the ActiveX controls work -- clicking buttons, scrolling scrollbars, and the like.

    Before you point out that the .NET Framework is loaded on every computer running Windows anyway, you should keep in mind that it only loads into RAM when something needs to use it, and it only exists in the first place because it was a way for Microsoft to avoid publishing the entire Windows API for their competitors to feast upon -- this way, they can publish the entire .NET API instead, and keep the Windows API (which the .NET Framework talks to) as undocumented as possible.

    That said, if you want to use the Windows API in VB6, you can go on www.allapi.net and you've got access to years of accumulated documentation. And that's how I write efficient VB6 programs without even touching .NET.

    - - -

    You're absolutely right that VB6 doesn't force the programmer to follow OO standards -- however, it DOES provide the necessary infrastructure to allow for full-OO programming, if that's what you want to do, and it also allows you to write cheap dirty code if you only have a few minutes and you just need a quick program to run once. You could argue that not forcing the programmer to follow OO standards will encourage the creation of cheap dirty code, and you'd be right; likewise, I could argue that any programmer who doesn't know how to decide when it's appropriate to follow OO standards, vs. writing cheap dirty code, shouldn't be in the business anyway, and I would be right too.

    That would be like an architect who doesn't know when it's okay to use plywood (a doghouse) and when it's necessary to use steel girders (an office building) -- they have no business doing what they're doing if they can't make that call.
     
    Last edited: Dec 5, 2006
  21. EvilSS

    EvilSS New Member

    Joined:
    Jun 11, 2003
    Messages:
    5,104
    Likes Received:
    0
    Location:
    STL
    And this is the reason it should be erased from existence. Too many "programmers" take this easy way out with VB6 and end up writing utter shit. Too many of these people are writing business critical apps in VB6.

    Funny the only people complaining about the "complexity" of VB.net are these VB6 programmers that have never touched a real language and now face having to actually learn crazy ass things like [Gasp!] declaring variables or proper error handling.

    Anyone familiar with the language can write quick utility programs with no problems. I do it all the time.
     

Share This Page