Python berusia 30 tahun

Pada tanggal 20 Februari 1991, Guido van Rossum menerbitkan di grup alt.sources rilis pertama bahasa pemrograman Python, yang telah ia kerjakan sejak Desember 1989 sebagai bagian dari proyek untuk membuat bahasa scripting untuk memecahkan masalah administrasi sistem di sistem operasi Amoeba, yang levelnya lebih tinggi daripada C, tetapi, tidak seperti shell Bourne, akan memberikan akses yang lebih nyaman ke panggilan sistem OS.

Nama proyek ini dipilih untuk menghormati grup komedi Monty Python. Versi pertama memperkenalkan dukungan untuk kelas dengan pewarisan, penanganan pengecualian, sistem modul, dan daftar tipe dasar, dict dan str. Implementasi modul dan pengecualian dipinjam dari bahasa Modula-3, dan gaya pengkodean berbasis indentasi dari bahasa ABC, yang sebelumnya dikontribusikan oleh Guido.

Saat membuat Python, Guido dipandu oleh prinsip-prinsip berikut:

  • Prinsip yang menghemat waktu selama pengembangan:
    • Meminjam ide-ide bermanfaat dari proyek lain.
    • Mengejar kesederhanaan, tetapi tanpa penyederhanaan yang berlebihan (prinsip Einshein “Segala sesuatu harus dinyatakan sesederhana mungkin, tetapi tidak sesederhana mungkin”).
    • Mengikuti filosofi UNUX, yang menyatakan bahwa program mengimplementasikan satu fungsi, tetapi melakukannya dengan baik.
    • Jangan terlalu mengkhawatirkan kinerja, pengoptimalan dapat ditambahkan sesuai kebutuhan bila diperlukan.
    • Jangan mencoba melawan hal-hal yang ada, tetapi ikuti arus.
    • Hindari perfeksionisme; biasanya level “cukup baik” sudah cukup.
    • Terkadang sudut bisa diambil, terutama jika sesuatu bisa dilakukan nanti.
  • Prinsip lainnya:
    • Implementasinya tidak harus spesifik pada platform. Beberapa fitur mungkin tidak selalu tersedia, namun fungsi dasar dapat berfungsi di mana saja.
    • Jangan membebani pengguna dengan suku cadang yang dapat ditangani oleh mesin.
    • Dukungan dan promosi kode pengguna platform-independen, namun tanpa membatasi akses terhadap kemampuan dan fitur platform.
    • Sistem besar yang kompleks harus menyediakan berbagai tingkat perluasan.
    • Kesalahan tidak boleh berakibat fatal dan tidak terdeteksi—kode pengguna harus mampu menangkap dan menangani kesalahan.
    • Kesalahan dalam kode pengguna tidak boleh mempengaruhi fungsionalitas mesin virtual dan tidak menyebabkan perilaku juru bahasa yang tidak ditentukan dan proses terhenti.

    Sumber: opennet.ru

Tambah komentar