views:

175

answers:

11

I've programmed in VB5 (and a little VB6) in the past, used MS Access at a 'writing code' level but this was all a few years ago and I've only used PHP more recently. I'd like to get back in to programming for the PC (Windows...) but not sure where to go with a choice of language. VB.Net? C#? ....any suggestions? Something easy to pick up, simple to use for creating 'small' desktop utilities, that sort of thing.

A: 

A .NET language - VB.NET or C# is a good idea. Lots of information available, and you can get the Express versions for free. VB.NET may be an easier transition, based upon your previous experience. Be warned though: C# is more popular, which means there are more tools and code samples available.

Check out related questions: Which language should I pick up: vb.net or C# and Usage Statistics: C# versus VB.NET

Ola Eldøy
don't know what was up with the down vote. +1
Ray
A: 

if your already familiar with vb5 and vb6 and your just building small desktop utilities then I would recommend vb.net

J.13.L
Probably not bad advice, but the caveat is important.
C. Ross
+2  A: 

I think that if you have used VB6 and Access in the past, picking up VB.NET should be a breeze. In many ways VB.NET will let you do what you've done before, but with much more structure and a "real language" feel rather than a "scripting" feel compared to the past.

Uri
+6  A: 

VB.NET is conceptually different enough from VB5/6 that you might almost be better off going with something completely new.

Plus, Jeff says he gave up on VB.NET because he had such a hard time finding decent code examples. C# is everywhere.

I use C# if I'm in .NET. I like it well enough, but then I got here via Java, without a whole lot of VB experience.

Darcy Casselman
+1 Totally. My old language was Visual Basic 6.0, and if you're gonna learn the .NET framework, do it from C#.
GMan
A: 

if you have used VB, VB.Net seems like the natural choice.

If you wanted something specifically for creating simple desktop applications you could look at a scripting language with Tk such as ruby or python which also might also give you a change to learn a new language with different features.

bobwah
A: 

Most probably VB.NET would be best for you, although I prefer C# when write for Windows and C++ with Qt when application has to work on other platforms as well.

Raf
A: 

The conventional wisdom says that the programmer "upgrade path" from VB6 leads to VB.NET...I do not agree with the conventional wisdom. I used VB6 day in and day out for almost 10 years. Now I use C# very comfortably.

Compared to the conceptual differences between COM (VB6 is based on COM) and .NET, the syntax differences between VB.NET and C# are minor. On the other hand, there is much better support (from both MS and the community) for C#.

Daniel Pratt
A: 

I heartily recommend that you give C# a try.

While it might be a little more difficult for you to pick up than VB.NET I think you'll appreciate the gains in the maintainability of the code you produce.

Waylon Flinn
A: 

If you have used VB5/6 and VBA before, VB.NET should feel pretty familiar. However, VB has become object oriented after version 6, so there is some new things to learn.

If you want to broaden your knowledge a bit, C# is a good alternative.

I would recommend learning some C# even if you want to go on to VB.NET. They both use the .NET framework and compile into nearly identical IL code, so most of what you learn in C# is useful in VB.NET also. It's also quite useful to be able to translate between them, as you then can use coding examples in either language.

Guffa
+4  A: 

At the risk of getting downvoted to oblivion, I disagree with the many C# and VB.NET suggestions. Whilst I've played with C# (not VB.NET) and it's a very impressive and versatile language/toolkit, if I were you I'd attempt to broaden your horizons by going for something with decent cross-platform portability such as Python.

It's a fun language to play with, easy to learn, teaches good habits, and if you find yourself looking for a new job in a couple of years time, at least if it's a non-Windows development job, you've got a skill you can take to the party.

A: 

If you like to build 'small' desktop utilities, that sort of thing that does not require the .NET framework to run, you might want to check out BCX. It is free.

BCX is a small command line tool that inputs a BCX BASIC source code file and outputs a 'C' source code file which can be compiled with many C or C++ compilers.

Using BCX and a C compiler enables you to produce powerful 32-bit native code Windows console mode programs, windows GUI applications, and Dynamic Link Libraries (DLL's) without having to incur the costs of an expensive commercial BASIC compiler. The programs that you create will be among the smallest and fastest 32 bit executable programs around, requiring no additional distributed runtime modules.

URL: http://bcx-basic.sourceforge.net/

Hideo