Programlama dili dediğimiz şey bir bilgisayarın yazılan kodları anlamlandırarak, çalıştırmasını ifade eder. Python bir programlama dilidir. Diğer dillerden farklı ve öğrenilmesi kolay bir dildir. Python kütüphaneleri, Pythonla yazılmış kodların hazır olarak yayınlanmasıdır. Sadece Pythona özgü bir durum değil. Fakat Python pip (Python Paket Yükleyicisi) gibi bir ortamı kullanan ilk programlama dillerindendir. Bundan dolayı kütüphane kurmak çok kolay. Eğer Pythonla ilgili bir şeyler geliştirirsen sen de
PyPI · The Python Package Index adresinden kütüphane olarak diğer Python geliştiricileri ile paylaşabilirsin.
Ayrıca günümüzde Python Paket Yükleyicisine benzer farklı teknolojiler diğer programlama dillerinde de yaygınlaşıyor. Örneğin Node JS için NPM, Go Lang için go get, vb. gibi paket yöneticileri mevcuttur. Bir dilin çok fazla kütüphane içermesi o dilin programlama yapmadığı anlamından daha çok, zengin bir dil olduğu anlamına gelir.
Django, Flask vb. gibi uygulamalar tamamen saf Python ile geliştirilmiştir. Buradaki olay bu işlemi gerçekleştirmek çok uzun süreceği için topluluklar tarafından hazırı yapılıp, kütüphane olarak yayınlanıyor. Yani teorik olarak Python kütüphanelerinin hepsini kendin geliştirebilirsin. Fakat bir Django performansı sağlaman çok zor. Çünkü bunlar açık kaynak projelerdir ve 1 kişi tarafından değil binlerce geliştirici tarafından insanlık yararına geliştirilirler. Github üzerinden Django, Flask vb. gibi kütüphanelere tamamen saf Python kodu yazarak gelişmesine katkı sağlayabilirsin.
Sonuç olarak Python bir programlama dilidir. Python kütüphaneleri, Python dilinde yazılmıştır. Ayrıca Pythonun kendisine özgün bir syntax yapısı vardır. Bundan dolayı Pythonun kendisi bir programlama dilidir.
Python'un tamamen dışarısına çıkalım ve diğer örneklere bakalım. Muhtemelen sadece Python ile deneyimin olduğu için kütüphaneler konusuna biraz takılmışsın
HTML+CSS De bootstrap kütüphanesi mevcuttur. Dünya'da en yaygın kullanılan kütüphanelerden birisidir. Tamamen HTML ve CSS ile geliştirilmiştir.
Javascript'de Jquery kütüphanesi mevcuttur. Jquery kütüphanesi içerisinde bir çok kolaylık barındırır. En yaygın kullanılan kütüphanelerden birisidir. Aynı zamanda html ile çalışabilmesi için canvas kütüphaneleri vardır. Javascriptte bir harita uygulamasını saf javascriptle geliştirmek çok zordur. Bundan dolayı Openlayers, Leaflet gibi kütüphaneler vardır. Fakat bu kütüphanelerin var olması Javascript'i bir programlama dili olmaması anlamına gelmiyor. Çünkü bu kütüphaneler Javascriptle geliştiriliyor.
Bir diğer örnek OpenCV Dünyanın en yaygın kullanılan görüntü işleme kütüphanesidir. C/C++ ile geliştirilmiştir. Şuan bütün programlama dillerinde desteği vardır. Fakat C/C++ yazan birisi OpenCV Kütüphanesini kullanıyor diye C/C++ bir programlama dili olmaktan çıkmıyor. Çünkü OpenCV bütün geliştiriciler tek tek birsürü formülle uğraşmasın diye görüntü işlemeyi kolaylaştırmayı hedefliyor. Bunu C/C++ ile sen, ben geliştiremeyiz ama Github üzerinden C/C++ yazarak gelişimine destek verebiliriz. Çünkü açık kaynak olduğu için arkasında binlerce kişi var. Yıllardır bunu geliştiricilerin hayatını kolaylaştırmak için geliştiriyorlar.
Python kütüphaneleride bu şekilde. Pythonun topluluğu çok büyük. Bundan dolayı her gün farklı bir kütüphane ortaya çıkıyor. Topluluklar da bu kütüphaneleri geliştiriyor ve işin sonunda tek başına geliştirilmesi çok zor yerlere getiriyorlar. Bu da bize kolaylık sağlıyor. Ben tek başıma geliştiremeyeceğim bir şeyi binlerce kişi sayesinde 2-3 satırda çözmüş oluyorum.
Ayrıca Python ile sadece website değil mobil uygulama, gömülü sistem, bilgisayar uygulamaları, aklına gelebilecek birçok şey geliştirebilirsin. Çünkü Python çok büyük bir topluluğa sahip zengin bir programlama dilidir.
Umarım anlatabilmişimdir
Edit: Ayrıca özellikle üzerinde durmayı unutmuşum Python kütüphaneleri Python'dur. Kütüphane olmadan kütüphanenin yaptığı işlemi yerine getirecek Python kodunu yazabilirsin. Onlar sadece önceden yazılmış Python kodlarıdır. Kullanılması zorunlu değildir.