Tom,
Tom Leylan said:
Okay then I'm confused. Could you put it into a few sentences so we can
understand why (according to Cor) it is so much faster to write in VB.Net
and according to others it is easier and to others still it is as powerful
and the developers can be had for less money... uh, why is that there is a
perception that C# is used in corporate development rather than VB.Net?
I am not Cor and I do not often share his position. In a professional
environment there are much more points which have to be considered when
choosing a certain programming tool (language, library, IDE, ...) than the
number of keystrokes necessary for a certain operation or the charge for a
developer per hour. For example, existing source code, language/library
stability of the language/library vendor, support for the product by the
vendor, maybe language/library standardization, and many other factors
require awareness.
Personally I do not have any numbers about which programming
languages/libraries are used in which percentage of companies. Recently
Forrester Research published a new study
(<URL:
http://www.forrester.com/Research/Document/Excerpt/0,7211,41746,00.html>)
which is unfortunately only available for money. The numbers shown in the
study I heard (I did not buy the study) are that Java and VB.NET are used
almost equally, followed after a huge gap by C#, which is directly followed
by VB6. I know the actual numbers shown in the study but I won't publish
them here.
Nevertheless, that's only a study and all of us know that studies can be
flawed.
Let's turn the thread into something positive for once... what criteria
should a company use to determine whether to convert an existing project
to
C# or to VB.Net? Are these similar or different than if they are starting
a
new project?
There are many factors (just some that come in my mind):
* Existing projects and their future (only maintenance and
extension of existing projects, development of new projects, etc.).
* Experience of the developers in the company (depending on
the company's structure).
* Standardization of programming languages, libraries, and tools.
* Qualitative measures of the programming languages, libraries,
and tools compared to each other (e.g. provided features, etc.).
* Quantitative measures of the programming languages, libraries,
and tools compared to each other (e.g. completeness of libraries,
stability, security, time required for certain common jobs, etc.)
* Language, library, and tools stability in the vendor's history.
* Support the language, library, and tools vendor offers.
* Availability of other vendors' libraries, tools, etc. which may
be required.
* Cost of development, maintenance, and support.
* ...
Some of the points are referred to as TCO.