Transitioning from programming language to programming language is no easy feat, even for those who have been doing it for quite some time. It's no secret that a versatile programmer should know at least a half dozen or so programming languages to be efficient (I will count HTML and CSS as separate languages for this discussion). As a web developer, I started out by learning HTML and CSS through the use of Microsoft Frontpage (now Microsoft Expressions). I would use pre-built templates and took full advantage of the WYSIWYG (What You See Is What You Get) functionality of the tool. At the time I had no idea of the true strength of what I was building. For about three years, I kept to this mantra of developing sites via an easy to use interface without thinking or worrying about the behind the scenes functionality. Of course, that would change when I wanted to really see what was going on.
Upon being hired with Presence Health, I had to transition to a new territory, Microsoft .Net. My familiarly with VB and C# is quite minimal, though I have the background to understand what is going on and how to accomplish the task at hand. Remember, concepts stay the same while syntax changes between programming languages. Of course, there are also additional built in functions and providers which help distinguish a given language's capabilities. Within the realm of .Net the learning curve is about the comprehension of object oriented functional programming. I have elected to use C# for it's recent growth in popularity and general acceptance over VB.Net. The challenges in learning ASP.Net with TSQL vs PHP MySQL can be quite staggering even with similarities. Each language has it's own nuances that help make it more powerful than the competition (ie: C# vs PHP or MySQL vs TSQL). Thus far, I have enjoyed my time with ASP.Net and look forward to the future, even with the large number of challenges up ahead.