...if the company used VB.NET instead of C# or vice versa? Would the language choice in .NET be a deal breaker for you and if so why?
|
closed as not constructive by ChrisF♦ Feb 14 '12 at 23:34
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.
|
For me, the language employed isn't the deciding factor - the problems that I'm there to solve are. Even if C# was language of choice, but the problems were fairly mundane, I'd be bored to tears as opposed to a job that employed VB but had some really challenging problems. If both jobs had similar technical difficulty, then I'd start getting down to company perks, how much either was willing to pay and what employability is like for specialists in that language. |
|||
|
|
|
Admittedly I'm a C++ programmer mainly, but I have written 1 VB.net app (I inherited it, and decided to keep it in VB.net - more practical that way)(and anyone who says they love C# 'cos its faster to develop, but then would rewrite a VB.NET app in C# is obviously talking poo), and it turns out to be quite a decent language. Sure, its more verbose, but the autocomplete typed most of that for me, and besides, most C# classes tend to have hugeLongMethodNamesThatTryToBeDescriptive() inside 4 levels of namespaces anyway so typing Typing variables like 'myvar as string' is just as easy as 'string myvar' TBH. So apart from the usual religious hate going on, vb.net isn't such a bad language, VS does have excellent support for it and it is actually easier to write than C# once you get past your mental block. That said, I wouldn't choose it as a first language, as everyone seems to love C# instead, that's the .NET language to go for, for exactly the same reasons its not worth changing from VB.NET to C# if VB was the choice someone else had already made. |
|||
|
|
|
Elaborating on my comment above, yes, I would turn down a job if it were VB.NET (in my case) instead of C#. I actually did turn down one job and stopped myself from applying to a number of other positions which indicated they wanted VB.NET. "Why" in my case mainly consists of one consideration. I wish to love or at least like what I do as my job. Working with a language you dislike on a daily basis is destructive to good mood and happiness. More to it, development on its own is a challenging activity, you always have plenty of things occupying your mind. It is destructive to efficiency if over and over in your mind do you return back to the thought how you despise a certain instrument you use and how it were much better if you didn't. If you know in advance you will be having these thoughts, then you also know your future work has the potential of turning into a torture. Why try then? UPDATE: Here's the funny thing. Many answers here imply that it doesn't matter either C# or VB.NET because in fact you're programming for .NET. I've heard the same thing on many interviews. I then asked:
-- - - - - - - - Standing ovation - - - - - - - -- |
|||||||||||||
|
|
I've been working with C# since .Net was 1.0. If I were going to switch languages now, it would be to something off the .Net stack. Not that I don't love it, because I do, but if I'm going to switch it would be to something completely different. A man with 2 noses. |
||||
|
|
More than likely, but not for the reason you think. I've used both VB.NET and C# and I am capable in them both. I would more than likely turn down a VB.NET job because most of the time a VB.NET shop is less familiar with proper programming practices than a C# shop, due to VB.NET's past lives as VBA and VB6 (and VBScript). I have encountered VB.NET shops that didn't know or understand design patterns, software craftsmanship (e.g. the SOLID principles), testing, source control, or even proper OOP than I have C# shops. That said, there are always exceptions (and I have seen some good VB.NET shops and bad C# shops, it's just the opposite is more common) - if I had a choice between a VB.NET shop using TDD and DDD and using NHibernate (insert other Alt.Net buzzwords here) or a C# shop that was using .NET 4.0 like it was .NET 1.1 with DataSets and everything in code-behind and drag-and-drop, I would choose the VB.NET shop, just more often than not the C# place understands the right way, and the VB.NET shop is all about quick-and-dirty spaghetti code. |
|||||||||||
|
|
If the job was mainly VB.NET, I would most likely decline it. Certain languages I just hate. It not that I can not programming in the language but that I just don't like them and VB is one of those languages. |
|||
|
|
|
I would second some of the comments already made about the parity between C# and VB.NET. Microsoft has stated that they plan to merge to two language features more and more (can't find a definitive statement anywhere on this though - not sure if someone else can?). I personally write in VB.NET (and VB6) and dislike C# (although I started coding in C on the RISC OS) nowadays I find VB.NET faster to write, but that's probably because I have been using it for such a long time. |
|||
|
|
|
It is all personal preference. I honestly don't care what I am using (to a point). I have said to interviewers when ask if I mind using language that I honestly would program in notepad if the job and problems being solved were interesting enough. My point is, every job will have its pros and cons. None are 100% perfect. Make sure to the weigh the job as a whole and not get stuck on one aspect. oh and while I prefer C#. The difference between VB.NET and C# is mainly syntax and it is not that bad. |
|||
|
|
|
I just started learning C#. VB has been my choice of language. It would really matter what the job was about. But I'd happily go back to VB. |
|||
|
|
|
Computer languages are just tools. Your focus should be on the actual job, aka the program you will be involved to develop, and the people you will work with. After 20 years of experience I have worked with many languages on many projects and with many people and I tell you that your least significant concern is the programming language |
|||
|
|
|
I certainly would turn it down. I can't stand VB syntax - and for one job I had to work with it, but there was a silver lining in that we were going to convert VB.NET projects to C#... The syntax is what annoys me most, its just too verbose. I will never accept a job again that requires me to code in VB.NET unless its a conversion project to C#. |
|||
|
|
|
I'm using F# (primary) , VB.NET , C# and Nemerle and mix them so I absolutely have no troubles with it. And I think noone will stop me to make some F# modules for VB.NET (for example) project. |
|||
|
|
It wouldn't be an absolute deal-breaker. But it would be a weight on the "don't accept it" side of the scales. If the job sounded interesting, good money, good location, good conditions, all the non-language-related aspects of the .NET development nice and modern (e.g. ASP.NET 4.0 dev), then sure, I'd be willing to take it. But really, even though there is no colossal difference between C# and VB.NET.. I left the VB.NET syntax behind me about four years ago, and would prefer not to have it back. I agree with Joviee - it just irks me. Also, since the last time I used VB.NET was in the .NET 2.0 days, I have no idea what the syntax for newer features such as LINQ, lambdas, extension methods, anonymous types, type inference, etc. are like. They could be horrible, for all I know. |
|||
|
|
|
I've never touched VB.NET, but no, not really. From what I understand VB is a slightly less strict language -- which I don't like, but I wouldn't turn down a job because of it. VB and C# are designed with feature parity in mind, so it's almost the exact same skill set, save for the syntactic/tooling conveniences and idiosyncrasies that distinguish the two. Case in point, C#/VB converters work pretty well. There's one in SharpDevelop which does a really good job too. There was a highly controversial article written several years back about the differences between VB and C#. The author's position is that there's a cultural/historical difference that makes VB.NET programmers inferior. Make of that what you will (I personally think nowadays .NET itself has become a whacky and strangely tasty kebab of technologies and cultures), but the take-home message is that technologically they're very much the same. Not to say that all .NET languages are the same, though. F#, being based on OCaml (and Haskell to some extent), is very different from C# or VB. |
||||
|
|
|
Assuming everything else is equal, I would absolutely turn down a VB.NET job in favor of one using C# or F#. I find C# a pleasure to code in, and enjoy writing C#. VB's syntax just irks me. Having said that, working conditions, pay, or lack of other options could change my mind. |
|||||||||||||||
|