Sitemap
Deep Ocean Code

Deep Ocean Code

CPython, Jython, IronPython ve PyPy nedir?

3 min readFeb 12, 2022

--

Press enter or click to view image in full size

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

Press enter or click to view image in full size
CPython’un Resmi İnternet Sitesi

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

Press enter or click to view image in full size
Jython’un Resmi İnternet Sitesi

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:

Press enter or click to view image in full size
Java Uygulaması İçerisinde Çalışan Python Kodu

Aynı şekilde Python içerisinde de Java kodu çalıştırabilirsiniz:

Press enter or click to view image in full size
Python İçerisinde Çalışan Java Kodu

Web Sitesi: https://www.jython.org/

Kaynak Kodu: https://github.com/jython/jython

IronPython

Press enter or click to view image in full size
IronPython’un Resmi İnternet Sitesi

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:

Press enter or click to view image in full size
C# İçerisinde Çalışan Python Kodu

Aynı şekilde Python içerisinde de C# kodu çalıştırabilirsiniz:

Press enter or click to view image in full size
Python İçerisinde Çalışan C# Kodu

Web Sitesi: https://ironpython.net/

Kaynak Kodu: https://github.com/IronLanguages/ironpython3

PyPy

Press enter or click to view image in full size
PyPy’ın Resmi İnternet Sitesi

“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:

--

--