Ezért választottam a C#-ot elsődleges programnyelvként
Bár már több, mint 20 évvel ezelőtt a Pascallal kezdtem programozói tudásom gyarapítását, később sok időt töltöttem el PHP tanulással és használattal is. Később Delphi, még később pedig a C# és a Java is bekerült az ismert nyelvek közé. Aztán nemcsak körvonalazódott, hanem konkrétan meg is határoztam a programozói továbbmenetelemet azzal, hogy a PHP és C# kivételével szép lassan lemorzsolódott. Maradt webes projektekre a PHP, míg - akkoriban - Windows desktopra a C#.
Aztán jött a .NET Core és az ASP.Net Core, amivel egycsapásra új útvonalat jelöltem ki: a Microsoft, bár már az elejétől fogva annak szánta, végre platformfüggetlenné tette a saját programozói ökoszisztémáját. Innentől kezdve nem volt szükség külön programnyelvekre a különböző feladatok megvalósítására, ezt mind egyben tudta a C# is.
Így innentől kezdve már nemcsak Windows-os alkalmazások, hanem Linux és Linuxon is hostolható webappok is megvalósíthatók lettek egyetlen, teljes körű, rendkívül erős nyelv használatával.

Miért a C#?
Sok oka van, hogy miért választottam pont a C#-ot.
Erős és hatékony
Mögötte áll a teljes .NET framework, rendkívül sok beépített és gyarkorlatilag megszámlálhatatlan külső libraryvel. A szemétgyűjtő (garbage collection) hatékonnyá és erőforráskímélővé teszi, legyen szó pár soros minialkalmazásról, vagy egy teljes rendszerbe szerveződő programrendszerről.
Objektumorientált
A C# objektumorientált, így nagyon jól szervezhetők a nagyobb projektek is, rendkívül egyszerűbbé válik fejleszteni, karbantartani vagy a hibákat detektálni.
Cross-platform
Igen, ez elég erős érv volt a mellett, hogy ne legyen többé szükségem más programnyelvre. A C# végre platformfüggetlen, ahogy azt az eredeti kiadáskor szerette volna a Microsoft. Lopva a Java alapötletét, igaz itt is az írd meg egyszer, futtasd bárhol.
Open-source
Azzal, hogy a nyelv nyílt lett, felgyorsult és kiterjedt a fejlesztése, semmi sem szabhat határt annak, hogy egy tényleg bármilyen projekt megvalósítható legyen vele.
Típusbiztos
A PHP-vel vagy a Pythonnal szemben a C# típusbiztos, így extrém módon biztos a futása és gyerekjáték a hibakeresés is. Nincsenek nem várt típuskonverziókból fakadó felderíthetetlen hibák.
LINQ
A LINQ (Language Integrated Query) egyszerűen zseniális. Ha adatok kezeléséről, szűréséről, osztályozásáról van szó, a LINQ az adat forrásától függetlenül képes arra, amit eddig egyetlen más programnyelvben sem láttam.

Mire használható a C#?
Gyakorlatilag bármire, de mégis, néhány feladattípusban igazán kiemelkedik, sőt, van ahol egyértelműen piacvezető.
- Webappok: Az ASP.NET Core, a Razor Pages, az MVC framework mind tökéletessé teszik abban, hogy bármilyen jellegű webappot készíthessünk. Ami futhat Windows, de Linux szerveren is. ASP.NET-ben íródott többek között a StackOverflow, a LinkedIn vagy a Tripadvisor is, csak hogy néhány nagyágyút említsek.
- Desktop appok: persze nem meglepő, ez volt az eredeti célja a C#-nak, így természetesen megmaradt továbbra is fő csapásiránynak, bár ezen a területen leginkább Windowson brillírozik.
- Játékok: Windows és Xbox. Vajon mi más nyelvet használnának ezen, a játékok terén nagy területet lefedő két platform játékainak fejlesztésére?
- Enterprise: talán nem is igazán van olyan - szóló - nyelv, ami a nagy programrendszerek fejlesztését önállóan is tökéletesen kiszolgálja.
Bár messze nem a C# a legkönnyebben tanulható programozási nyelv, hiszen például a Python-t az egyszerűbb szintaxisa miatt könnyebben és gyorsabban el lehet sajátítani, de mégis a leguniverzálisabbnak nevezném. A programnyelvek között soha nincs olyan, hogy "legjobb", de létezhet olyan, hogy az adott célnak a legjobban megfelelő, vagy az adott programozó szemszögéből a legjobb. Az elmúlt közel két és fél évtized alatt megtaláltam azt az egyet, ami nálam kivált minden mást. Hogy ez hosszútávon is be fog-e válni... nos, egy-két évtized múlva erről is írok majd egy posztot.