VB or C# and Which Books?

Discussion in 'MCAD / MCSD / MCPD' started by lyndonw, May 25, 2007.

  1. lyndonw

    lyndonw Bit Poster

    11
    0
    14
    As some of you probably know I'm starting working towards my MCTS (Web) Certification and I've finally decided to go down the self study route (thanks to you guys!)

    I have a few questions however!

    I thought it would be great to learn both C# and VB.NET, however this is proving to be much more difficult that first thought - Im getting confused between the two, so I've got to settle on one! But which one? Both are equally difficult at this point in my learning and both seem to have equal demand in the current marketplace, so how does one choose?

    Also, according to the Microsoft site, the recommended reading for either language are:

    Programming Microsoft Visual C# 2005: The Language (Pro Developer)
    or
    Programming Microsoft Visual Basic 2005: The Language (Pro Developer).

    However upon reading amazon and similar reviews the following books are more suited to the beginner and are also released by MS Press:

    Visual C# 2005 Step by Step (Step by Step (Microsoft))
    or
    Visual Basic 2005 Step by Step (Step by Step (Microsoft))

    So my second question I guess is would the following books be more suitable and cover the necessary information to pass the exams?

    Thanks in advance

    Lyndon.
     
    WIP: CCNA
  2. Fergal1982

    Fergal1982 Petabyte Poster

    4,196
    172
    211
    Personally, I go more with VB than C#. But thats partly because of my background - I started VBScripting, and graduated up to VB.Net from there.

    Its very likely worth learning both to be honest, but you are correct, focus on one for now. Once you are comfortable with that, you can then take a look at the other.

    Looking on the job front, there does appear to be more c# jobs than vb jobs at the moment, so i suppose it would be worth considering that too.

    The thing to bear in mind I suppose is that, certainly with .Net the two are interchangeable. Hell you can have a single project with different pages/forms/classes/etc written in either or. The way they interact is standardised (obviously you cant mix languages within a single page, etc).

    I would take a look at the languages and decide which seems to make more sense to you. For me it was VB simply because its what I started with, and I found I took to it quite quickly. From your point you have the advantage of having learned a little of both so far. This gives you the opportunity to compare the two a bit more objectively.

    Which language feels more natural? Which do you get more excited when you achieve something? Which frustrates you no end?

    At the end of the day its a personal choice. Just because there are more jobs in your area for one rather than the other is no reason to pick a language. If you are taking up coding, you should be doing it because you get a buzz from doing it. If you take a language for the money and hate working in it, you wont last long.

    On the subject of books... I cant talk with regards to getting certified, since I havent looked into that yet. I code from necessity. When I need something achieved I find out how to do it and learn that way. Very goal orientated. For knowledge I picked up the starter book from Wrox. I also make a point to pick up the O'Reilly 'In a Nutshell' books on whatever language Im using. These books are fantastic, laid out like a dictionary and give you a brief description of the function, its syntax, and often examples and/or point to note.
     
    Certifications: ITIL Foundation; MCTS: Visual Studio Team Foundation Server 2010, Administration
    WIP: None at present
  3. Tinus1959

    Tinus1959 Gigabyte Poster

    1,539
    42
    106
    I'm not a programmer, but I'd go for C#. (where is the OS written in?). Better still, I'd go for C++.
    MS says with the new JIT compiler VB is as fast as C#.
    The thruth is that with the new JIT compiler C# is now as slow as VB.
    My two cents.
     
    Certifications: See my signature
    WIP: MCSD, MCAD, CCNA, CCNP
  4. wideboy_west

    wideboy_west Bit Poster

    16
    0
    9
    Hi

    I have just started getting into VB and I am hoping to go down the MCTS route.

    I currently going through Visual Basic 2005 Step by Step (Step by Step (Microsoft)) which seems to a very good book so far.

    I have a E-book version of Programming Microsoft Visual Basic 2005: The Language (Pro Developer). somebody gave me and it looks good also, so I am going to get a copy of that.

    Avoid the vb2205 for dummies book. I found it pretty poor.

    Not yet got the official MCTS study guides from microsoft yet but will soon or hopefully someone else will bring one out without all the errors.

    keep us all informed as how you get along with your studies.
     
  5. Toadeh

    Toadeh Nibble Poster

    91
    0
    11
    Doesn't matter, its a life choice, it all gets compiled in the CLR so it all executes in roughly the same mannor. I use VB but thats cause I always have.

    Am thinking if i know the basics in VB then its just change the syntax to C#, the theory is all the same
     
    Certifications: BSc(Hons), MCTS Web Development
  6. Tinus1959

    Tinus1959 Gigabyte Poster

    1,539
    42
    106
    You might be tricked here. According to our development trainer there are a number of options in C# that are simply not possible in VB.
    Allthou MS claims that no matter what language you use, the result is the same, because your program is first compiled in to an intermediate language and then this IL is compiled in the working program.
    This is simply not true.
    To put it simple: If you have no word for an object, you can not translate it.
     
    Certifications: See my signature
    WIP: MCSD, MCAD, CCNA, CCNP
  7. Fergal1982

    Fergal1982 Petabyte Poster

    4,196
    172
    211
    To be honest, I tend to find quite a bit of snobbery from c# programmers. They are convinced that c# is superior to VB. So in all honesty I would be unlikely to believe them unless they provided evidence.

    I once applied for a .Net job that was after OO experience. Apparently the guy ranted for about 20 minutes to the recruitment agency how VB.Net wasnt OO.

    Im sure you will find the same snobbery to some extent amongst VB developers for c#, but I havent come across it yet. All the guys that work in my company develop in VB primarily. One or two know about c# and could most likely get by but they prefer VB. But most of them see that theres no real difference between the two. Like I said, you could have a c# dev and a VB dev working on the same project (Just differnet parts) without issue.
     
    Certifications: ITIL Foundation; MCTS: Visual Studio Team Foundation Server 2010, Administration
    WIP: None at present
  8. Tinus1959

    Tinus1959 Gigabyte Poster

    1,539
    42
    106
    As I said I am not a programmer. Ok, lets break it done to the bone.
    Do you agree with me that the learning curve for VB is far less steep then the learning curve for C++ (or c#)?
    If VB and C++ are both as powerfull, why are all OS and most applications (word, excel and so on) written in C++, C and parts even in assembler?
    If VB is that powerfull, why isn't it used?

    I'll give you a hint: Wordperfect wrote version 8.0 off its suite in Java, because that would be the future.
    It was just so damned slow. Version 9.0 was again in C++.
     
    Certifications: See my signature
    WIP: MCSD, MCAD, CCNA, CCNP
  9. wideboy_west

    wideboy_west Bit Poster

    16
    0
    9
    I think we went a bit of course there gents!

    I think you both have good arguments for both VB and C#. But I think it depends on what application needs to be developed and the speed it can be developed in that matters.

    Horses for courses as they say!

    In my experience it pays to be open minded about how to do something, just because there is more than one way does not mean only one is right.
     
  10. Toadeh

    Toadeh Nibble Poster

    91
    0
    11
    Is C++ the same as C#?

    Also, vb is quite useful for sql server these days. It basically doesn't make much difference. For the MCTS they give both options and each is explained. So far, i haven't come accorss anything that can only be done in C#
     
    Certifications: BSc(Hons), MCTS Web Development
  11. Fergal1982

    Fergal1982 Petabyte Poster

    4,196
    172
    211
    Yeah you do have a point with that, I will concede that.

    VB's language is definately easier to learn. Which makes it more powerful in some respects (If you can learn it faster you can get on with making it do what you want it to do).

    C is more complex to learn, and I suppose, from that point you could infer that you could achieve things with C that you couldnt with VB (Although I suspect that those things would at the very least be incredibly finicky to achieve.

    As far as the OS and apps are concerned. I suspect its more down to the culture within Programming, and the divide between the Cdevs and the VBdevs than what each can do. Its historically been programmed in C and so continues to be. They dont look for VBdevs for it because: they think VB is inferior; they want to keep the whole team coding in a single language to help them unite (which makes sense really)
     
    Certifications: ITIL Foundation; MCTS: Visual Studio Team Foundation Server 2010, Administration
    WIP: None at present
  12. Tinus1959

    Tinus1959 Gigabyte Poster

    1,539
    42
    106
    It started with C, derived from B (hence the name) C was a diffycult language but lightning fast and very compact If you needed some assembler code somewhere, you just embedded that in your C program. Very powerfull language.
    C++ was developed out of C. If was object oriented and because Windows was coded in C, you could easyly use the windows functions in your C++ program (Microsoft Foundation Classes MFC). C++ however was not owned by Microsoft. Borland had a far better compiler than Microsoft. C++ could also be used for Linux.
    C# leans heavyly on the .NET technology from Microsoft. It wil not work if the .NET library is not installed. I would be surprised if a c# program would work on a Linux host.

    About vb on sql server: sql server have a native language, called SQL, Structured Query Language. I think the VB-part is scripting. Could perhaps also be done using java.
     
    Certifications: See my signature
    WIP: MCSD, MCAD, CCNA, CCNP
  13. Tinus1959

    Tinus1959 Gigabyte Poster

    1,539
    42
    106
    OK, lets call it a draw. On the OS and apps part, how where they programmed before C was there? Basic is much older than C.
    BTW, did you know basic is an acronym?
     
    Certifications: See my signature
    WIP: MCSD, MCAD, CCNA, CCNP
  14. hbroomhall

    hbroomhall Petabyte Poster Gold Member

    6,624
    117
    224
    To get C# to run on Linux look at Mono.

    MS-DOS was written in assembler, and a great deal of early OSes were done likewise. Often there was an assembly core, with a higher-level language doing the rest.

    Harry.
     
    Certifications: ECDL A+ Network+ i-Net+
    WIP: Server+
  15. Tinus1959

    Tinus1959 Gigabyte Poster

    1,539
    42
    106
    I get a "The page cannot be displayed" error on that link.
     
    Certifications: See my signature
    WIP: MCSD, MCAD, CCNA, CCNP
  16. hbroomhall

    hbroomhall Petabyte Poster Gold Member

    6,624
    117
    224
    Odd - I've just tried it from the link quoted in your message and it works.

    Try it as just the site-name without the next bit.

    Harry.
     
    Certifications: ECDL A+ Network+ i-Net+
    WIP: Server+
  17. Toadeh

    Toadeh Nibble Poster

    91
    0
    11
    Check out SQL server 2005, you can write procedures specifically for it (basically, a DLL that runs on the server). Can't remember the exact name of it though. This works along side SQL lang.
     
    Certifications: BSc(Hons), MCTS Web Development
  18. Tinus1959

    Tinus1959 Gigabyte Poster

    1,539
    42
    106
    It works now. Maybe the server was just busy.
     
    Certifications: See my signature
    WIP: MCSD, MCAD, CCNA, CCNP
  19. Tinus1959

    Tinus1959 Gigabyte Poster

    1,539
    42
    106
    Have not been able to check out SQL 2005 for now. Being to busy studiing for exchange 2007.
     
    Certifications: See my signature
    WIP: MCSD, MCAD, CCNA, CCNP
  20. Toadeh

    Toadeh Nibble Poster

    91
    0
    11
    Found somit that is C# only. Iterators. But you can override the getenumerator method in the iEnumerable interface. So it seems their is always a way round it in vb
     
    Certifications: BSc(Hons), MCTS Web Development

Share This Page

Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.