No to może ja odniosę się trochę dokładniej do pytania a nie do bezsensownych wywodów ...
Programowałem w PHP - przez jakiś czas pracowałem w średniej firmie która zajmowała się wieloma projektami "rządowymi". Czułem, że PHP to "nie do końca to" dlatego z pracy zrezygnowałem i zacząłem grzebać w innych technologiach. Od C i embedded przez C++ pythona, rubego następnie Java, no i po zmaganiach z Javą która strasznie mnie "brzydzi" wpadłem na C#. Na początku oczywiście wielki dylemat "kurde, przecież to podpisywanie cyrografu z Microsoftem" - tak też było. Lecz w tym samym czasie zaczęły się pojawiać bardzo ciekawe nowinki na temat technologii .NETowych np Xamarin, stopniowe otwieranie kodu i współpraca z projektem Mono. Po tym jak mój wybór jednak padł na .NET i C# zacząłem się zastanawiać "co chcę robić". W zasadzie od gówniarza ciągnęła mnie WEBDeveloperka, ale próbowałem swych sił w aplikacjach mobilnych i desktopowych (nawet byłem na jakimś Hackatonie organizowanym przez MS). Mimo wszystko jakoś do mnie to wszystko nie trafiało (chyba szczególnie to, że korzystanie z tego typu aplikacji nie odbywa się tak "mimowilnie" i szybko jak korzystanie z apliakcji webowych). W tym momencie od około roku programuje w ASP.NET i jestem cholernie zadowolony.
ASP.NET oferuje bardzo dużo, ale żeby aż tak nie słodzić, bardzo dużo mu też brakuje i trzeba szukać jakiś rozwiązań open-sourcowych albo pisać własne. Dlaczego uważam że jest lepszy niż PHP ?
-brak tendencji spadku (tak, tak, nikt nikogo nie oszuka, ludzie odchodzą od PHP)
-silne typowanie
-wydajność
-ma za sobą giganta który wykłada na niego kasę i bardzo szybko rosnące community
-nie jest tak "tani" jak PHP dzięki czemu obserwujemy tu mniejszą ilość gówno-programistów.
-szeroki wachlarz zaje*istych technologii i możliwości któe dostajemy out-of-the-box SignalR, WebAPI
-z jednej strony szacunek w gronie akademickim, z drugiej pogarda ze strony niskopoziomowców

-NO I TO CO NAJWAŻNIEJSZE, cudowna składnia C# i przyjemność pisania.
-jako gratis można dodać jeszcze cudowne VS Community, dzięki czemu wydajesz kasę tylko na ReSharpera + ewentualnie inne świetne dodatki ze stajni JetBrainsów

Jeśli chodzi o samo obeznanie się z językiem. To powiem tak jak koledzy wcześniej. Trzeba być programistą a nie np "PEHAPOWCEM". To że nauczysz się składni C# i zapamietasz jak działa np ASP.NET MVC na pamięć, nie oznacza, że będziesz tworzył świetne programy. Dla mnie największym "kopem" było pisanie aplikacji w ANSI C gdzie zgarnąłem trochę pokory i nauczyłem się trochę niejako myśleć kodem

Pozdrawiam

@UP !*! Twój podpis zawsze mnie intrygował... W końcu "nowego" programu w Javie nie odpalisz na starej maszynie, tak samo jest z C#...