İçeriğe atla

Standard kütüphane

Vikipedi, özgür ansiklopedi

Standard kütüphane, bir programlama dilinin gerçeklenimiyle birlikte sunulan kütüphanedir. Standard kütüphanenin kuralları dili açıklayan belge ile belirtilir ancak dilin evriminin yönetim modeline göre, kütüphanenin bir kısmı veya tamamı dilin topluluğu tarafından da belirtilebilir.

Bir programlama dilinin standard kütüphanesi, kullanıcı deneyiminde doğrudan rol oynar. Standard kütüphaneler, kullanıcıların fikirlerini kodla daha doğrudan ifade edebilmeleri için pek çok veri yapısını, algoritmayı, yaygın kullanılan sınıfları ve işletim sistemiyle etkileşecek giriş/çıkış fonksiyonlarını gerçekler. Bu dilin kullanımının yaygınlaştırılmasında önemli rol oynar.

Standard kütüphane tasarımında ve nelerin standard kütüphanede bulunması gerektiği konusunda farklı görüşler mevcuttur. Bazı diller oldukça geniş standard kütüphaneye sahipken, bazıları yalnızca temel yapıları bulundurur.

C++ dilinin tasarımcısı Bjarne Stroustrup şunları yazmıştır:

C++ standard kütüphanesinde neler olmalıdır? Bir ilke, programcının ilginç bulduğu, önemli ve makul derecede genel sınıfı, işlevi, şablonu vb. kütüphanede bulabilmesidir. Ancak buradaki soru "Neler herhangi bir kütüphanede olmalı?" değil, "Neler standard kütüphanede olmalı?". "Her şey!" cevabı ilk soruya verilebilecek makul bir yaklaşım olabilir ancak ikincisi için değildir. Bir standart kütüphane, bütün gerçekleyicilerin sağlaması gereken bir şeydir, böylece tüm programcılar ona güvenebilir.[1]

Bu görece küçük bir standard kütüphanenin bulundurulması anlamına gelir. C ve C++ standard kütüphaneleri geliştirilirken bu felsefeyle hareket edilmiştir.

Aksine, Guido van Rossum, Python dilinin tasarımcısı, standard kütüphanede çok daha kapsayıcı bir yaklaşım benimsemiştir ve Python tutorial'da şunları yazmıştır:

Python "pilleri içinde gelir" felsefesine sahiptir. Özelleştirilmiş ve güçlü yeteneklere sahip çok sayıda paketlerle birlikte en iyi şekilde kullanılabilir.[2]

Python standard kütüphanesi çeşitli tutucu türler (container), çizge işleme, dosya sistemi, veri sıkıştırma, network, çeşitli internet dosyalarını işleme, birim test, grafik arayüz sınıflarına ve dahasına sahipken, C standard kütüphanesi çok daha küçüktür; temel string işleme, matematik fonksiyonları, konsol tabanlı giriş/çıkış işlemlerine izin veren yapıları sağlar. Buna karşın küçük standard kütüphaneleri yeni bir platforma taşımak ve çalışır hale getirmek görece daha kolaydır.

  1. ^ Bjarne Stroustrup. The C++ Programming Language. 3rd Ed. Addison-Wesley, 1997
  2. ^ Guido van Rossum. [1].

Dış kaynaklar

[değiştir | kaynağı değiştir]