Situasi: Dukungan Python 2.7 dihentikan sejak 2020

Python 2.7 tidak lagi didukung pada 1 Januari. Tetapi banyak perusahaan masih belum beralih ke versi yang diperbarui. Dalam materi, kami membahas alasan untuk situasi ini.


Foto - Jan KopΕ™iva - Unsplash

Tidak semua orang siap untuk "python" baru


Pada tahun 2020, Python 2.7 akan dihentikan , dan pembaruan keamanan akan ditangguhkan . Terlepas dari kenyataan bahwa rencana ini diketahui lima tahun lalu - pada 2014, Guido van Rossum, penulis Python, secara pribadi mendorong pengembang dan perusahaan untuk bermigrasi ke Python 3 - proses mengadaptasi versi baru lambat.

Pada awal tahun, sekitar 60% dari paket yang diunduh dari The Python Package Index (PyPI) adalah versi 2.7. Pada September, angka ini turun menjadi 40%, tetapi kemungkinan besar itu tidak akan mencapai nol sebelum batas waktu .

Apa yang menghambat migrasi


Di perusahaan besar, pengenalan kerangka kerja baru atau transisi ke teknologi terbaru selalu membutuhkan sumber daya dan waktu yang signifikan. Dalam beberapa kasus, proses berjalan selama berbulan-bulan dan bahkan bertahun-tahun. Ini karena basis kode yang masif dan sejumlah besar dependensi. Facebook mulai mentransfer layanan perusahaan ke Python 3 pada tahun 2014. Butuh waktu satu tahun untuk mengimplementasikan proyek ini - saya harus menulis ulang sejumlah besar perpustakaan dan mengoreksi ribuan regresi. Setelah itu, para insinyur perusahaan mengambil Instagram - dalam hal ini, transisi membutuhkan waktu sepuluh bulan. Dropbox telah bermigrasi ke Python 3 selama tiga tahun sekarang.

Beberapa perusahaan memiliki aturan ketat untuk menegosiasikan pembaruan teknologi yang signifikan dengan tim keamanan. Terkadang unit ini bahkan mengatur pemuatan paket PIP. "Keamanan" khawatir bahwa ketika beralih ke Python 3, kerentanan kritis akan mulai muncul di layanan. Memang, di bidang-bidang seperti perbankan dan kesehatan, biaya kesalahan bisa tinggi. Jadi, tahun lalu, TSB Inggris - dalam proses memperkenalkan sistem TI baru - mengalami bug yang menyebabkan kegagalan fungsi dalam sistem perbankan mobile. Akibatnya, 1,9 juta orang kehilangan akses ke akun mereka. Organisasi masih berurusan dengan konsekuensinya.

Antara lain, Python 2 masih mendukung sistem operasi berbasis Linux terkemuka. Misalnya, di RHEL, pengguna dapat memilih versi mana yang akan digunakan. Meskipun sistem operasi Red Hat secara bertahap bermigrasi ke Python 3, proses ini tidak berjalan semulus yang kita inginkan. Dalam prosesnya, bug ditemukan secara teratur, terutama terkait dengan pengoperasian pointer. Debian juga mempertahankan dukungan untuk Python 2, tetapi pemutakhiran telah dimulai . Itu juga bergerak lambat - insinyur secara konsisten menguji perpustakaan untuk kompatibilitas.

Bagaimanapun, bahkan setelah transisi penuh ke Python 3, banyak yang akan terus bekerja dengan versi sebelumnya - karena beberapa paket akan didukung oleh perusahaan dan penggemar komunitas.

Apa yang dipikirkan masyarakat


Warga Hacker News di utas tematik mencatat bahwa alasan utama lambatnya migrasi adalah tidak adanya (hingga saat ini) manfaat nyata apa pun dari proses ini. Tidak ada fungsi baru dalam bahasa yang dapat menarik minat pengembang dan mendorong mereka untuk beralih ke Python 3. Namun, beberapa keputusan yang dibuat oleh penulis bahasa, sebaliknya, merusak kesan pemrograman di dalamnya. Secara khusus, gelombang ketidakpuasan disebabkan oleh pengecualian dukungan untuk string byte dan transisi ke pekerjaan eksklusif dengan Unicode. Stack Overflow juga mencatat bahwa ekosistem Python tidak memiliki alat bawaan untuk menerjemahkan kode secara otomatis dari satu versi ke versi lain. Masalahnya diselesaikan dengan munculnya utilitas seperti 2to3 dan enam .


Foto - Hitesh Choudhary - Unsplash

Fungsi dari Python 3 telah berkembang secara signifikan dalam beberapa tahun terakhir. Menambahkan perkalian matriks, modul asyncio untuk mengatur pemrograman kompetitif, serta anotasi jenis variabel, bidang kelas, argumen dan nilai balik fungsi. Dukungan Python 3 bahkan telah muncul untuk perpustakaan populer lainnya, seperti scikit-learn untuk ML. Kumpulan fitur yang diperbarui harus meyakinkan perusahaan untuk beralih ke versi bahasa berikutnya. Dan sementara jumlah pengikut Python 3 akan meningkat secara signifikan tahun depan, transisi penuh akan membutuhkan waktu yang cukup lama.


Kami di 1cloud.ru menawarkan layanan hosting DNS . Pengguna terdaftar mendapatkannya secara gratis.

Setiap pertanyaan yang terkait dengan pengoperasian layanan akan dijawab oleh spesialis dari pusat kompetensi kami.


Bacaan tambahan di 1cloud Blog:

Apakah cloud akan menyimpan smartphone ultra-anggaran
"Bagaimana Kita Membangun IaaS": 1 bahan keras

Menyaring perangkat elektronik di perbatasan - kebutuhan atau pelanggaran hak asasi manusia?
Inilah gilirannya: mengapa Apple telah mengubah persyaratan untuk pengembang aplikasi


Source: https://habr.com/ru/post/id477944/


All Articles