This question already has an answer here:
I'm a software engineer at a small manufacturing firm writing custom software for the company to use in various areas, from the assembly line to managing documentation. We have a large number of software systems that have been built over the years by my manager, an electrical engineer by trade. He's had very limited formal training in computer science and in software development, and is not up to date on most of the trends in the industry. The rest of the systems have been built by their only in-house production software programmer, who also has had not formal training in software development. Since most of their systems have been built by "shooting from the hip" and without regard to things like source control, software project management, or other conventions, the code base can be very obfuscated and difficult to work with. It's basically a black box - it works, but I have no idea how. All development has thus far been done in VB.NET.
A little about me: I'm a rising 4th year CS student, who's working here as part of a co-op program at my institute - basically an extended internship that lasts 3 semesters. I'm not exactly a normal full-time employee, but I have a lot of the same kinds of responsibilities as a full time employee. And, I am honestly the most knowledgeable person at the company when it comes to computer science and software engineering concepts. This isn't to brag about how much I know, which is admittedly very little as I'm still an undergrad, but to note that software development is just now becoming a bigger priority for my company. My manager and the in-house dev know this, and put a lot of stock in my ideas since they know I've got the formal training that they're looking to bring to the team.
All of this context to say - how should I approach suggesting to my manager that we switch to C#?
The main reason that my manager gave for using VB is that it's easier to write in/use, but actually for most developers nowadays a C-like language would be easier to catch on to, as schools mostly teach C-like languages. In addition, VB is one of the most disliked languages out there. The management has expressed interest in really increasing the quality of software produced at our company, which means hiring more engineers. Using such a poorly regarded language is a liability, in my eyes, that will keep us from attracting the best talent.
I'd like to be a part of bringing this company into the modern day, but I'd like to do it in a way that doesn't hurt anyone's feelings or make anyone feel old-fashioned, or come across as condescending. Halp!
Edit: Just to be clear, I'm not looking for help about the merits of one programming language vs. another, but rather on having the conversation with my manager about changing technologies from something he's familiar with to something that's not his forte. Thanks!