Standart kitaplık - Standard library

Bir standart kitaplık içinde bilgisayar Programlama ... kütüphane bir Programlama dili. Bu kitaplıklar geleneksel olarak şu şekilde açıklanmaktadır: programlama dili özellikleri; ancak, bir dilin ilgili kütüphanesinin içeriği, bir dil topluluğunun daha gayri resmi uygulamalarıyla da (kısmen veya tamamen) belirlenebilir.

Genel Bakış

Bir dilin standart kitaplığı, çoğu zaman dilin bir parçası olarak değerlendirilir. kullanıcılar ancak tasarımcılar onu ayrı bir varlık olarak görmüş olabilir. Birçok dil spesifikasyonu, tümünde mevcut olması gereken bir çekirdek set tanımlar. uygulamalar isteğe bağlı olarak uygulanabilen diğer kısımlara ek olarak. Bu nedenle bir dil ile kütüphaneleri arasındaki çizgi dilden dile farklılık gösterir. Aslında, bazı diller, belirli sözdizimsel yapıların anlamlarının, çekirdek kitaplığa atıfta bulunmadan tanımlanamayacağı şekilde tasarlanmıştır. Örneğin, Java, bir dize değişmezi java.lang.String sınıfının bir örneği olarak tanımlanır; benzer şekilde Smalltalk anonim bir işlev ifadesi (bir "blok"), kütüphanenin BlockContext sınıfının bir örneğini oluşturur. Tersine, Şema dilin geri kalanını kütüphane makroları olarak inşa etmeye yetecek çok sayıda tutarlı alt küme içerir ve bu nedenle dil tasarımcıları dilin hangi bölümlerinin dil yapıları olarak uygulanması gerektiğini ve hangilerinin bir kitaplığın parçaları olarak uygulanması gerektiğini söyleme zahmetine bile girmezler. .

İçindekiler

Standart kitaplıklar tipik olarak yaygın olarak kullanılan algoritmalar için tanımları, veri yapılarını ve girdi ve çıktı mekanizmalarını içerir. Ana dil tarafından kullanıma sunulan yapılara bağlı olarak, standart bir kitaplık şunları içerebilir:

Çoğu standart kitaplık, en azından aşağıdaki yaygın olarak kullanılan tesislerin tanımlarını içerir:

Felsefeler

Standart kütüphane tasarımının felsefeleri çok çeşitlidir. Örneğin, Bjarne Stroustrup, tasarımcısı C ++, yazıyor:

Standart C ++ kitaplığında ne olması gerekir? İdeallerden biri, bir programcının bir kütüphanede her ilginç, önemli ve makul derecede genel sınıfı, işlevi, şablonu vb. Bulabilmesidir. Ancak, buradaki soru, "İçinde ne olması gerektiği biraz kütüphane mi? "ama" Kitaplıkta ne olmalı standart kütüphane? "" Her şey! "cevabı, bir önceki soruya verilecek bir cevaba makul bir ilk yaklaşımdır, ancak ikincisi değildir. Standart bir kütüphane, her programcının ona güvenebilmesi için her uygulayıcının sağlaması gereken bir şeydir.[1]

Bu, yalnızca "her programcının" büyük bir yazılım koleksiyonu oluştururken makul bir şekilde gerektirebileceği yapıları içeren nispeten küçük bir standart kitaplık önermektedir. Bu, içinde kullanılan felsefedir. C ve C ++ standart kitaplıklar.

Aksine, Guido van Rossum, tasarımcısı Python, standart kitaplığın çok daha kapsayıcı bir vizyonunu benimsemiştir; Python eğitiminde şöyle yazıyor:

Python'un "piller dahil" felsefesi vardır. Bu, en iyi, daha büyük paketlerinin gelişmiş ve sağlam yeteneklerinde görülür.[2]

Van Rossum, işleme için kitaplıkları listelemeye devam ediyor XML, XML-RPC, e-posta iletileri ve yerelleştirme, C ++ standart kitaplığının atladığı özellikler. Bu diğer felsefe genellikle komut dosyası dilleri (de olduğu gibi Python veya Yakut ) veya a kullanan diller sanal makine, gibi Java ya da .NET Framework Diller. C ++ 'da, bu tür tesisler standart kitaplığın bir parçası değildir, bunun yerine diğer kitaplıklardır. Boost.

Standart kitaplık örnekleri

Referanslar

  1. ^ Bjarne Stroustrup. C ++ Programlama Dili. 3. Baskı Addison-Wesley, 1997
  2. ^ Guido van Rossum. [1].