{"id":13109,"date":"2022-04-19T12:54:02","date_gmt":"2022-04-19T09:54:02","guid":{"rendered":"https:\/\/kutaybilen.com.tr\/?p=13109"},"modified":"2022-04-19T12:54:02","modified_gmt":"2022-04-19T09:54:02","slug":"c-nedir-c-sharp-programlama-lisaniyla-neler-yapilabilir","status":"publish","type":"post","link":"https:\/\/kutaybilen.com.tr\/?p=13109","title":{"rendered":"C# Nedir? C Sharp Programlama Lisan\u0131yla Neler Yap\u0131labilir?"},"content":{"rendered":"<p><em><strong>C# <\/strong><\/em>yani \u00f6b\u00fcr ismiyle <strong><em>C Sharp<\/em> nedir?<\/strong> C#, Microsoft taraf\u0131ndan geli\u015ftirilen bir programlama lisan\u0131d\u0131r. Programlama lisanlar\u0131 ortas\u0131nda en \u00e7ok tercih edilen <strong>C ve C++<\/strong> ile etkile\u015fimli formda geli\u015ftirilen ve \u00e7a\u011fda\u015f bir kodlama sahip olan <em><strong>C#<\/strong><\/em>, bir\u00e7ok platform destekleyen Java lisan\u0131 ile de epeyce fazla benzerlik g\u00f6steriyor. Bu benzerliklerden en de\u011ferlisi ise <strong>.NET Framework<\/strong> platformunda nesnesel bir lisan olmas\u0131.<\/p>\n<p>C# her ne kadar evvelce C++ ve Visual Basic lisanlar\u0131ndaki tutumsuzluk ve olu\u015fan problemler y\u00fcz\u00fcnden geli\u015ftirilmi\u015f olsa da \u015fu anki stabilitesi sayesinde, bu iki programlama lisan\u0131n\u0131n \u00f6n\u00fcne\u00a0ge\u00e7mi\u015f durumda. Yaz\u0131l\u0131mc\u0131lar\u0131n en \u00e7ok tercih etti\u011fi lisanlardan birisi haline gelen C#, sundu\u011fu geli\u015fmi\u015f <strong>kusur giderme (debugger)<\/strong> \u00f6zelli\u011fi sayesinde de yaz\u0131l\u0131mc\u0131lar\u0131n i\u015flerini bir olduk\u00e7a kolayla\u015ft\u0131r\u0131yor.<\/p>\n<p>Debugger \u00f6zelli\u011fi i\u00e7in class yani s\u0131n\u0131fland\u0131rma usul\u00fc kullanan C#, &#8220;syntax&#8221; yanl\u0131\u015flar\u0131 yani dizinlerdeki yanl\u0131\u015flar\u0131 yaz\u0131l\u0131mc\u0131ya ba\u015fka bir ekranda g\u00f6stererek yaz\u0131l\u0131mc\u0131n\u0131n bu <strong>yanl\u0131\u015flar\u0131 kolay kolay tespit <\/strong>etmesini sa\u011fl\u0131yor. Ayr\u0131yeten yaz\u0131l\u0131mc\u0131lar taraf\u0131ndan epey \u00e7ok tercih edildi\u011fi i\u00e7in de internette kaynak yani C# dersleri epeyce fazla.<\/p>\n<p><b>C# i\u00e7in gereken &#8220;.NET Framework&#8221; nedir?<\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0002\/31\/9ce367bbb03197fcf09539f324f4ecc8ee594730.jpeg\"\/><\/p>\n<p><strong>C Sharp kodlar\u0131<\/strong>, C++ ve Visual Basic kodlar\u0131ndan farkl\u0131 algoritmaya sahip oldu\u011fu i\u00e7in yaz\u0131l\u0131m\u0131n kodlar\u0131n\u0131 direkt olarak derleyemiyor. C#, kodlar\u0131 yaz\u0131l\u0131m olarak iki basamakta derliyor.<strong> MIL derlemesi<\/strong> denilen bu kademelerden birincisine <strong>Assembly <\/strong>deniliyor. \u0130kinci basamaktaki uzant\u0131s\u0131 ise <strong>.EXE<\/strong> oluyor. C# ile geli\u015ftirilen bir yaz\u0131l\u0131m bu halde iken sistemler taraf\u0131ndan \u00e7al\u0131\u015ft\u0131r\u0131lamad\u0131\u011f\u0131 i\u00e7in devreye .NET Framework giriyor.<\/p>\n<p>Tekrar Microsoft taraf\u0131ndan C# i\u00e7in geli\u015ftirilen .NET Framework, Microsoft Intermediate Language (MIL) olarak derlenen kodlar\u0131 tekrar derleyerek, uygulamay\u0131 sistemlerin\u00a0yani bilgisayarlar\u0131n \u00e7al\u0131\u015ft\u0131raca\u011f\u0131 hale getiriyor. Yani k\u0131saca .NET Framework, bir cins terc\u00fcmanl\u0131k misyonu \u00fcstleniyor. <strong>C# programlama lisan\u0131n\u0131<\/strong> bilgisayar\u0131m\u0131z\u0131n anlayaca\u011f\u0131 halde \u00e7eviri ediyor.<\/p>\n<p>Pekala neden <strong>Java, Visual Basic, C++<\/strong> \u00fczere programlama lisanlar\u0131 .NET Framework\u2019e gereksinim duymuyor? Zira birtak\u0131m lisanlar kodlar\u0131 direkt olarak sistem lisanlar\u0131na \u00e7evirebiliyor, birtak\u0131m lisanlar\u0131n de kendi b\u00fcnyesinde bu i\u015fe yarayacak aray\u00fczleri var. Mesela Java lisan\u0131 kodlar\u0131 evvel byte denilen say\u0131lara \u00e7eviriyor, bu say\u0131lar\u0131 da Java Virtual Machine dedi\u011fimiz bir sanal makinede derleyip bilgisayarlar\u0131n anlayaca\u011f\u0131 hale getiriyor.<\/p>\n<p><b>C Sharp k\u0131sa tarih\u00e7esi:<\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0002\/31\/9622cb7d97020509283fe5e91e533e5274cf93a3.jpeg\"\/><\/p>\n<p>Birinci olarak <strong>Anders Heljsberg ve tak\u0131m\u0131 <\/strong>taraf\u0131ndan 2000 y\u0131l\u0131nda geli\u015ftirilmesine ba\u015flanan ve 2002 y\u0131l\u0131nda da <strong>C# 1.0<\/strong> olarak yay\u0131nlanan <strong>C Sharp programlama lisan\u0131<\/strong>, o g\u00fcnden beri Windows\u2019un dayana\u011f\u0131 ile geli\u015ftirilmeye devam ediliyor. Birinci yay\u0131nland\u0131ktan sonraki 10 y\u0131lda 5.0 s\u00fcr\u00fcm\u00fcne g\u00fcncellenen ve orta s\u0131n\u0131f olarak nitelendirilen\u00a0C#, bilhassa \u00e7a\u011fda\u015f sistemlere uygunlu\u011fu ile de yaz\u0131l\u0131mc\u0131lardan tam not alm\u0131\u015f durumda.<\/p>\n<p>\u015eu anda yeni bir algoritma mimarisi \u00fczerinde \u00e7al\u0131\u015fan Microsoft, bu sayede C# lisan\u0131na g\u00fcncellemeleri \u00e7ok daha kolay formda getirebilecek.<\/p>\n<p><b>C Sharp ile neler yap\u0131l\u0131r?<\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0002\/31\/eef958581b585a52c21af7cc7732da359d11caad.jpeg\"\/><\/p>\n<p><strong>C# programlama lisan\u0131<\/strong> ile hayal etti\u011finiz her \u015feyi yapabilir, kodlayabilirsiniz desek herhalde yanl\u0131\u015fs\u0131z olacakt\u0131r. \u00c7\u00fcnk\u00fc dizaynda ve yaz\u0131l\u0131mda hayal d\u00fcnyas\u0131n\u0131n sonu yoktur. C# programlama lisan\u0131 de en \u00e7a\u011fda\u015f lisan oldu\u011fu i\u00e7in yaz\u0131l\u0131mc\u0131lara hayalindeki her \u015feyi programlama imkan\u0131 tan\u0131yor. Pekala C# ile hangi platformlarda neler kodlan\u0131r?<\/p>\n<ul>\n<li>Web Web Uygulamalar\u0131 (Asp.NET)<\/li>\n<li>Ta\u015f\u0131nabilir uygulamalar<\/li>\n<li>Web servisleri uygulamalar\u0131<\/li>\n<li>Konsol uygulamalar\u0131<\/li>\n<li>DLL yazma<\/li>\n<li>Windows Form Uygulamalar\u0131<\/li>\n<li>Oyun tasarlama<\/li>\n<\/ul>\n<p><b>Web Web Uygulamalar\u0131 (Asp.NET):<\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0002\/31\/2250cd990e6c0e09a6b1ccc60851db59ca25f863.jpeg\"\/><\/p>\n<p><strong>C# ile Asp.NET<\/strong> yaz\u0131labildi\u011fi i\u00e7in web dizaync\u0131lar da \u00e7oklukla bu lisan\u0131 kullan\u0131yorlar. Asp.NET kullan\u0131larak olu\u015fturulan bir web uygulamas\u0131 i\u00e7erisinde onlarca Asp.NET web uygulamas\u0131 bar\u0131nd\u0131rabilece\u011fi i\u00e7in C# ile kodlamak hem rahatl\u0131k hem de uygulamalar\u0131 derleme a\u00e7\u0131s\u0131ndan \u00e7ok kolayl\u0131k tan\u0131yor. <strong>.XML bi\u00e7imindeki<\/strong> bu evraklar, web sayfas\u0131 ve uygulamalar\u0131n\u0131n t\u00fcm temel ve teknik bilgilerini i\u00e7erebilir.<\/p>\n<p><b>Ta\u015f\u0131nabilir uygulamalar:<\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0002\/31\/0f15e267833798fa416e028094777d2a12f3395d.jpeg\"\/><\/p>\n<p>Her ne kadar art\u0131k <strong>Windows Phone <\/strong>kalmam\u0131\u015f olsa da tekrar de belirtmek istedik.<strong> Xamarin<\/strong> sayesinde C# programlama lisan\u0131 ile Windows Phone i\u00e7in ta\u015f\u0131nabilir uygulama geli\u015ftirebilirsiniz. Yeniden de bunu pek tavsiye etmiyoruz, zira Windows Phone&#39;un fi\u015fi \u00e7ekildi. Bir umut, Microsoft&#39;\u0131n Surface Phone ismini verdi\u011fi ak\u0131ll\u0131 telefonlar piyasada tutarsa, o vakit tekrar g\u00fcndeme gelebilir. Bir bak\u0131n, bilginiz olsun k\u00e2fi desek yeridir.<\/p>\n<p><b>Web servisleri uygulamalar\u0131:<\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0002\/31\/9756071b6ca6c8189c8256e1b1665c11fdf037fe.jpeg\"\/><\/p>\n<p><strong>C#<\/strong> ile k\u0131saca web sayfas\u0131 servisleri ile alakal\u0131 uygulamalar geli\u015ftirebilirsiniz. Bu geli\u015ftirdi\u011finiz web servis uygulamalar\u0131n\u0131 ise <strong>FTP<\/strong> yahut <strong>XML<\/strong> bilgi transferleri sayesinde <strong>web sayfa ve uygulamalar\u0131na<\/strong> aktarabilirsiniz.<\/p>\n<p><b>Konsol uygulamalar\u0131:<\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0002\/31\/232c980b66b6094c428a63f46c71b846de28aaf6.jpeg\"\/><\/p>\n<p>Bu \u00f6zellik sayesinde ise yazd\u0131\u011f\u0131n\u0131z Windows tabanl\u0131 \u00e7al\u0131\u015facak uygulama kodlar\u0131n\u0131z\u0131 <strong>CMD ekran\u0131<\/strong> sayesinde bilgisayar\u0131n\u0131za tan\u0131tabilirsiniz.\u00a0<\/p>\n<p><b>DLL yazma:<\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0002\/31\/2a2d5572363d19e6b65c3cfda7d1dfeef10f1ac9.jpeg\"\/><\/p>\n<p><strong>C Sharp programlama lisan\u0131n\u0131n DLL yazma \u00f6zelli\u011fini<\/strong> s\u00f6ylemeden evvel dilerseniz <strong>DLL nedir <\/strong>sorusunun yan\u0131t\u0131n\u0131 verelim. A\u00e7\u0131l\u0131m\u0131 Dinamic Link Library olan DLL\u2019nin T\u00fcrk\u00e7e kar\u015f\u0131l\u0131\u011f\u0131 ise dinamik kod k\u00fct\u00fcphanesidir. Pekala bu ne demek? Mesela diyelim ki C# ile bir cins yap\u0131 olu\u015fturdunuz ve bu yap\u0131n\u0131n \u00e7al\u0131\u015fabilmesi i\u00e7in ise daima kendini tekrar ederek \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 gereken bir kod sat\u0131r\u0131 var.\u00a0<\/p>\n<p>D\u00f6ng\u00fc olaca\u011f\u0131 i\u00e7in bu kod sat\u0131r\u0131n\u0131 sonsuza kadar yazamazs\u0131n\u0131z, de\u011fil mi? \u0130\u015fte burada DLL yard\u0131m\u0131n\u0131za ko\u015fuyor. Bu gereken kod sat\u0131rlar\u0131n\u0131 DLL i\u00e7ine yaz\u0131yoruz ve uygulamam\u0131z ne vakit bu kodlara gereksinim duyarsa <strong>DLL\u2019yi \u00e7a\u011f\u0131rarak <\/strong>gereken kodlar\u0131 istiyor.<\/p>\n<p><b>Windows Form Uygulamalar\u0131:<\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0002\/31\/976361eca79e30dd6cbb6fb9e9cf3a3e018927c5.jpeg\"\/><\/p>\n<p>\u0130ngilizce manas\u0131 <strong>Graphical User Interface (GUI)<\/strong> olan bu uygulamalar ise, bilgisayar\u0131m\u0131zda \u00e7al\u0131\u015facak grafik aray\u00fczl\u00fc programlara deniliyor. Yani mesela Steam bir <strong>grafik aray\u00fcz\u00fc bulunan uygulama<\/strong> oldu\u011fu i\u00e7in Windows form uygulamas\u0131 kategorisine de giriyor.<\/p>\n<p><b>Oyun tasarlama:<\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0002\/31\/542fe6d1b59873c26931e4ed9b7ab3c80efb6756.jpeg\"\/><\/p>\n<p><strong>Unity<\/strong> dahil \u00e7abucak hemen b\u00fct\u00fcn<strong> oyun motorlar\u0131 C# destekledi\u011fi i\u00e7in <\/strong>oyun tasarlamada da kullan\u0131labiliyor. Bu lisanlarla tasarlanan oyunlar\u0131n bir\u00e7ok, asl\u0131nda g\u00fcn\u00fcm\u00fczdeki tan\u0131nan oyunlar ortas\u0131nda yer al\u0131yor. Yani \u015fayet bir oyun dizaync\u0131s\u0131 olmak istiyor, g\u00f6rsel de\u011fil de i\u015fin teknik taraf\u0131n\u0131 merak ediyorsan\u0131z C Sharp bilmeniz ko\u015ful. Elbette piyasada alternatifler var. Lakin i\u015fin temeli C Sharp.\u00a0<\/p>\n<p>Evet, C Sharp hakk\u0131nda b\u00fct\u00fcn sorulara kar\u015f\u0131l\u0131k vermeye \u00e7al\u0131\u015ft\u0131k. Siz de yaz\u0131l\u0131m d\u00fcnyas\u0131n\u0131n ayr\u0131nt\u0131lar\u0131n\u0131 merak ediyorsan\u0131z, Webtekno&#39;yu takip etmeye devam edebilirsiniz.<\/p>\n<div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>C# yani \u00f6b\u00fcr ismiyle C Sharp nedir? C#, Microsoft taraf\u0131ndan geli\u015ftirilen bir programlama lisan\u0131d\u0131r. Programlama lisanlar\u0131 ortas\u0131nda en \u00e7ok &#8230;<\/p>\n","protected":false},"author":1,"featured_media":13110,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[854],"tags":[1302,1275,395,1246,938],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/posts\/13109"}],"collection":[{"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13109"}],"version-history":[{"count":1,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/posts\/13109\/revisions"}],"predecessor-version":[{"id":13111,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/posts\/13109\/revisions\/13111"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/media\/13110"}],"wp:attachment":[{"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}