İçeriğe atla

Standard kütüphane

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.

Görüşler

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.

Kaynakça

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

Dış kaynaklar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">C♯</span> programlama dili

C#; Microsoft tarafından .NET Teknolojisi için geliştirilen modern bir programlama dilidir. Sözdizimi C-like bir deneyim sunar.

<span class="mw-page-title-main">C++</span> bir programlama dili

C++, Bjarne Stroustrup tarafından 1979 yılında Bell Laboratuvarları'nda geliştirilmeye başlanmış, C'yi kapsayan ve çok paradigmalı, yaygın olarak kullanılan, genel amaçlı bir programlama dilidir.

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

İlk olarak HP tarafından geliştirilmeye başlanan, daha sonra C++ standardına dahil edilen generic programlama modeliyle geliştirilmiş kütüphanedir. Daha çok STL şeklinde kısa ismiyle anılır.

<span class="mw-page-title-main">Assembly</span> uygulanan işlemlerle programlama dilinin birbirine çok yakın olduğu düşük seviye programlama dilleri

Assembly dili, bir işlemcinin komut kümesi üzerine tanımlanmış alt seviye bir dildir. Assembly dili kolay hatırlanabilir semboller tanımlar ve böylece işlemcinin makina koduna karşılık gelen sayı dizilerinin bilinmesine gerek kalmaz. Assembly dili, platformdan bağımsız yüksek seviyeli programlama dillerinin aksine, işlemci mimarisine bağımlıdır. Tipik uygulamaları; cihaz sürücüleri, alt seviyeli dahili (embedded) ve gerçek zamanlı sistemlerdir. Bır assembly programı assembler kullanılarak makine koduna çevrilir.

<span class="mw-page-title-main">OpenGL</span> grafik uygulama geliştirme arabirimi

OpenGL, gelişmiş donanım desteğini kullanarak hem iki hem de üç boyutlu grafikleri ekrana çizmek için kullanılan ücretsiz bir grafik uygulama geliştirme arabirimidir. Windows, Linux, MacOS ve Solaris gibi birçok işletim sisteminde yaygın olarak ve Playstation 3 başta olmak üzere bazı oyun konsollarınca desteklenir. Donanım tarafında ise SGI, ATI, Nvidia veya Intel gibi büyük üreticiler her ekran kartında OpenGL desteği sunar.

<span class="mw-page-title-main">Kongre Kütüphanesi</span> ABDnin ulusal kütüphanesi

Amerika Birleşik Devletleri Kongre Kütüphanesi, ABD'nin ulusal kütüphanesidir. Dünyanın en büyük ve en önemli kütüphanelerinden olan kongre kütüphanesi Washington'da bulunmaktadır. Ayrıca ABD'de yer alan en eski federal kültür yapısıdır.

Python Imaging Library, Python programlama dili için geliştirilen, açık kaynak kodlu grafik işleme kütüphanesidir. Bu kütüphane, içinde barındırdığı hazır fonksiyonlar sayesinde programcıya üstün bir grafik işleme imkânı sunar. Birçok grafik türünü açıp kaydetme yeteneği ile birlikte çizim, düzenleme, filtreleme gibi işlemlerde kullanılabilecek fonksiyonlara sahiptir.

C standard kütüphanesi veya libc, C programlama dilinin ISO C standardında belirlenmiş standard kütüphanesidir. ANSI C'nin başlangıcından itibaren, onun da bir üst kümesi olan POSIX C kütüphanesiyle aynı anda geliştirilmiştir.

GTK grafik kullanıcı arabirimleri üretmek için bir kütüphanedir. LGPL lisanslıdır, yani GTK kullanarak hiç lisans ya da telif hakkı parası ödemeden açık kodlu yazılım, bedava yazılım veya ticari paralı yazılım yapabilirsiniz.

Berimsel bilimlerde Duff aygıtı, Assembly Dilinde yüksek başarıma izin veren döngü çözme tekniğini kullanan seri kopyalama yordamına ait bir uygulamadır. Tom Duff'ın Lucasfilm'de görev yaptığı Kasım 1983'te bulguladığı yöntem, C programlama dilindeki switch yapısının en ilginç kullanımlarından birini oluşturmaktadır. Duff, yalnızca bu yöntemi bulguladığını savunmakta ve genel döngü çözme yöntemi üzerinde herhangi bir hak iddia etmemektedir.

<span class="mw-page-title-main">Kalıtım (programlama)</span>

Kalıtım, bir sınıfın üst sınıftan miras almasına denir. Pratikte karışıklıklara sebep olduğundan kimi programlama dilleri, ancak tekli kalıtıma izin verirler. Bu dillerde çoklu kalıtım yerine interface denilen nesnelerden faydalanılarak çoklu kalıtımın verdiği özellikler, yan etkileri olmaksızın kullanılabilmektedir. Çoklu kalıtıma izin veren programlama dillerindeyse doğrudan bir sınıfın birden fazla sınıftan miras alması mümkündür..

GLFW, temelde ve ilk olarak OpenGL ile kullanılmak üzere geliştirilmiş hafif bir yardımcı kütüphanedir. Programcıya, üzerinde çalışılan işletim sisteminden bağımsız olarak OpenGL ve Vulkan için 'context' ve pencere yaratma, klavye, fare, oyun çubuğu girdi ve çıktılarını yönetme kolaylığı sağlar.

<span class="mw-page-title-main">Yapay zekâya yönelik programlama dilleri listesi</span> Vikimedya liste maddesi

Yapay zekâ araştırmacıları yapay zekâya yönelik programlama dilleri geliştirmişlerdir.

ABC, Leo Geurts, Lambert Meertens ve Steven Pemberton tarafından CWI, Hollanda'da geliştirilen zorunlu bir genel amaçlı programlama dili ve programlama ortamıdır. Etkileşimli, yapılandırılmış, üst düzeydir ve BASIC, Pascal veya AWK yerine kullanılması amaçlanmıştır. Bir sistem programlama dili olmaktan ziyade, öğretme veya prototip oluşturma amaçlıdır.

pandas

pandas, veri işlemesi ve analizi için Python programlama dilinde yazılmış olan bir yazılım kütüphanesidir. Bu kütüphane temel olarak zaman etiketli serileri ve sayısal tabloları işlemek için bir veri yapısı oluşturur ve bu şekilde çeşitli işlemler bu veri yapısı üzerinde gerçekleştirilebilir olur. Yazılım ücretsizdir ve bir çeşit BSD ile lisansına sahiptir. Yazılım ismini bir ekonometri terimi olan veri panelinden almıştır. Bir veri paneli birçok zaman aralığı içinde farklı gözlemlerin işlenebildiği yapıyı tarif eder.

Burada, sayısal analiz veya veri analizi için kullanılmak üzere tasarlanmış önemli son kullanıcı bilgisayar uygulamaları listelenmiştir:

C++ Standard Kütüphanesi, C++ programlama dilinde ve C++ ISO Standard'ıyla yazılmış sınıfların ve fonksiyonların koleksiyonudur.