selam beyler, terminali biraz kenara birakin, bugun su meshur c sharp (c#) denilen nane ile kodlama dunyasina giris yapiyoruz. hani su microsoft’un “her sey benim olsun, her yer benim olsun” diyerek piyasaya surdugu, syntax olarak java’ya benzeyen ama ruhu biraz daha kurumsal kokan dil. madem bir yerden baslayacagiz, bari bu sistemin buglarini ogrenerek baslayalim.
c sharp nedir: kurumsal bir yalan mi yoksa guclu bir compiler mi?
simdi beyler, c# aslinda nesne yonelimli (oop) bir dil. yani her seyi bir “nesne” olarak goruyorsun. gercek hayatta da boyle degil mi zaten? sistem seni bir nesne, bir data paketi olarak goruyor, c# da ayni o hesap. arkada .net denilen devasa bir runtime (sanal makine gibi dusunun) calisiyor. yani sen kodu yaziyorsun, o once il (intermediate language) koduna donusuyor, sonra jit compiler bunu makine diline ceviriyor. yani oyle “direkt donanima hukmedeyim” fantezileriniz varsa assembly ya da c’ye gidin. burada microsoft’un cizdigi sinirlar icindesiniz.
kurulum: visual studio hantalligi
bu dili ogrenmek istiyorsan gidip o 30-40 gb’lik visual studio canavarini kurmani istiyorlar. bilgisayar resmen kernel panic verecek gibi oluyor kurarken. ayni su windows guncellemeleri gibi; bekletiyor da bekletiyor. ama biz ne yapıyoruz? eger biraz sistem bilinciniz varsa vs code kurup hafiften yolumuza bakiyoruz. sistemi yormaya gerek yok, zaten dunya yeterince hantal.
degiskenler ve veri tipleri: sistemdeki yerin ne?
c#’ta her seyin bir yeri, bir tipi var. oyle python’daki gibi “ben takiliyorum abi” diyemezsin.
int: tam sayilar. senin sistemdeki sicil numaran gibi.
string: metinler. yandas medyanin attigi o bos mansetler gibi uzun ve anlamsiz olabilir.
bool: ya dogru (true) ya yanlis (false). yani ya sisteme dahilsin ya da degilsin, ortasi yok.
kodun ilk satiri: console.writeline(“merhaba dunya”);
klasik… ama biz buna “sisteme ilk sizma denemesi” diyelim. ekrana bir sey yazdirmak kolay, asil mesele o yazdigin seyin arkasindaki mantigi oturtmak. compiler senin hatani aninda suratina carpar; “surada noktali virgul unutmussun hiyar” der gibi altini kirmiziyla cizer. ayni su “guven adasi” diyenlerin yalanlarini yakalayan log kayitlari gibi…
sonuc: ilk derleme basarili (mi?)
c# gucludur, arkasinda devasa bir destek var ama ayni zamanda seni microsoft’un ekosistemine hapseder. egitimin ilk bolumunde sadece kapiyi araladik. degiskenleri tanimladik, compiler’in nefesini ensemizde hissettik.
sudo apt-get purge c-sharp-prejudice
neyse, bu kadar “kurumsal” hava yeter. bir sonraki derste su if-else bloklarina girip, sistemin karar mekanizmalarini nasil manipule ederiz ona bakariz. terminalde kalin, compiler’i kizdirmayin.