Mengulas IronPython, Implementasi Bahasa Pemrograman Python – IronPython adalah implementasi bahasa Python untuk Mono serta .NET Framework. Jim Hugunin menciptakan proyek dan secara aktif berkontribusi pada versi 1.0 yang telah dirilis pada tangga 5 September tahun 2006. IronPython versi 2.0 diluncurkan pada tanggal 10 Desember tahun 2008.
Mengulas Lebih Dalam Tentang IronPython
pythonsprints – Saat versi 1.0 dikelola oleh tim di Microsoft hingga rilis 2.7 Beta 1. Microsoft meninggalkan IronPython (dan proyek saudaranya IronRuby ) pada akhir 2010, setelah itu Hugunin pergi untuk bekerja di Google. Proyek ini dikelola oleh kelompok sukarelawan di GitHub. Ini adalah perangkat lunak sumber terbuka gratis, dan dapat diimplementasikan dengan Alat Python untuk Visual Studio, yang merupakan ekstensi sumber terbuka dan gratis untuk Microsoft Visual Studio IDE.
Baca Juga : 10 Bahasa Pemograman Paling Populer di Github Untuk Pengembang
IronPython ditulis seluruhnya dalam C #, tetapi beberapa kode dibuat secara otomatis oleh pemrogram yang ditulis dengan Python. IronPython diimplementasikan di atas Dynamic Language Runtime (DLR), perpustakaan yang berjalan di atas Infrastruktur Bahasa Umum yang menyediakan pengetikan dinamis dan pengiriman metode dinamis, antara lain, untuk bahasa dinamis. DLR adalah bagian dari .NET Framework 4.0 dan juga merupakan bagian dari Mono sejak versi 2.4 dari 2009. DLR juga dapat digunakan sebagai perpustakaan pada implementasi CLI yang lebih lama.
Status dan peta jalan
- Rilis 2.0, dirilis pada 10 Desember 2008, dan diperbarui sebagai 2.0.3 pada 23 Oktober 2009, menargetkan CPython 2.5. IronPython 2.0.3 hanya kompatibel hingga .NET Framework 3.5.
- Rilis 2.6, dirilis pada 11 Desember 2009, dan diperbarui pada 12 April 2010, menargetkan CPython 2.6. Versi IronPython 2.6.1 adalah biner yang hanya kompatibel dengan .NET Framework 4.0. IronPython 2.6.1 harus dikompilasi dari sumber untuk dijalankan di .NET Framework 3.5. IronPython 2.6.2, dirilis pada 21 Oktober 2010, adalah biner yang kompatibel dengan .NET Framework 4.0 dan .NET Framework 3.5.
- Rilis 2.7 dirilis pada 12 Maret 2011 dan menargetkan CPython 2.7.
- Rilis 2.7.1 dirilis pada 21 Oktober 2011 dan menargetkan CPython 2.7.
- Rilis 2.7.2.1 dirilis pada 13 Maret 2012. Ini memungkinkan dukungan untuk pustaka format file ZIP , SQLite , dan executable yang dikompilasi.
- Rilis 2.7.4 dirilis pada 7 September 2013.
- Rilis 2.7.5 dirilis pada 6 Desember 2014 dan sebagian besar terdiri dari perbaikan bug.
- Rilis 2.7.6 dirilis pada 21 Agustus 2016 dan hanya terdiri dari perbaikan bug.
- Rilis 2.7.7 dirilis pada 7 Desember 2016 dan hanya terdiri dari perbaikan bug.
- Rilis 2.7.8 dirilis pada 16 Februari 2018 dan terdiri dari perbaikan bug, kode yang ditata ulang, dan infrastruktur pengujian yang diperbarui (termasuk pengujian signifikan pada Linux di bawah Mono ). Ini juga merupakan rilis pertama yang mendukung .NET Core .
- Rilis 2.7.9 dirilis pada 9 Oktober 2018 dan terdiri dari perbaikan bug, kode yang ditata ulang. Ini dimaksudkan sebagai rilis terakhir sebelum IronPython 3.
- Rilis 2.7.10 dirilis pada 27 April 2020 dan menambahkan dukungan .NET Core 3.1.
- Rilis 2.7.11 dirilis pada 17 November 2020 dan menyelesaikan masalah saat berjalan di .NET 5 .
Perbedaan dengan CPython
Ada beberapa perbedaan antara implementasi referensi Python CPython dan IronPython. Beberapa proyek yang dibangun di atas IronPython diketahui tidak bekerja di bawah CPython. Sebaliknya, aplikasi CPython yang bergantung pada ekstensi ke bahasa yang diimplementasikan dalam C tidak kompatibel dengan IronPython, kecuali jika diterapkan dalam interop .NET. Misalnya, NumPy dibungkus oleh Microsoft pada tahun 2011, memungkinkan kode dan pustaka yang bergantung padanya untuk dijalankan langsung dari .NET Framework.
IronPython didukung di Silverlight (yang tidak digunakan lagi oleh Microsoft dan telah kehilangan dukungan di sebagian besar browser web). Hal ini dapat digunakan sebagai mesin scripting di browser seperti mesin JavaScript. Skrip IronPython diteruskan seperti skrip JavaScript sisi klien sederhana di <script>-tag. Kemudian dimungkinkan juga untuk memodifikasi markup XAML yang disematkan .
Lisensi
Hingga versi 0.6, IronPython dirilis di bawah persyaratan Lisensi Publik Umum. Setelah perekrutan pimpinan proyek pada Agustus 2004, IronPython tersedia sebagai bagian dari inisiatif Sumber Bersama Microsoft . Lisensi ini tidak disetujui oleh OSI tetapi penulis mengklaim bahwa lisensi ini memenuhi definisi sumber terbuka. Dengan rilis 2.0 alpha, lisensi diubah menjadi Lisensi Publik Microsoft , yang telah disetujui oleh OSI. Versi terbaru dirilis di bawah persyaratan Lisensi Apache 2.0 .
Ekstensibilitas antarmuka
Salah satu keunggulan utama IronPython adalah fungsinya sebagai lapisan yang dapat diperluas ke kerangka kerja aplikasi yang ditulis dalam bahasa .NET. Mengintegrasikan penerjemah IronPython ke dalam kerangka aplikasi .NET yang ada relatif mudah. Setelah di tempat, pengembang hilir dapat menggunakan skrip yang ditulis dalam IronPython yang berinteraksi dengan objek .NET dalam kerangka kerja, sehingga memperluas fungsionalitas dalam antarmuka kerangka kerja, tanpa harus mengubah basis kode kerangka kerja apa pun.
IronPython memanfaatkan refleksi secara ekstensif . Ketika diteruskan dalam referensi ke objek .NET, itu akan secara otomatis mengimpor jenis dan metode yang tersedia untuk objek itu. Ini menghasilkan pengalaman yang sangat intuitif saat bekerja dengan objek .NET dari dalam skrip IronPython.
Kinerja
Karakteristik kinerja IronPython dibandingkan dengan CPython , implementasi referensi Python, tergantung pada tolok ukur yang tepat yang digunakan. IronPython berkinerja lebih buruk daripada CPython pada sebagian besar tolok ukur yang diambil dengan skrip PyStone tetapi lebih baik pada tolok ukur lainnya. IronPython mungkin berkinerja lebih baik dalam program Python yang menggunakan utas atau banyak inti, karena memiliki kompiler JIT , dan juga karena tidak memiliki Kunci Juru Bahasa Global.