views:

182

answers:

5

Hi,

I'm curious to know the spread level of programs coded in VB.net. I'm asking, because I coded in VB.net during my university years in aerospace engineering , because our informatics professor wanted us to do that and we learned at least a very basic experience in programming. So I coded a horizon finder as a project-work and asked a friend of mine, a student of informatics, to help me with some of my open questions.

and he really asked me if my professor wants to use this vb.net program on one of his satellites. (okay, even I don't want my program on a real satellite, even on this nano test satellite it was intended for :)). I replied, that I know, that he uses other vb.net stuff in it. he said, this vb.net is not used in real world's programmes and it is slower than other languages, and it isn't as flexible. he said, that there are other ways in crashing this satellite than using vb.net ;)

so I would like to know a rough estimation about the percentage of programs coded in vb.net as a software in PC apps AND in automation machines etc.

If there is no need for it, so why are there people coding in it? :D

thank you for any reply to this!

Andreas

+6  A: 

There's plenty of need for it. It's a lot of people's primary programming language. It is no faster or slower than C#, as they both compile down to the same native code. Whoever told you that VB.NET isn't used in real world apps is misinformed.

Jason
I know it's a technicality, but I think it's misleading to say that they both compile to the same native code. They really both compile to IL, and are just-in-time compiled into native code during runtime.
Ed Altorfer
You're right, that is a *really* irrelevant technicality. Unless you can demonstrate that there's something consistently wrong with the IL that VB.NET generates.
Hans Passant
ehhh... ok, i can accept that as a technicality. but for all intents and purposes, they are identical at runtime.
Jason
A: 

vb.net is used in our day to day software, because it is easy to code and it has a relatively simple syntax. I don't know percentages, but I'd say it's quite common these days.

Off course if you're after robustness and speed, C++, C and possible C# will do a far better job. But applications that don't have such stringent requirements can definitely be coded in VB.NET

Tony
C# and VB.NET are pretty much equivelent. C# does not give you any more robustness or speed - in fact, you can't really tell the difference in a compiled library, in most cases.
Reed Copsey
that's why I said 'possibly C#', as I wasn't sure. Thanks for correcting me on that.
Tony
Also, you're of dubious truth even saying that about C or C++ - it's fairly common for .NET code to outperform similar C++ code, and far easier to write robust code, due to garbage collection, lack of pointers, etc...
Reed Copsey
I was convinced that C++ was still going to be faster then any .NET code. But it seems I may be wrong?!
Tony
vb.net's syntax is easy, but it's even "ugly" for me, and Ijust have experience with vb.net and java.and vb.net has some problems with consistence. you can really recognize, where some additions are implemented and are used in a different way than earlier implementations.
Andreas Hornig
Since C# allows for access to "unsafe" code (ie, pointers), there are likely applications/algorithms that can be made faster in C#. However, I wouldn't call VB.Net less "robust". Code robustness has more to do with programmer competence than anything else.
Joe Internet
A: 

The plan, from what was discussed by the language team at PDC, is for VB.NET and C#, from Visual Studio 2010 forward, to pretty much be kept in parity in terms of features.

This means VB.NET is every bit as "real" as C#, when it comes to languages. There is really nothing you can't do in VB.NET that you can do in C#. Both languages compile into the same IL for the CLR, and have pretty much the same optimizations.

Reed Copsey
I don't think Microsoft plans on adding access to "unsafe" code to VB.Net.
Joe Internet
That may be true. I was referring to some comments made during hte futures of VB.NET and C# talk @ PDC - the MS goal is to make the languages near feature equivelent (but there will always probably be some differences).
Reed Copsey
Here's a video of a similar talk at TechEd from Microsoft's Anders Hejlsberg who is now boss of architecture for C# and VB.Net http://blogs.msdn.com/vbteam/archive/2009/06/20/future-directions-for-visual-basic-by--and-jonathan-aneja.aspx
MarkJ
A: 

While VB.NET may not be the language of choice for real-time applications, it actually still shares a spot as one of Microsoft's most popular languages and is used in countless business applications.

One such example is my employer, Accenture's, Claims Components Services, which is a .NET application used by 70% of insurance companies (according to the company).

When selecting a language or technology, you should always consider what you need. If you answer "high performance with a ton of control," you may not want to go with VB; I may be biased, but I think VB and C# are actually suitable for the vast majority of (business) applications.

Ed Altorfer
real-time is a good point, that's why I don't want to see my horizon finder onboard this satellite, because it can detect earth's horizon on the camera-image, but it takes a lot of time ;) and when the processing is finised and the programm will display, where you are you are some 100km away from the place, the image was shot ;).Luckily my work was just more a proof of concept afterwards ;)
Andreas Hornig
This isn't an indicator that VB.Net is slow. It's entirely possible that you chose the worst way possible to implement your algorithms, etc. Now if you're code is really getting all of the performance possible out of the language, then you can move to a lower-level language. But using C/C++/C#/Ocaml/whatever doesn't remove the need for well designed code.
Joe Internet
A: 

I was at a Christmas party chatting with a Gentleman that works at a company that wrote its Diabetes Blood-Sugar level testing software in VB.NET. It's currently being ported to C++ to work on an embedded device. I don't know much more than that (it was a party); but that's anecdotal, at least.

George Stocker
parties are parties, so I totally understand it! :)I don't have alotof experience with microcontrollers, but all I know work with C. So if he intends a device for the patience pocket, so it's likely, that he can't use his vb.net codeand has to port it to somthing, that this contoller understands.
Andreas Hornig