CPython, Jython, IronPython ve PyPy nedir?
Python’un oluşturulmasını araştırdığımızda, kendisinin birden fazla implementation (uygulamadan) oluştuğunu bilmemiz gerekir. Bu kavramı biraz daha iyi inceleyelim.
Implementation’dan kasıt nedir?
Python’un kendisi interpreted (yorumlanmış) bir dildir. Yani bir interpreter’a (yorumlayıcıya) sahiptir. Implementation ise bu interpreter’ın nasıl yazıldığını, hangi yazılım dillerinin kullanıldığını ve hangi amaç için kullanılacağını bize söyler. Python’un en popüler implementation’ları ise CPython, Jython, IronPython ve PyPy’dır. Şimdi teker teker bunları açıklayalım.
CPython
Kullanıcıların resmi Python.org sitesi üzerinden kurduğu -ki muhtemelen sizin de kullandığınız- orijinal ve varsayılan Python sürümü budur. En popüler Python implementation’udur. C ile yazılmıştır. C ile yazılması sayesinde, C kütüphane fonksiyonlarını kullanabilir, ve kendi C ve C++ da yazdığınız kütüphanelerin Python’da da kullanılmasını sağlayabilirsiniz.
Web Sitesi: https://www.python.org/
Kaynak Kodu: https://github.com/python/cpython
Jython
Jython, Java platformları üzerinde çalışan Python’un bir başka implementation’udur. Java ile yazılmıştır ve JVM (Java Virtual Machine) üzerinde çalışır. Jython ile yazılan programlar, Python modüllerini değil Java class (sınıf)larını kullanır.
Aşağıda Java uygulaması üzerinde çalışan bir Python kodunun örneğini görebilirsiniz:
Aynı şekilde Python içerisinde de Java kodu çalıştırabilirsiniz:
Web Sitesi: https://www.jython.org/
Kaynak Kodu: https://github.com/jython/jython
IronPython
Jython’un Java kullanıcıları için geliştirilmesine benzer şekilde, IronPython da C# ile yazılmış ve .NET platformları üzerinde çalışacak şekilde tasarlanmıştır. Python ve .NET arasında bir köprü oluşturur ve Python kullanıcılarının C# fonksiyonlarına ve sınıflarına, ayrıca .NET kitaplıklarına ve framework’lerine doğrudan IronPython’dan erişmesini sağlar.
Get Deep Ocean Code’s stories in your inbox
Join Medium for free to get updates from this writer.
C# içerisinde çalışan Python koduna bir örnek:
Aynı şekilde Python içerisinde de C# kodu çalıştırabilirsiniz:
Web Sitesi: https://ironpython.net/
Kaynak Kodu: https://github.com/IronLanguages/ironpython3
PyPy
“Eğer kodunuzun hızlı çalışmasını istiyorsanız, kesinlikle PyPy kullanmalısınız.” — Guido van Rossum (Python’un yapımcısı)
PyPy, Python dilinde yazılmış başka bir Python implementation’udur ve CPython’a başka bir alternatiftir. Python dilinin özellikleri göz önünde bulundurularak oluşturulduğundan, en çok CPython ile uyumludur, Django ve Flask gibi web framework’lerini çalıştırmaya izin verir ve hatta üstüne birkaç iyileştirme ekler. PyPy, programın yürütülmesi sırasında kaynak kodun derlenmesine izin veren Just-in-time (JIT) derlemesi adlı kavramı kullanır. Kullanıcılar arasından CPython’un yavaş olması şikayetine karşın birçok konuda CPython’a göre daha hızlı çalışır. PyPy, CPython’un bu bölümünü tamamen geliştirir.
Web Sitesi: https://www.pypy.org/
Kaynak Kodu: https://foss.heptapod.net/pypy/pypy
Referanslar:
- https://docs.python.org/3/reference/introduction.html#alternate-implementations
- https://linuxhint.com/cpython-jython-ironpython-pypy-cython
- https://www.geeksforgeeks.org/difference-various-implementations-python/
- https://stackoverflow.com/questions/10579824/what-is-the-difference-between-python-vs-jython-vs-ironpython-vs-wxpython









