9 puan yazan GN⁺ 2024-02-08 | 2 yorum | WhatsApp'ta paylaş
  • Rust ile yazılmış açık kaynaklı bir Python 3 (CPython >= 3.11.0) yorumlayıcısı
  • Rust programlarına gömülü olarak kullanılabilir veya web tarayıcısında Python çalıştırmak için WebAssembly'ye derlenebilir
  • MIT lisansı

Hedefler

  • Yalnızca Rust kullanarak tam bir Python 3 ortamı sunmak (CPython binding'leri olmadan).
  • Rust içinde kullanılabilen veya WebAssembly'ye derlenebilen hızlı, güvenilir ve güvenli bir Python uygulaması olmayı hedefler

RustPython'un avantajları

  • Çeşitli Python uygulamaları mevcut olsa da RustPython, Rust programlama dili için geliştirilmiştir
  • Jython ve IronPython'ın sırasıyla Java ve .NET ile entegrasyon sağlaması gibi, RustPython da Rust ile entegrasyonu hedefler
  • Rust'ın minimal runtime'ı sayesinde WebAssembly'ye derlenerek tarayıcıda Python kodunu kolayca çalıştırabilir

Kurulum

GN⁺ görüşü

  • RustPython, Rust'ın güvenliği ve performansından yararlanarak Python yorumlayıcısını yeniden uygulayan bir projedir.
  • Mevcut Python uygulamalarından farklı olarak Rust tabanlıdır; Rust ve Python entegrasyonunu güçlendirir ve WebAssembly üzerinden web'de Python çalıştırmayı mümkün kılar.
  • Hâlen geliştirilmekte olan bu proje, Python ekosistemine yeni olanaklar sunuyor ve Rust ile Python'u birlikte kullanmak isteyen geliştiriciler için ilgi çekici bir alternatif olabilir.

2 yorum

 
cosine20 2024-02-08

İlginç bir proje, ama bana göre o kadar da kullanışlı olup olmayacağını henüz bilmiyorum.. Daha önce de belirtildiği gibi, Jython ve IronPython da sonuçta CPython sürümlerini takip etmekte zorlandı ve yalnızca çok sınırlı alanlarda işe yarayan seçenekler hâline geldi; bu yüzden başkalarının RustPython’dan beklediği şeyleri karşılamak için önünde daha epey uzun bir yol olduğunu düşünüyorum.

 
GN⁺ 2024-02-08
Hacker News görüşleri
  • "it can be compiled to WebAssembly in order to run Python in the browser."

    • Bir kullanıcı, CPython ve NodeJS kullanan benzer bir yaklaşım gördüğünü ve bunun pratik olmadığını düşündüğünü belirtiyor.
    • WebAssembly'ye (Wasm) derlenmiş bir runtime üzerinde Python kodu çalıştırmak, performans kaybını iki kez yaşamak anlamına geliyor.
    • Dinamik tipli bir dili Wasm runtime'ında çalıştırmak için, dilin doğrudan Wasm'a derlenmesi gerekiyor.
    • Proje hâlâ havalı ve kullanışlı; ayrıca tarayıcıda kullanılabilecek çok sayıda Python kodu olmasına rağmen, bu şekilde bir web framework'ü inşa etmeye çalışılmaması gerektiği belirtiliyor.
    • RustPython için performans benchmark'ı yapmadığını, ayrıca RustPython'ın bilinmeyen bazı numaralar kullanıyor olabileceğini kabul ediyor.
  • İlgili bağlantılar:

    • RustPython, Rust ile yazılmış bir Python 3 yorumlayıcısıdır; farklı zamanlarda Hacker News'te paylaşıldı ve çeşitli yorumlar aldı.
  • MicroPython hakkında olumlu görüş:

    • Bir kullanıcı, MicroPython'ın harika olduğunu söylüyor ve RP2040 üzerinde çalıştığını belirtiyor.
  • RustPython hakkında çeşitli görüşler:

    • RustPython'ın IronPython'ın halefi olduğunu düşünen bir kullanıcı var.
    • Python'ın sağlıklı bir üçüncü taraf yorumlayıcı topluluğuna sahip olmasının harika olduğunu düşünen bir kullanıcı var.
    • CPython ile farkları ortaya çıkaran sorunların neler olduğunu merak eden bir kullanıcı var.
    • RustPython'ın ilerlemesinden memnuniyet duyan bir kullanıcı var ve Wasmer kullanarak RustPython'ı çalıştırma yöntemini paylaşıyor.
  • RustPython'ın sınırlamaları hakkında görüş:

    • RustPython gibi projelerin geniş ölçekte uygulanabilir olup olmayacağından emin olmayan bir kullanıcı var.
    • Python'ın değerinin native kütüphanelerle arayüzünde yattığına ve PyPy gibi bir şey kullanıldığında bu erişimin büyük ölçüde kaybedildiğine dikkat çekiliyor.
  • Jython ve IronPython hakkında eleştirel görüş:

    • Python 2 artık ortadan kalktığına göre, Python 3'e geçişte başarısız olan Jython ve IronPython'ın anılmaya değer olmadığını savunan bir kullanıcı var.
  • RustPython kullanılan proje deneyimi paylaşımı:

    • Bir kullanıcı, RustPython'ı internet computer protocol için Python ortamı olan Kybra projesinde yorumlayıcı olarak kullandığını ve Wasm'ın ICP'nin runtime ortamı olduğunu belirtiyor.
    • C extension eksikliğinin sorun olduğunu, ancak wasi ve C extension desteği hazır olduğunda CPython'a geçmeyi planladığını söylüyor.
  • RustPython performans karşılaştırması:

    • Bir kullanıcı, Fibonacci dizisi hesaplamasıyla RustPython'ın CPython'dan yaklaşık 11 kat daha yavaş olduğunu doğruladığını ve sonuçları paylaştığını belirtiyor.