• Buradasın

    C# Dilinin Tarihçesi ve Asenkron Programlama Eğitimi

    youtube.com/watch?v=GItSY7rS9GQ

    Yapay zekadan makale özeti

    • "Yazılım Hocası" tarafından sunulan "ASPDA 101" eğitim serisinin bir parçası olan bu görsel eğitim videosu, C# dilinin tarihçesini ve modern programlama özelliklerini anlatmaktadır.
    • Video, C# dilinin farklı sürümlerindeki gelişmeleri kronolojik olarak ele alarak başlıyor ve ardından C# 4.0 ve 5.0 versiyonlarında eklenen önemli özelliklere odaklanıyor. İçerikte dinamik veri bağlama, isimlendirilmiş ve seçimli parametreler, kovaryans ve kontravaryans özellikleri, çağıran bilgisi öznitelikleri gibi konular örneklerle açıklanıyor. Ayrıca C# 5.0'da asenkron programlama için kullanılan "async" ve "await" anahtar kelimelerinin nasıl çalıştığı, web servisinden veri çekme ve işleme örneği üzerinden adım adım gösteriliyor.
    • Eğitim, C# 4.0 ve 5.0 versiyonlarındaki yeni özelliklerin özetlenmesiyle sonlanıyor ve modern programlama yaklaşımlarını destekleyen C# dilinin gelişimini gösteriyor.
    C# Tarihçesi
    • Bu eğitim, ASP.NET 101 isimli eğitim serisinin bir parçası olan C#'ın tarihçesi bölüm dört başlıklı konuyu ele alıyor.
    • C# 10'da ana konu geliştirilen ve yönetilen kod iken, C# 20 ile birlikte dile özgü yapılar eklenmiştir.
    • C# 30 ile birlikte dile bütünleşik sorgulama (Language Integrated Query - LINQ) ilave edilmiştir ve XML veritabanı veya nesneleri dille bütünleşik sorgularla sorgulanabilmektedir.
    00:50C# 40 ile Gelen Yenilikler
    • C# 40'ın temel amacı dinamik programlamadır ve "dynamic" anahtar kelimesi sayesinde Python, Ruby ve JavaScript ile üretilen nesnelerin C# tarafında son bağlayıcı Cihan Led Aydın ile ele alınması mümkündür.
    • "Dynamic" anahtar kelimesi, var anahtar kelimesinden farklıdır ve sistem.object sınıfının bir kısaltmasıdır.
    • Object sınıfının içerisinde her türlü veri tipi atayabilirsiniz, ancak tip güvenli olmadığı için çalışma zamanı hatalar oluşabilir.
    01:35Dinamik Veri Bağlama
    • Dinamik nesneler sayesinde dinamik programlar tam destek verilmektedir.
    • C# 4 versiyonu ile beraber dinamik tipli nesneler, nesne tiplerinin derleme zamanı yerine çalışma zamanında belirlenmesidir.
    • Dinamik anahtar kelimesi, derleyiciye tanımlanan nesnenin tipinin derleme zamanında değil de dinamik çalışma zamanı olarak belirlenebileceği bildirilmektedir.
    04:55Optional Parameters
    • Optional parameters (isimlendirilmiş ve seçimli parametreler) özelliği, sınıfların yapıcı metotlarındaki parametrelere isim verebilme ve bazı parametreleri opsiyonel bırakabilme imkanı sağlar.
    • Seçimli parametre özelliği, metot çağrımında seçimli parametre oluşturmamıza olanak sağlamaktadır.
    • İsimlendirilmiş parametre özelliği, metot çağrımında artık parametre isimlerini yazarak göndermemizi sağlar ve parametreler artık metot imzasındaki sırayla göndermek zorunda değildir.
    07:59Kovaryans ve Kontravaryans
    • C# 40 ile beraber gelen covariance (kovaryans) özelliği ile jenerik delegeler ve arayüze tanımlanabilmektedir.
    • Kovaryans özelliği, tanımlanmış olan bir jenerik parametreden daha alt tipteki sınıfları göndermemize olanak sağlar.
    • Kontravaryans özelliği ise tanımlanmış bir jenerik parametreden daha üst tipteki sınıfları göndermemize olanak sağlar.
    10:32C# 50 ile Gelen Özellikler
    • C# 50 ile dile kazandıran önemli iki özellik vardır: caller-by-ref (çağıran bilgisi öznitelikleri) ve asenkron metodlar.
    • Caller-by-ref öznitelikleri sayesinde kendisini çağıran ile ilgili bilgileri ulaşabilmektedir.
    • Caller-by-ref özniteliklerinde üç farklı özellik bulunmaktadır: caller.MethodName, caller.FilePath ve caller.LineNo.
    13:19Asenkron Programlama Kavramı
    • C50 ile gelen asenkron programlama özellikleri, eski versiyonlarda yapamadığımız yeni bir şey sunarak işimizi kolaylaştırıyor.
    • Asenkron programlama, çoklu iş parçacıklı (paralel) programlamadan farklı olarak, uzun zaman alacak işlemler sırasında programın kullanılmaz halde beklemesinden ve kullanıcının başka işlemler yapabilmesine imkan sağlamak amacıyla kullanılır.
    • Örneğin, bir butona basıldığında web servisinden veya veritabanından büyük miktarda veri çekip işleyip sonuç üretmek gibi uzun süren işlemlerde asenkron programlama tekniği kullanılabilir.
    14:25C50'de Asenkron Programlama Kullanımı
    • C50'de paralel programlama ile gelen iki anahtar kelime vardır: "async" ve "await".
    • "Async" kelimesi, metotta asenkron çalışma olacağını ve "await" anahtar kelimesinin en az bir kere kullanılacağını belirtir.
    • "Async" ile çalıştırılan komut veya metot, Common Language Runtime tarafından çalıştırıldığı an itibariyle içinde bulunduğu metottan geri döner ve program normal çalışmasına devam edebilir.
    15:22Asenkron Programlama Örneği
    • Örnek kodda, "async" anahtar kelimesi ile tanımlanan metodun içinde iki farklı noktada "await" kelimesi kullanılmıştır.
    • "Content = new MemoryStream()" satırında karşı taraftan gelen bilgiler "content" isimli değişken içerisine atılır.
    • "GetResponseAsync" metodu çalıştırıldığında, var olan metottan çıkılır ve bu metodun çalışması bitene kadar program normal çalışması devam eder.
    18:43Asenkron Metotların Çalışma Mantığı
    • Asenkron metotun işi bittiği anda, metod hemen bir sonraki komuttan çalışmasına devam eder.
    • İkinci "await" komutuna geldiğinde, çalışmaya tekrar ara verilir ve kullanıcı farkına varmadan gelen veri arka planda kopyalanmaya başlar.
    • Kopyalama işlemi tamamlandıktan sonra, metod bir alt satırdan çalışmasına devam eder ve metodun çalışması sonlandırılır.
    19:39C50'nin Diğer Özellikleri ve Kapanış
    • Bu eğitimde C40 ve C50 versiyonlarında dile gelen yeni özellikleri incelenmiştir: dinamik programlama, isimlendirilmiş opsiyonel parametreler ve delegelerdeki kontrol durumları.
    • C50'nin en önemli özelliği olan asenkron programlama, çok sıklıkla kullanılacak bir özellik olarak vurgulanmıştır.
    • İzleyicilerden Facebook grubuna üye olmaları, resmi Facebook sayfasını beğenmeleri ve soru-cevap kısmında sorularını sormaları istenmiştir.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor