
Bagaimana cara kerja program komputer?
Kursus ini bertujuan untuk menunjukkan kepada Anda apa
bahasa Python itu dan apa yang digunakan untuk. Mari kita mulai dari
dasar-dasar absolut.
Suatu program membuat komputer dapat digunakan. Tanpa
program, komputer, bahkan yang paling kuat, tidak lebih dari sebuah
objek. Demikian pula, tanpa pemain, piano tidak lebih dari kotak kayu.
Komputer dapat melakukan tugas yang sangat kompleks, tetapi
kemampuan ini bukan bawaan. Sifat komputer sangat berbeda.
Ia hanya dapat menjalankan operasi yang sangat sederhana,
misalnya, komputer tidak dapat mengevaluasi nilai dari fungsi matematika yang
rumit dengan sendirinya, meskipun ini tidak di luar bidang kemungkinan dalam
waktu dekat.
Komputer kontemporer hanya dapat mengevaluasi hasil operasi
yang sangat mendasar, seperti menambah atau membagi, tetapi mereka dapat
melakukannya dengan sangat cepat, dan dapat mengulangi tindakan ini hampir
berapa kali.
Bayangkan Anda ingin mengetahui kecepatan rata-rata yang
telah Anda capai selama perjalanan panjang. Anda tahu jaraknya, Anda tahu
waktu, Anda butuh kecepatan.
Secara alami, komputer akan dapat menghitung ini, tetapi
komputer tidak mengetahui hal-hal seperti jarak, kecepatan atau
waktu. Karena itu, perlu untuk menginstruksikan komputer untuk:
- menerima
nomor yang mewakili jarak;
- menerima
nomor yang mewakili waktu perjalanan;
- bagi
nilai sebelumnya dengan yang terakhir dan simpan hasilnya dalam memori;
- tampilkan
hasilnya (mewakili kecepatan rata-rata) dalam format yang dapat dibaca.
Keempat tindakan sederhana ini membentuk sebuah program . Tentu
saja, contoh-contoh ini tidak diformalkan, dan mereka sangat jauh dari apa yang
dapat dipahami oleh komputer, tetapi mereka cukup baik untuk diterjemahkan ke
dalam bahasa yang dapat diterima komputer.
Bahasa adalah kata kunci.
====
Bahasa alami vs. bahasa pemrograman
Bahasa adalah sarana (dan alat) untuk mengekspresikan dan
merekam pemikiran. Ada banyak bahasa di sekitar kita. Beberapa dari
mereka tidak memerlukan berbicara atau menulis, seperti bahasa tubuh; Anda
bisa mengekspresikan perasaan terdalam Anda dengan sangat tepat tanpa
mengucapkan sepatah kata pun.
Bahasa lain yang Anda gunakan setiap hari adalah bahasa ibu
Anda, yang Anda gunakan untuk mewujudkan keinginan Anda dan untuk memikirkan
kenyataan. Komputer memiliki bahasa mereka sendiri, juga
disebut bahasa mesin , yang sangat sederhana.
Komputer, bahkan yang paling canggih secara teknis, sama
sekali tidak memiliki jejak kecerdasan. Anda bisa mengatakan bahwa itu
seperti anjing yang terlatih dengan baik - ia hanya menanggapi serangkaian
perintah yang telah diketahui sebelumnya.
Perintah yang dikenali sangat sederhana. Kita dapat
membayangkan bahwa komputer merespons pesanan seperti "ambil nomor itu,
bagi dengan yang lain dan simpan hasilnya".
Satu set lengkap perintah yang dikenal disebut daftar
instruksi , kadang-kadang disingkat menjadi IL . Berbagai
jenis komputer dapat bervariasi tergantung pada ukuran ILS mereka, dan
instruksinya dapat sangat berbeda dalam model yang berbeda.
Catatan: bahasa mesin dikembangkan oleh manusia.
Saat ini tidak ada komputer yang mampu membuat bahasa
baru. Namun, itu mungkin berubah segera. Di sisi lain, orang-orang
menggunakan sejumlah bahasa yang sangat berbeda juga, tetapi bahasa-bahasa ini
dibuat sendiri. Apalagi mereka masih berevolusi.
Kata-kata baru dibuat setiap hari dan kata-kata lama
hilang. Bahasa-bahasa ini disebut bahasa alami .
====
Apa yang membuat bahasa?
Kita dapat mengatakan bahwa setiap bahasa (mesin atau alami,
tidak masalah) terdiri dari unsur-unsur berikut:
ALFABET
seperangkat simbol yang digunakan untuk membangun kata-kata
dari bahasa tertentu (misalnya, alfabet Latin untuk bahasa Inggris, alfabet
Sirilik untuk Rusia, Kanji untuk Jepang, dan sebagainya)
LEXIS
(alias kamus) sekumpulan kata yang ditawarkan oleh
penggunanya (mis., kata "komputer" berasal dari kamus bahasa Inggris,
sementara "cmoptrue" tidak; kata "chat" hadir baik dalam
kamus bahasa Inggris dan Prancis , tetapi artinya berbeda)
SYNTAX
seperangkat aturan (formal atau informal, tertulis atau
terasa secara intuitif) digunakan untuk menentukan apakah serangkaian kata
tertentu membentuk kalimat yang valid (misalnya, "Saya seorang
python" adalah frasa yang benar secara sintaksis, sementara "Saya
seorang python" adalah bukan 't)
SEMANTIK
seperangkat aturan yang menentukan apakah frasa tertentu
masuk akal (misalnya, "Saya makan donat" masuk akal, tetapi
"Donat memakan saya" tidak)
IL sebenarnya adalah alfabet dari bahasa mesin . Ini
adalah set simbol paling sederhana dan paling utama yang dapat kita gunakan
untuk memberikan perintah ke komputer. Ini bahasa ibu komputer.
Sayangnya, lidah ini jauh berbeda dari bahasa ibu
manusia. Kita semua (baik komputer dan manusia) membutuhkan sesuatu yang
lain, bahasa yang umum untuk komputer dan manusia, atau jembatan antara dua
dunia yang berbeda.
Kita membutuhkan bahasa di mana manusia dapat menulis
program mereka dan bahasa yang komputer dapat gunakan untuk menjalankan
program, yang jauh lebih kompleks daripada bahasa mesin dan namun jauh lebih
sederhana daripada bahasa alami.
Bahasa seperti itu sering disebut bahasa pemrograman tingkat
tinggi. Mereka setidaknya agak mirip dengan yang alami karena mereka
menggunakan simbol, kata-kata dan konvensi yang dapat dibaca oleh
manusia. Bahasa-bahasa ini memungkinkan manusia untuk mengekspresikan
perintah ke komputer yang jauh lebih kompleks daripada yang ditawarkan oleh
ILS.
Suatu program yang ditulis dalam bahasa pemrograman tingkat
tinggi disebut kode sumber (berbeda dengan kode mesin yang
dijalankan oleh komputer). Demikian pula, file yang berisi kode sumber
disebut file sumber .
===
Kompilasi vs. interpretasi
Pemrograman komputer adalah tindakan menyusun elemen-elemen
bahasa pemrograman yang dipilih dalam urutan yang akan menyebabkan efek yang
diinginkan. Efeknya bisa berbeda di setiap kasus tertentu - terserah
imajinasi, pengetahuan, dan pengalaman programmer.
Tentu saja, komposisi seperti itu harus benar dalam banyak
hal:
- alfabet -
program perlu ditulis dalam skrip yang dapat dikenali, seperti Roman,
Cyrillic, dll.
- leksikal -
setiap bahasa pemrograman memiliki kamusnya dan Anda perlu
menguasainya; untungnya, ini jauh lebih sederhana dan lebih kecil
dari kamus bahasa apa pun;
- secara
sintaksis - setiap bahasa memiliki aturannya dan harus dipatuhi;
- semantik -
program harus masuk akal.
Sayangnya, seorang programmer juga dapat membuat kesalahan
dengan masing-masing dari empat pengertian di atas. Masing-masing dapat
menyebabkan program menjadi sama sekali tidak berguna.
Anggaplah Anda telah berhasil menulis sebuah
program. Bagaimana kita membujuk komputer untuk menjalankannya? Anda
harus merender program Anda ke dalam bahasa mesin. Untungnya, terjemahan
dapat dilakukan oleh komputer itu sendiri, membuat seluruh proses cepat dan efisien.
Ada dua cara berbeda untuk mengubah suatu program
dari bahasa pemrograman tingkat tinggi menjadi bahasa mesin :
KOMPILASI - program sumber diterjemahkan satu
kali (namun, tindakan ini harus diulang setiap kali Anda mengubah kode sumber)
dengan mendapatkan file (misalnya, file .exe jika kode ini dimaksudkan untuk
dijalankan di bawah MS Windows) yang berisi mesin kode; sekarang Anda
dapat mendistribusikan file ke seluruh dunia; program yang melakukan
terjemahan ini disebut kompiler atau penerjemah;
INTERPRETASI - Anda (atau pengguna kode apa pun)
dapat menerjemahkan program sumber setiap kali harus dijalankan; program
yang melakukan transformasi semacam ini disebut interpreter, karena ia
menginterpretasikan kode setiap kali dimaksudkan untuk dieksekusi; itu
juga berarti bahwa Anda tidak bisa hanya mendistribusikan kode sumber apa
adanya, karena pengguna akhir juga membutuhkan penerjemah untuk menjalankannya.
Karena beberapa alasan yang sangat mendasar, bahasa
pemrograman tingkat tinggi tertentu dirancang untuk masuk ke dalam salah satu
dari dua kategori ini.
Ada sangat sedikit bahasa yang dapat dikompilasi dan
diinterpretasikan. Biasanya, bahasa pemrograman diproyeksikan dengan
faktor ini di benak konstruktornya - apakah akan dikompilasi atau ditafsirkan?
===
Apa yang sebenarnya dilakukan penerjemah?
Mari kita asumsikan sekali lagi bahwa Anda telah menulis
sebuah program. Sekarang, ia ada sebagai file komputer :
program komputer sebenarnya adalah sepotong teks, jadi kode sumber biasanya
ditempatkan dalam file teks . Catatan: harus berupa teks
murni , tanpa dekorasi seperti font, warna, gambar yang disematkan,
atau media lain. Sekarang Anda harus memanggil juru bahasa dan
membiarkannya membaca file sumber Anda.
Penerjemah membaca kode sumber dengan cara yang umum dalam
budaya Barat: dari atas ke bawah dan dari kiri ke kanan. Ada beberapa
pengecualian - mereka akan dibahas nanti dalam kursus.
Pertama-tama, penerjemah memeriksa apakah semua baris
berikutnya sudah benar (menggunakan empat aspek yang dibahas sebelumnya).
Jika kompiler menemukan kesalahan, itu menyelesaikan
pekerjaannya segera. Satu-satunya hasil dalam kasus ini adalah pesan
kesalahan . Penerjemah akan memberi tahu Anda di mana letak
kesalahan itu dan apa penyebabnya. Namun, pesan-pesan ini mungkin
menyesatkan, karena penerjemah tidak dapat mengikuti maksud Anda, dan mungkin
mendeteksi kesalahan pada jarak tertentu dari penyebab sebenarnya.
Misalnya, jika Anda mencoba menggunakan entitas dengan nama
yang tidak dikenal, itu akan menyebabkan kesalahan, tetapi kesalahan akan
ditemukan di tempat di mana ia mencoba menggunakan entitas, bukan di mana nama
entitas baru diperkenalkan.
Dengan kata lain, alasan sebenarnya biasanya terletak
sedikit lebih awal dalam kode, misalnya di tempat Anda harus memberi tahu
penerjemah bahwa Anda akan menggunakan entitas dari nama tersebut.
Jika garis terlihat bagus, penerjemah mencoba untuk
mengeksekusinya (catatan: setiap baris biasanya dieksekusi secara terpisah,
sehingga trio "baca-periksa-eksekusi" dapat diulang berkali-kali - lebih
banyak dari jumlah aktual baris dalam file sumber) , karena beberapa bagian
dari kode dapat dieksekusi lebih dari satu kali).
Ada kemungkinan juga bahwa sebagian besar kode dapat
dieksekusi dengan sukses sebelum penerjemah menemukan kesalahan. Ini adalah
perilaku normal dalam model eksekusi ini.
Anda mungkin bertanya sekarang: mana yang lebih
baik? Model "kompilasi" atau model
"interpreting"? Tidak ada jawaban yang jelas. Jika ada,
salah satu model ini sudah tidak ada sejak lama. Keduanya memiliki kelebihan
dan kekurangan masing-masing.
===
Kompilasi vs. interpretasi - kelebihan dan kekurangan
KOMPILASI
|
INTERPRETASI
|
|
KEUNTUNGAN
|
|
|
KEUNGGULAN
|
|
|
===
Apa itu Python?
Python adalah bahasa pemrograman tingkat tinggi yang
digunakan secara luas, ditafsirkan, berorientasi objek, dan tinggi dengan
semantik dinamis, yang digunakan untuk pemrograman tujuan umum.
Dan sementara Anda mungkin tahu python sebagai ular besar,
nama bahasa pemrograman Python berasal dari serial sketsa komedi televisi BBC
yang disebut Monty Python Flying Circus .
Pada puncak kesuksesannya, tim Monty Python menampilkan
sketsa mereka untuk penonton langsung di seluruh dunia, termasuk di Hollywood
Bowl.
Karena Monty Python dianggap sebagai salah satu dari dua
nutrisi mendasar bagi seorang programmer (yang lainnya adalah pizza), pencipta
Python menamakan bahasa itu untuk menghormati acara TV.
Siapa yang membuat Python?
Salah satu fitur luar biasa dari Python adalah kenyataan
bahwa itu sebenarnya adalah pekerjaan satu orang. Biasanya, bahasa
pemrograman baru dikembangkan dan diterbitkan oleh perusahaan besar yang
mempekerjakan banyak profesional, dan karena aturan hak cipta, sangat sulit
untuk menyebutkan siapa saja yang terlibat dalam proyek. Python adalah
pengecualian.
Tidak banyak bahasa yang penulisnya dikenal dengan
namanya. Python diciptakan oleh Guido van Rossum , lahir
pada tahun 1956 di Haarlem, Belanda. Tentu saja, Guido van Rossum tidak
mengembangkan dan mengembangkan sendiri semua komponen Python.
Kecepatan penyebaran Python ke seluruh dunia adalah hasil
dari kerja berkesinambungan ribuan programmer, penguji, pengguna (banyak dari
mereka bukan spesialis IT) dan penggemar, tetapi harus dikatakan bahwa ide
pertama (benih dari mana Python tumbuh) sampai pada satu kepala - milik Guido.
====
Proyek pemrograman hobi
Keadaan di mana Python dibuat agak membingungkan. Menurut
Guido van Rossum:
Pada bulan Desember 1989, saya mencari proyek pemrograman
"hobi" yang akan membuat saya sibuk selama minggu sekitar
Natal. Kantor saya (...) akan ditutup, tetapi saya memiliki komputer di
rumah, dan tidak banyak lagi di tangan saya. Saya memutuskan untuk menulis
penerjemah untuk bahasa scripting baru yang saya pikirkan akhir-akhir ini:
keturunan ABC yang akan menarik bagi peretas Unix / C. Saya memilih Python
sebagai judul yang berfungsi untuk proyek ini, berada dalam suasana hati yang
sedikit tidak sopan (dan penggemar berat Circus Terbang Monty Python).Guido
van Rossum
Tujuan Python
Pada 1999, Guido van Rossum mendefinisikan tujuannya untuk
Python:
- bahasa
yang mudah dan intuitif sama kuatnya dengan yang dimiliki
pesaing utama;
- open
source , sehingga siapa saja dapat berkontribusi untuk
pengembangannya;
- kode
yang bisa dimengerti seperti bahasa Inggris biasa;
- cocok
untuk tugas sehari-hari , memungkinkan untuk waktu pengembangan
yang singkat.
Sekitar 20 tahun kemudian, jelas bahwa semua niat ini telah
terpenuhi. Beberapa sumber mengatakan bahwa Python adalah bahasa
pemrograman paling populer di dunia, sementara yang lain mengklaim itu ketiga
atau kelima.
Either way, itu masih menempati peringkat tinggi dalam
sepuluh besar PYPL
PopularitY of Programming Language dan Indeks Komunitas
Pemrograman TIOBE .
Python bukan bahasa muda. Itu dewasa dan dapat
dipercaya . Ini bukan keajaiban satu-hit. Ini adalah bintang
yang cemerlang dalam cakrawala pemrograman, dan waktu yang dihabiskan untuk
belajar Python adalah investasi yang sangat bagus.
===
Apa yang membuat Python istimewa?
Bagaimana bisa terjadi bahwa pemrogram, tua dan muda,
berpengalaman dan pemula, ingin menggunakannya? Bagaimana bisa terjadi
bahwa perusahaan besar mengadopsi Python dan menerapkan produk andalan mereka
menggunakannya?
Ada banyak alasan - kami telah mendaftarkan beberapa di
antaranya, tetapi mari kita sebutkan lagi dengan cara yang lebih praktis:
- itu mudah
untuk belajar - waktu yang dibutuhkan untuk belajar Python lebih
pendek daripada banyak bahasa lainnya; ini berarti bahwa mungkin
untuk memulai pemrograman yang sebenarnya lebih cepat;
- itu mudah
untuk mengajar - beban kerja mengajar lebih kecil dari yang
dibutuhkan oleh bahasa lain; ini berarti bahwa guru dapat lebih
menekankan pada teknik pemrograman umum (tidak tergantung bahasa), tidak
membuang-buang energi untuk trik-trik eksotis, pengecualian aneh dan
aturan yang tidak dapat dipahami;
- itu mudah
digunakan untuk menulis perangkat lunak baru - itu sering mungkin
untuk menulis kode lebih cepat saat menggunakan Python;
- itu mudah
untuk memahami - itu juga sering lebih mudah untuk memahami kode
orang lain lebih cepat jika ditulis dengan Python;
- itu mudah
untuk mendapatkan, menginstal dan menyebarkan - Python bebas,
terbuka dan multiplatform; tidak semua bahasa bisa membanggakan itu.
Tentu saja, Python juga memiliki kekurangan:
- itu
bukan setan kecepatan - Python tidak memberikan kinerja yang luar biasa;
- dalam
beberapa kasus mungkin tahan terhadap beberapa teknik pengujian yang lebih
sederhana - ini mungkin berarti bahwa debug kode Python bisa lebih sulit
daripada dengan bahasa lain; untungnya, membuat kesalahan selalu
lebih sulit dengan Python.
Juga harus dinyatakan bahwa Python bukan satu-satunya solusi
dari jenisnya yang tersedia di pasar TI.
Ini memiliki banyak pengikut, tetapi ada banyak yang lebih
suka bahasa lain dan bahkan tidak mempertimbangkan Python untuk proyek mereka.
===
Saingan python?
Python memiliki dua pesaing langsung, dengan properti dan
kecenderungan yang sebanding. Ini adalah:
- Perl -
bahasa scripting yang awalnya ditulis oleh Larry Wall;
- Ruby -
bahasa penulisan yang awalnya ditulis oleh Yukihiro Matsumoto.
Yang pertama lebih tradisional, lebih konservatif daripada
Python, dan menyerupai beberapa bahasa tua yang baik yang berasal dari bahasa
pemrograman C klasik.
Sebaliknya, yang terakhir lebih inovatif dan lebih penuh
ide-ide segar daripada Python. Python sendiri terletak di antara dua
kreasi ini.
Internet penuh dengan forum dengan diskusi yang tak terbatas
tentang keunggulan salah satu dari tiga di atas yang lain, jika Anda ingin
belajar lebih banyak tentang masing-masing.
Di mana kita bisa melihat Python beraksi?
Kami melihatnya setiap hari dan hampir di
mana-mana. Ini digunakan secara luas untuk mengimplementasikan layanan
Internet yang kompleks seperti mesin pencari, penyimpanan dan
alat cloud, media sosial dan sebagainya. Setiap kali Anda menggunakan
salah satu layanan ini, Anda sebenarnya sangat dekat dengan Python, meskipun
Anda tidak akan mengetahuinya.
Banyak alat pengembangan diimplementasikan
dalam Python. Semakin banyak aplikasi penggunaan sehari-hari sedang
ditulis dalam Python. Banyak ilmuwan telah meninggalkan
alat milik mahal dan beralih ke Python. Banyak penguji proyek
TI sudah mulai menggunakan Python untuk melakukan prosedur pengujian
berulang. Daftarnya panjang.
Kenapa tidak Python?
Meskipun popularitas Python semakin meningkat, masih ada
beberapa celah di mana Python tidak ada, atau jarang terlihat:
- pemrograman
tingkat rendah (kadang-kadang disebut pemrograman "dekat
dengan logam"): jika Anda ingin menerapkan driver atau mesin grafis
yang sangat efektif, Anda tidak akan menggunakan Python;
- aplikasi
untuk perangkat seluler : meskipun wilayah ini masih menunggu
untuk ditaklukkan oleh Python, kemungkinan besar akan terjadi suatu hari
nanti.
====
Ada lebih dari satu Python
Ada dua jenis utama Python, yang disebut Python 2 dan Python
3.
Python 2 adalah versi lama dari Python
asli. Perkembangannya sejak itu sengaja terhenti, meskipun itu tidak
berarti bahwa tidak ada pembaruan untuk itu. Sebaliknya, pembaruan
dikeluarkan secara berkala, tetapi pembaruan itu tidak dimaksudkan untuk
mengubah bahasa secara signifikan. Mereka lebih suka memperbaiki bug dan
lubang keamanan yang baru ditemukan. Jalur pengembangan Python 2 telah
mencapai jalan buntu, tetapi Python 2 sendiri masih sangat hidup.
Python 3 adalah versi bahasa yang lebih baru (tepatnya,
saat ini). Ia melalui jalur evolusinya sendiri, menciptakan standar dan
kebiasaannya sendiri.
Yang pertama lebih tradisional, lebih konservatif daripada
Python, dan menyerupai beberapa bahasa tua yang baik yang berasal dari bahasa
pemrograman C klasik.
Kedua versi Python ini tidak kompatibel satu sama
lain. Skrip Python 2 tidak akan berjalan dalam lingkungan Python 3 dan
sebaliknya, jadi jika Anda ingin kode Python 2 lama dijalankan oleh juru bahasa
Python 3, satu-satunya solusi yang mungkin adalah menulis ulang, bukan dari
awal, tentu saja, karena sebagian besar kode mungkin tidak tersentuh, tetapi
Anda harus merevisi semua kode untuk menemukan semua kemungkinan tidak
kompatibel. Sayangnya, proses ini tidak dapat diotomatisasi sepenuhnya.
Terlalu sulit, terlalu memakan waktu, terlalu mahal, dan
terlalu berisiko untuk memigrasikan aplikasi Python 2 lama ke platform
baru. Ada kemungkinan bahwa menulis ulang kode akan menimbulkan bug
baru. Lebih mudah dan lebih masuk akal untuk membiarkan sistem ini
sendirian dan meningkatkan penerjemah yang ada, daripada mencoba bekerja di
dalam kode sumber yang sudah berfungsi.
Python 3 bukan hanya versi yang lebih baik dari Python 2 -
itu adalah bahasa yang sama sekali berbeda, meskipun sangat mirip dengan pendahulunya. Ketika
Anda melihat mereka dari kejauhan, mereka tampak sama, tetapi ketika Anda
melihat dari dekat, Anda melihat banyak perbedaan.
Jika Anda memodifikasi solusi Python lama yang ada, maka
sangat mungkin bahwa itu dikodekan dalam Python 2. Ini adalah alasan mengapa
Python 2 masih digunakan. Ada terlalu banyak aplikasi Python 2 yang ada
untuk dibuang sama sekali.
CATATAN
Jika Anda akan memulai proyek Python baru, Anda
harus menggunakan Python 3, dan ini adalah versi Python yang akan digunakan
selama kursus ini.
Penting untuk diingat bahwa mungkin ada perbedaan yang lebih
kecil atau lebih besar antara rilis Python 3 berikutnya (misalnya, Python 3.6
memperkenalkan kunci kamus terurut secara default di bawah implementasi
CPython) - kabar baiknya, meskipun, adalah bahwa semua versi Python 3 yang
lebih baru yang kompatibel dengan versi sebelumnya dari Python
3. Setiap kali berarti dan penting, kita akan selalu mencoba untuk menyorot
perbedaan dalam kursus.
Semua sampel kode yang akan Anda temukan selama kursus telah
diuji terhadap Python 3.4, Python 3.6, dan Python 3.7.
===
Python alias CPython
Selain Python 2 dan Python 3, ada lebih dari satu versi
masing-masing.
Pertama-tama, ada Python yang dikelola oleh orang-orang yang
berkumpul di sekitar PSF ( Python Software Foundation ), sebuah komunitas yang
bertujuan untuk mengembangkan, meningkatkan, memperluas, dan mempopulerkan
Python dan lingkungannya. Presiden PSF adalah Guido von Rossum sendiri,
dan karena alasan ini, Python ini disebut kanonik . Mereka
juga dianggap referensi Python , karena implementasi bahasa
lainnya harus mengikuti semua standar yang ditetapkan oleh PSF.
Guido van Rossum menggunakan bahasa pemrograman
"C" untuk mengimplementasikan versi pertama dari bahasanya dan
keputusan ini masih berlaku. Semua Python yang berasal dari PSF ditulis
dalam bahasa "C". Ada banyak alasan untuk pendekatan ini dan ini
memiliki banyak konsekuensi. Salah satunya (mungkin yang paling penting)
adalah karena itu, Python dapat dengan mudah dipindahkan dan dimigrasikan ke
semua platform dengan kemampuan untuk mengkompilasi dan menjalankan program
bahasa "C" (hampir semua platform memiliki fitur ini, yang membuka
banyak ekspansi peluang untuk Python).
Inilah sebabnya mengapa implementasi PSF sering disebut
sebagai CPython . Ini adalah Python yang paling
berpengaruh di antara semua Python di dunia.
Cython
Anggota keluarga Python lainnya adalah Cython .
Cython adalah salah satu dari sejumlah kemungkinan solusi
untuk sifat Python yang paling menyakitkan - kurangnya
efisiensi. Perhitungan matematika yang besar dan kompleks dapat dengan
mudah dikodekan dalam Python (jauh lebih mudah daripada dalam "C"
atau bahasa tradisional lainnya), tetapi eksekusi kode yang dihasilkan mungkin
sangat memakan waktu.
Bagaimana dua kontradiksi ini direkonsiliasi? Salah
satu solusinya adalah menulis ide matematika Anda menggunakan Python, dan
ketika Anda benar-benar yakin bahwa kode Anda benar dan menghasilkan hasil yang
valid, Anda dapat menerjemahkannya ke "C". Tentu saja,
"C" akan berjalan lebih cepat daripada Python murni.
Inilah yang ingin dilakukan oleh Cython - untuk secara
otomatis menerjemahkan kode Python (bersih dan jelas, tetapi tidak terlalu
cepat) menjadi kode "C" (rumit dan banyak bicara, tetapi gesit).
====
Jython
Versi lain dari Python disebut Jython .
"J" adalah untuk "Java". Bayangkan
sebuah Python ditulis dalam Java dan bukan C. Ini berguna, misalnya, jika Anda
mengembangkan sistem besar dan kompleks yang seluruhnya ditulis dalam Java dan
ingin menambahkan fleksibilitas Python pada mereka. CPython tradisional
mungkin sulit diintegrasikan ke dalam lingkungan seperti itu, karena C dan Java
hidup di dunia yang sama sekali berbeda dan tidak berbagi banyak ide umum.
Jython dapat berkomunikasi dengan infrastruktur Java yang
ada dengan lebih efektif. Inilah sebabnya mengapa beberapa proyek merasa
dapat digunakan dan diperlukan.
Catatan: implementasi Jython saat ini mengikuti standar
Python 2. Tidak ada Jython yang sesuai dengan Python 3, sejauh ini.
PyPy dan RPython
Ini adalah logo PyPy - Python di dalam
Python. Dengan kata lain, ini merepresentasikan lingkungan Python yang
ditulis dalam bahasa mirip-Python bernama RPython (Restricted
Python). Ini sebenarnya adalah bagian dari Python. Kode sumber PyPy
tidak dijalankan dengan cara interpretasi, melainkan diterjemahkan ke dalam
bahasa pemrograman C dan kemudian dieksekusi secara terpisah.
Ini berguna karena jika Anda ingin menguji setiap fitur baru
yang mungkin (tetapi tidak harus) diperkenalkan ke dalam implementasi Python
mainstream, lebih mudah untuk memeriksanya dengan PyPy daripada dengan
CPython. Inilah sebabnya mengapa PyPy bukan alat untuk orang yang
mengembangkan Python daripada untuk pengguna lainnya.
Ini tidak membuat PyPy kurang penting atau kurang serius
daripada CPython, tentu saja.
Selain itu, PyPy kompatibel dengan bahasa Python 3.
Ada banyak Python berbeda di dunia. Anda akan
menemukannya jika Anda melihatnya, tetapi kursus ini akan fokus pada
CPython .
0 Comments