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 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, visit the help center for guidance.
Closed 12 years ago.
I know VB is still very popular, but does Microsoft put the same effort into developing VB as they do for C#? Will VB eventually fade away?
Microsoft is focusing on making C# and VB.NET (not VB6) similar in what is being termed as a "co-evolution" of the languages. We can see this with C# 4.0 adopting optional parameters and VB.NET 10 adding support for automatic properties and multi-statement lambdas.
This is supported by the following links:
Q&A: Microsoft's Lisa Feigenbaum
Talks About C#
Luca Bolognese
(PDC '09) - Future Directions for C#
and Visual Basic
Luca Bolognese:
C# and VB.NET Co-Evolution - The
Twain Shall Meet
Very few people are adding to VB.NET numbers but people already started with VB and then moved to VB.NET will stay around for a long time.
I started in this line of work developing Access apps. VBA 6 is still used in Access 2010, and my colleagues of old refer to .NET as "LINQ and other stuff". The point being, they don't need .NET "luxuries" to satisfy their clients needs cheaply and effectively.
VBA being a whole lot less than VB6. So the same will apply to many VB6 developers.
However, I think the question (although not clearly stated) refers to VB.NET. In that case, I think VB.NET gets as much attention as C#. The big difference is that most of the best samples are in C# and as development nowadays depends heavily on googling for samples, that tilts the balance in favour of C#. But only just. And there are things that are easier to do in VB.NET than they are in C#, although C# 4.0, with optional parameters, etc, is closing that gap.
Me, I left Access partly because I live in a rural area so it makes more sense to develop apps for the web that don't require me to travel to client's offices. But mainly, because aesthetics are important to me and I HATED the VB syntax.
Other people hate curly brackets. I think they illustrate the scope of what each item of code has access to, but there you go, horses for courses.
No. Categorically NO. VB.NET will not fade away, and VB6 and VBA have not yet exhausted their potential.
Related
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 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, visit the help center for guidance.
Closed 9 years ago.
I'm currently in the process of prototyping a few small apps, intended for release on Mac and Windows. Naturally this means Cocoa with Objective-C on the Mac and .NET with C# on Windows. Unfortunately, since these two languages are quite different, working on 4 apps is more like working on 8 since I have to do everything twice.
To some degree this is unavoidable, but I'm exploring ways to share some of the common code/functions that deal with platform independent stuff (calculations, formulas, etc.).
I considered C/C++, but since it needs to be compiled into a DLL for use in C# it doesn't seem worth it.
Now I'm looking at using a scripting language like Lua, which is showing some promise, but it's not without it's share of complications as well. Are there other ways that might be better?
One way is to use Mono, a cross platform open-source development framework.
http://www.mono-project.com
You can use C/C++ as a DLL, for C#.
It's very easy to consume a C Dll from C# using .NET interoperability and marshaling.
In fact, this was my preferred solution when developing for iPhone and WinPhone....
More about calling C Dll from C#, read MSDN, and this simple example:
http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.aspx
Technically, you can write "managed C++ assemblies" for use in .NET applications, and you can mix C++ directly into Objective-C apps, but the syntax required to reference .NET Objects (myclass^) is different enough that you'd still end up not sharing very much.
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 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, visit the help center for guidance.
Closed 11 years ago.
I'm starting a new project to handle info from some text files, a kind of sorting module so I'd like to give it a try using LINQ but looking for a book I realized that there are more c# books than vb, so I wonder if c# have better support or if it is more suitable than vb.
You think there is some advance on use c# or vb.
thanks.
Better question: Why are there more books for C# than VB.
More developers use it. Simple as that.
http://www.telerikwatch.com/2008/04/survey-says-c-more-popular-than-vb.html
Interesting links on Adoption of C# and VB: http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET#Adoption_and_community_support
Most importantly for this question: Stephen Wiley, marketing product manager at Apress has reported "C# titles outsell VB.NET title books handily, by somewhere between a 2–1 and 3–1 margin."
So if you are looking for community support, I would say C# is the way to go, though MS does support both equally.
Generally the languages are the same, but there is a big difference in the perception of the languages and the types of examples and books available. In many cases you'll find more advanced examples in C# and advanced books in C# (not all, but many). You'll also often see people refer to C# as a superior language, not for any real technical reason but really from a matter of perception.
In my personal experience, you'll also see a difference in pay scales for C# developers vs VB.NET developers.
If you're just starting out, then I would recommend C# and not VB.NET. Again, not for any true technical difference, but because of the perception and available learning materials.
At the end of the day, its all syntax - especially in .net, because they compile down to be used by the same runtime engine. Perception is a big part, because c# looks more 'authentic', but its more based on perception. Also, c# syntax is very much like java, which is a language highly reverred amongst programmers. So, the natural progression says that more people will probably use c# than vb, and vb.net's grandfather (vb6) wasn't a good language...hence there are more resources for it..
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 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, visit the help center for guidance.
Closed 12 years ago.
i need to write an web crawler and i need need which is best language for performance like memory and performance ..
Edit: Original title was "which language is optimized for speed and perfomance c++ or C#"
i need to write an web crawler
In that case, the internet traffic is probably your bottleneck, so the language does not matter at all.
I'd say that, if you know what you're doing, C++ is more likely to be efficient than C#.
On the flip side, C# is probably easier to work with and to optimize your app in.
So, since you have to ask, I recommend C# in your case. ;)
C++ virtually always offers the best performance of any language that supports modern programming techniques like generic programming and OOP. You pay a price for this though - it's substantially harder to use than C#.
Of course C++. You can manage every byte of memory there, while C# is Managed Code, where you tell the framework what you want to do and the framework does the things you usually do in C++. But if that's the main motive - don't stop at C++ and get right to machine code, Assembly.
A Google search would give you an instant answer - C++ is (generally) a better performing language.
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 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, visit the help center for guidance.
Closed 12 years ago.
This is a trend I've noticed. There is a very large adoption of ruby from the java community. Is it that c# is such an awesome language + having good tools over java that most c# developers aren't as keen to switching to ruby permanently as java developers are?
What are your opinions?
C# is a modern, and quite powerful language, sporting:
Lambdas (closures)
Continuations (yield)
Value types
Properties
Type inference
Pass-by-reference
...just to name a few.
These features make a transition from C# to Ruby far less attractive than a transition from Java to Ruby.
Because .NET is part of a coherent environment which includes developer tools, database links, orm management GUI front ends, net front ends etc. etc.
Java is a language! There are losts of piecemeal bits and pieces which do all of the above, but, the quality varies considerably. From something like Apache POI which is a better interface to MS Office documents than MS provides to the abysmal J2EE stack which half does in a very complicated way what .NET does in a simple and elegant way.
Whereas for Enterprise level, millions of transactions, bullet proof, fast never lose your data all the extra work putting together J2EE, JDBC, Spring, Hibernate etc.etc. etc. is actually worth it, for a quick simple Web to Database app its just too painful, hence the attraction to ROR.
On the other hand while .NET can scale up to the big stuff (not as well as J2EE! ) it is still reasonably straightforward to do a small application.
I see two reasons:
It seems to me that the biggest benefits of switching to Ruby for a Java developer are closures and dynamic type inference. Both of these can be found in C#.
.NET benefits from a rather tight integration with the Windows platform - (COM interop, WPF, easy installation), making it more difficult to switch from .NET to something else.
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 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, visit the help center for guidance.
Closed 14 years ago.
What do you see as benefits for one over the other? As far as I know, it's just preference. I have way more experience with C# than I do with Visual Basic and was wondering if I should dabble in Visual Basic for certain types of projects?
VB4 was my first language, with VB6 being the last time I touched it. I have moved to c# and wouldnt consider going back. VB just feels too fat and fluffy for me (preference).
All the .NET languages compile to IL though...
Note: c# is "closer" to java...
I personally prefer C#, I love the syntax and I feel really comfortable with the language.
Some say that C# programmers are paid better than VB programmers, but I think you should try both languages and see on which you fell better.
Top 10 reasons C# is better than VB.NET
Top 10 reasons VB.NET is better than C#
If you plan on doing any SSIS you will need to know VB. This one of few areas that I am aware of in which it truly matters which language you choose as SSIS only supports VB for any "integrated" code you write for it.
You are correct in saying that it is a preference as all .NET languages are compiled to IL. So choose the one you are most comfortable with and don't worry too much about it.
Coming from a curly-braces background I find c# to be a lot easier to read and write. I find VB.Net to be too verbose and some of the syntax (I'm looking at you, arrays) makes my eyes water.
I also get frustrated by the background compilation in VB.Net, especially on large projects where it can make the IDE unresponsive.
The only advantage VB.Net has over C# in my opinion is optional parameters. These make certain interop tasks a lot easier but I think c# is due to get them in 4.0.
VB.NET
In my opinion, C# was created only for marketing reasons to bring Java developers to .NET.
There are many more developer jobs in the job marketplace for C# over VB. Visual Basic got a bad wrap from the get go because it was an interpreted language. Back in the early days of computers, interpreted was bad and slow.
In the beginning, Microsoft built VB mostly for consultants to be able to quickly and effectively write internal software.
I cringe when I see C#, but these days, I write in JavaScript more than any other language and I love it.
VB's language keywords makes more sense to me over C#'s such as Imports vs Using. With declarations, I do not like having object type coming before the variable's name. And it seems that C# has many hidden rules with parenthesis and what not that a developer must know just to even read C#. Whereas VB is straight to the point and flows very nicely without crazy syntaxes.