If you are looking for a programming position, chances are that you will be required to have x years of experience in language y.
A friend of mine who has many years experience in Java and C# was recently turned down for a job which requires VB.Net programming experience.
hat is the real difference? People may argue that while C# and Java might be similar syntactically, the libraries behind them and the GUI programming are drastically different; VB.net and C# on the other hand might be similar in terms of the class libraries they use, they are syntactically complete two different beasts…
In my opinion, the differences among the different languages are quite superficial. While it is true that a person who used a particular language before and thus “knows” the language will likely be able to be put into action faster then a person who does not know that language particularly, after the initial couple of months of learning the difference between the two should disappear given that the person who did not know the language has thorough knowledge in some other languages. After all, just consider how young the computer software industry really is and how many different languages had appeared during the past thirty years. It might take some time to learn many of the library functions in a new language, but learning its syntax and core can be done within weeks.
To me, computer languages can be roughly divided into three categories: Assembly, procedural and object oriented. Moving from one category from another category (except from object oriented to procedural) might be slightly difficult but moving within a category (e.g. C#, Java, VB.Net) should be easy once the essence has been mastered.
Unfortunately, most of the companies’ hiring policy would argue differently. It is sad to see how a candidate is only measured by what can be seen, and the potential is often ignored. Remember, ninety percent of an iceberg is hidden under water…