Rust, Python ile ve Python, Rust ile nasıl kullanılır?


Python ve Rust, dil yelpazesinin görünüşte zıt uçlarını işgal eder. Çalışma zamanında yorumlanan Python, geliştiricilere esnek ve rahat bir programlama ortamı sunar, ancak ham hız pahasına. Rust, hızın yanı sıra bellek güvenliğini garanti eder, ancak bellek işlemlerini yürütmek için yeni bir paradigma öğrenmenizi gerektirir.

Teoride, bu diller rekabet etmemeli; işbirliği yapmalıdırlar. Ve pratikte yapabilirler. Rust, Python’un kullanım kolaylığından yararlanabilir ve Python, Rust’ın hızından ve güvenliğinden yararlanabilir.

Rust’ı Python ile veya Python’u Rust ile kullanmak istiyorsanız, en iyi sonuçları elde etmek için en azından her iki dile de aşina olmanız gerekir. Ayrıca, her bir yaklaşım için seçenekler önemli ölçüde farklı olduğundan, ikisinden hangisinin birincil diliniz olduğuna karar vermeniz gerekecektir.

PyO3 ile Python’dan Rust’ı çağırmak

Python birincil dilinizse, Rust ile entegrasyon, kavramsal olarak Python’u C ile entegre etmekle aynı şekilde çalışır. Python’un C ile yazılmış varsayılan uygulaması, C ile yazılmış veya C uyumlu bir ABI kullanan uzantıları kullanır. Aynı ABI’yi kullanan Rust’ta yazılmış uzantılar da işe yarayacaktır, ancak bu otomatik değildir; Python C API’sine Rust işlevleri için bağlantılar sağlamak üzere tasarlanmış kasaları kullanmanız gerekir.

Python’da Rust bağlamaları oluşturma

Python’da Rust bağlamaları oluşturmak için en çok tanınan proje PyO3. Python modüllerini Rust’a yazmak veya Python çalışma zamanını bir Rust ikili dosyasına gömmek için kullanılabilir.

PyO3 başka bir projeden yararlanıyor, maturin, Python paketleme ve bağlamaları ile Rust kasaları yazmak için bir araçtır. Bir Python sanal ortamına kurulduğunda, Maturin, Python bağlamaları etkinleştirilmiş yeni bir Rust projesini başlatmak için komut satırından kullanılabilir. Geliştirici Rust kodundaki yönergeleri kullanır hangi Rust işlevlerinin Python’a sunulacağını ve Rust projesinin tamamının içe aktarılabilir bir modül olarak Python’a nasıl sunulacağını belirtmek için.

Telif Hakkı © 2022 IDG Communications, Inc.


Kaynak : https://www.infoworld.com/article/3664124/how-to-use-rust-with-python-and-python-with-rust.html#tk.rss_all

Yorum yapın