New to programming - which language to learn ?

H

hholidayy

Hi everyone,
I have a dilemma and I hope you could bring me some guidelines

I want to develop some in-house software(s) at my work, to save everyone
time and energy spent on the wrong repetitive tasks. To do so I have start
learning a programming language, and the options seem endless.
Java, C, C++, VB, C#, Delphi, etc... I'm receiving opinions left and right
all better than an other.

So far, I think I will go somewhere in the .NET environment, but from which
angle ? VB, C# or C++

Since this is a C# newsgroup, I would like to know the plus of learning
C# and why would it be better the two others ?

Thank you very much for your input

Ray

P.S. So far I learn: Javascript, HTML plus a very small knowledge of VB6
 
D

Dmitriy Lapshin [C# / .NET MVP]

Hi Ray,

I think there are two factors to consider:

a) Suitability of the language to solve certain tasks
b) Some background facilitating learning of the language

Since you have said nothing about the nature of the tasks your software is
going to solve, we obviously cannot currently evaluate factor a). As for b),
VB .NET might be little bit easier for you since you have some VB6
background, and Microsoft has put significant effort to ensure painless
migration from VB6 to VB .NET.

On the other hand, I personally find VB .NET somewhat "artificial" - in
other words, the designers of the language just took VB6 and added features
such as inheritance it had never had before. The language was not designed
to support them from the ground up, hence affectation. Still, many VB6
programmers love it, and it is in no way worse than C#.

As for C++, the story is the same as with VB .NET, if not even worse.
Managed C++ extensions introduced to the language to support .NET Framework
programming look even more awkward for me. So, if you are not a C++ addict,
this is definitely not your choice. I really love C++, but for unmanaged
code only.
 
P

Pete Davis

Ray,

First of all, understand that programming well is not something you just
pick up. It usually takes people years to become good programmers. I'm not
trying to discourage you, necessarily, but don't be disillusioned, you can't
just sit down with a book, learn some keywords and commands, and suddenly
throw together real-world applications (unless you're just one of those
people who it comes to completely naturally, in which case, consider
yourself very lucky).

Also, asking people what programming language to use can start
religious-like battles over the merits of each language.

If you've decided to go with .NET as a platform, then C# is the natural
choice simply because C# was designed with .NET in mind. VB.NET and managed
C++ have both been modified to be .NET capable.

Basically, it works something like this:

You can do the least (arguably, let's please not start a war here) in VB
(in terms of total functionality), then more with C#, and more with C++. The
more with C++ comes into play in the unmanaged world (outside of the .NET
framework). C++ suffers some disadvantages in .NET, though. Because of the
changes required to C++ to make it .NET capable, many things that are very
natural in C# require some "acrobatics" in C++ to accomplish. C++ is also a
more difficult language and frankly, more tedious to accomplish the same
things.

VB.NET is probably the easiest language, but there's not a big difference
between VB.NET and C# in terms of difficulty, so as I said, C# is really the
natural choice. Just my opinion, though.

Pete
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top