C DİYE DİL Mİ OLUR?

C DİYE DİL Mİ OLUR?

  • 9 Ay önce yazıldı
  • Dil Sakinleri
  • 214
  • 5 dk da okunabilir

1970'li yıllarda Bell Labs'de Dennis Ritchie tarafından geliştirilen C dilinin tarihçesi, bilgisayar dünyasında bir devrim niteliği taşımaktadır. Dennis Ritchie, kısaca; 1983’te Turing Ödülü’nü ve 1999’de Ulusal Teknoloji Madalyası ödüllerini alan Amerikan bilgisayar bilimcisidir.

C dilinin doğuşu, Unix işletim sistemi için ihtiyaç duyulan esnek ve taşınabilir bir dil arayışından kaynaklanmaktadır.

Peki nedir bu Unix işletim sistemi? Unix, çok kullanıcılı ve çok görevli bir işletim sistemidir ve aynı zamanda bu işletim sistemini temel alan bir aile adıdır. Açık kaynaklı olması sayesinde farklı varyasyonları türemiştir. Açık kaynak kısaca kullandığınız programların kodlarına erişebilip istediğiniz değişiklikleri yapabilme özelliğidir. Örneğin Windows işletim sistemi açık kaynak değildir. Microsoft (yapan firma) sizi kısıtlar ve sadece onların izin verdiği işler yapabilmenize izin verir.

C dili günümüz bilgisayarlarının çalışma prensiplerine en çok etkisi olan dildir. Ağ yapısı, veri tabanı sistemleri, web sunucu gibi daha temel seviye dediğimiz işlerde kullanılmıştır. Farklı platformlarda sorunsuz çalışması, doğrudan bellek erişimi sunarak yüksek performanslı dil olması kullanım yelpazesinin geniş olmasındaki en büyük etkenlerdir.

Sütten Çıkma Ak Kaşık Mı Peki?

Her dilde olduğu gibi C dilinin de bazı eksileri bulunmaktadır. Başlıca eksi yanları;

* C dilinde bellek yönetimi programcılara bırakıldığından, özellikle deneyimsiz geliştiriciler için bellek sızıntıları ve taşmalar gibi sorunlar ortaya çıkabilir.

* Standart kütüphanenin sınırlamaları, bazı modern dillerin sunduğu zengin veri yapılarına ve işlevselliğe kıyasla sınırlıdır. Bu durum, geliştiricilerin belirli görevleri gerçekleştirmek için daha fazla çaba sarf etmelerine neden olabilir.

* Kullanıcı girişli programlarda çeşitli güvenlik açıklarının/sorunlarının çözümünde ekstra çaba sarf etmek gerekmektedir.

...

İnsanlar, nesiller boyunca gen aktarımı yoluyla bilgi ve deneyimlerini gelecek kuşaklara aktarırken, teknolojide de benzer bir mirasın nesilden nesle aktarıldığına şahit olmaktayız. Dünya genelinde yaygın olarak kullanılan bir dilin olması, kültürel çeşitliliği ve bilgi paylaşımını teşvik etmiştir. Ancak, bu geniş kullanımın ortaya çıkardığı farklı ihtiyaçlar, yazılım dünyasında çeşitli çözümlerin ortaya çıkmasına neden olmuştur.

Bu bağlamda, yazılım dilleri çeşitlenmiş ve belirli ihtiyaçlara yönelik olarak geliştirilmiştir. Örneğin

· C++ : C dilinin özelliklerini kullanarak nesne yönelimli programlamaya yöneliktir.

· C# : Microsoft firması tarafından Microsoft teknolojilerini senkronize etmek için oluşturulmuştur.

· Go : Google tarafından geliştirilen bir programlama dilidir. Hızlı derleme süreleri, etkili paralelleştirme yetenekleri ve basit sözdizimi gibi özelliklere odaklanır.

· Rust : Mozilla tarafından geliştirilen bir sistem programlama dili olarak ortaya çıkmıştır. Hedefleri arasında hafıza güvenliği, çoklu programlamaya izin verme ve yüksek performans yer alır.

· Swift : Apple tarafından geliştirilen ve Objective-C'nin yerine geçmeyi amaçlayan bir programlama dilidir. Özellikle iOS, macOS ve watchOS uygulamaları için tasarlanmıştır.

“Nası yaa, yazılım dilinin oluşturulması için başka bir yazılım diline ihtiyaç duyuluyorsa ilk yazılım dili nasıl oluştu?” diyorsanız bir önceki sayımızı kesinlikle okumalısınız. Uzun yıllar süren bu serüveni sizler için özetlemiştim.

Yukarıda tanımını verdiğim/vermediğim terimleri burada tekrar toplarmak istiyorum.

Açık Kaynak Kod: Bir yazılımın kaynak kodunun kamuya açık ve erişilebilir olması anlamına gelir. Örneğin okulunuz için PowerPoint üzerinden bir sunum hazırlıyorsunuz diyelim. Microsoft ürünü olan programın özgürlüğü kısıtlıdır. Firmanın size sunduğu şeylerin dışına çıkamazsınız. Ama bu programın açık kaynak türevlerinde bu böyle değildir. Örneğin programa farklı bir buton ekleyebilir ve o butona görev atayabilirsiniz veya olan özellikleri değiştirebilirsiniz.

Dil Kütüphanesi: Kendini sürekli tekrar eden işler için oluşturulmuş hazır kodlardır. Basitçe anlatmak gerekirse toplama işlemini ele alalım. Toplamayı ilkokulda nası öğrettiler? 1+2 diyelim. Önce 1 elma çizdiler sonra yanına 2 elma ve hepsini 1,2,3 diye saydık. Bu işlemi her seferinde uzun uzun bilgisayara yaptırmak gereksiz bellek işgaline ve maliyetin artmasına neden olur. Ama bunu matematik kütüphanesi adı altında diğer işlemlerle birlikte aynı çatı altında toplarsak sadece fonksiyonu kullanmak kalır.

Bellek Yönetimi: Kısaca sizin klasörler halinde düzenlediğiniz bilgisayarın arka plandaki hafıza hangi kodda yer aldığı olarak tanımlanabilir.

Ağ Yapısı: Bilgisayar ağlarının kendi içinde haberleşme sistemidir. Pek çok ağ çeşidi vardır. Ağa bağlanan bilgisayarlar kendi protokolleri ile haberleşir.

Protokol: Bilgisayara verilmiş haberleşme kuralıdır. Neyi, nasıl, ne şekilde yapacağı kurallar bütünüdür.

Bu haftalık bu kadar olsun. Umarım sizleri sıkmamışımdır. Herkesin konuştuğu şeylere sizler de yabancı kalmayın istiyorum. Hatta bu bilgilerle ortamda hava bile atabilirsiniz :) . Bir sonraki yazımızda görüşmek üzere.

Yazar Ekibimizden: Enis ÖZGÜR

happy 4
in_love 3
lol 2
silly 3
Angry 1
crazy 1
cry 1
not_sure 1
omg 1
sad 1
Yorumlar
Yorum Yaz
Kodlattir.com