POLKO said:
Thank You all for help. I,ll start as you advised with C#, digging later
into C ++. One more question, Developer said to avoid VB, I was planning to
do it next, why should I avoid it?
Well, first be aware that there's an anti-VB sentiment in the C# crowd
(I admit that I share it). Mostly it's for historical reasons, but
those reasons are still valid. C# was born out of the C, C++, Delphi
line of languages, which encourage rigour and precise specification of
exactly what it is you want to do. VB.NET was born out of VB and VBA,
which are much looser languages, the latter being an interpreted
scripting language. VB, historically, has not bothered with things like
precise definitions of types (or even precise typing at all) or
explicit type conversions. Historically, VB has encouraged programmers
to just write some code and the compiler (or interpreter) will do its
best to figure out what you meant. C, on the other hand, never cut you
any slack: you had to say _precisely_ what you wanted or the compiler
would kick your butt.
The general philosophies that underly the two camps are that C# (and C
/ C++ / Delphi) people tend to plan more carefully and be more
detail-oriented. They're into stuff like test-driven development. In
fact, it's mostly this camp that talks about programming as an
engineering discipline, and is concerned with development processes and
how to ensure correct code.
The VB camp is more concerned with rapid prototyping: throw something
together quickly and see if it works. The prejudice that we C-type
people hold regarding VB programming is that it encourages sloppy
development. The perjorative term that you'll see here from time to
time is "script kiddies": toss something together, try it out a few
times, then throw it to the users to see if it flies.
With the advent of VB.NET, there is little or nothing left in the
language, per se, that precludes careful, engineering-style
development. It's more the history behind the language and, as a
result, the types of programmers who are attracted to it (out of
familiarity) that continue its fast-and-loose reputation.