Belajar Dan Mengenal Tentang Pengkodean Python

Belajar Dan Mengenal Tentang Pengkodean Python – Apakah Python bahasa pengkodean pertama yang “terbaik”? Apa yang bisa Anda bangun dengan Python dan jenis pekerjaan apa yang bisa Anda dapatkan dengan keterampilan Python? Director of Fellowship Hackbright Academy , Meggie Mahnken, menjelaskan asal-usul Python, bagaimana Python digunakan oleh pengembang nyata, dan mengapa Hackbright Academy mengajarkan Python. Inilah semua yang perlu diketahui pemula tentang belajar Python (ditambah beberapa sumber daya gratis yang bagus untuk memulai).

binaryjs

Belajar Dan Mengenal Tentang Pengkodean Python

Apa itu Python?

binaryjs – Python adalah bahasa pemrograman backend yang bagus untuk pemula. Python mirip dalam banyak hal dengan Ruby, tetapi kurang verbose daripada bahasa pemrograman lain – sedikit kurang bertele-tele .
Python dapat didekati . Bahkan jika Anda belum mengambil kelas CS, Anda masih dapat menulis alat yang berguna dengan Python. Ini tingkat tinggi , jadi Anda tidak perlu berurusan dengan aspek pemrograman tingkat rendah, seperti manajemen memori.
Python dapat digunakan untuk scripting, web scraping, dan membuat kumpulan data. Ini populer di komunitas ilmiah untuk komputasi ilmiah ; ada perpustakaan yang memudahkan berbagi proyek kode akademik dengan Python.

Baca Juga : Perbandingan Fitur Python 3.9 vs Python 3.10

Python adalah bahasa pemrograman web , sehingga berinteraksi dengan internet. Ia tahu bagaimana menerima dan mengirim permintaan web dan berbicara dengan database.
Python dikatakan ” diketik secara longgar .” Kategori bahasa pemrograman ini tidak mengharuskan Anda untuk menyatakan tipe nilai yang dikembalikan fungsi saat Anda mendefinisikan fungsi atau tipe variabel sebelum Anda membuatnya.
Komunitas Python ramah , terpelihara dengan baik, dan terdokumentasi dengan baik. Itu penting untuk pemula!

Apa asal usul Python?

Pada pertengahan 1980-an seorang rekan Belanda bernama Guido van Rossum sedang mengerjakan proyek pendidikan untuk membangun bahasa bagi pembuat kode baru yang disebut ABC . Sebagai hasil dari mengerjakan proyek ini, Van Rossum menjadi tertarik pada desain bahasa, dan saat itulah ia mulai mengerjakan Python. Dia membuat beberapa keputusan yang tidak biasa, yang benar-benar membedakan Python dari zeitgeist pada waktu itu, dan terus membuat bahasa itu istimewa hari ini.

Indentasi di Python

Salah satu keputusan Van Rossum adalah membuat lekukan bermakna , yang tidak biasa dalam bahasa pemrograman. Kritikus yang berpikir ini akan membuat bahasa sulit digunakan tidak menerima ide dengan baik, tetapi fitur ini adalah bagian dari alasan mengapa Python dapat dibaca dan populer. Gaya kode yang baik dan keterbacaan ditegakkan dengan cara Anda harus menulis Python. Ketika saya pertama kali belajar tentang indentasi di Python, saya terkejut sebagai alasan keberhasilan bahasa tersebut.

Mendorong pengkodean yang bertanggung jawab

Banyak desain Python adalah tentang mendorong pengembang untuk membuat keputusan yang baik, sehingga kode Python lebih mudah dibaca. Meskipun lekukan ditegakkan dengan Python, banyak hal lain yang tidak diterapkan, jadi Anda harus menjadi pembuat kode yang bertanggung jawab untuk benar-benar menulis Python yang baik. Tidak seperti Java, Python tidak meneriaki Anda jika Anda memanggil variabel atau fungsi dengan nama tertentu, dan tidak mengharuskan Anda untuk mendefinisikan tipe.

Orang sering menggambarkan Java sebagai orang tua yang sangat mengontrol, yang secara aktif mencegah Anda bermain di jalan dan memaksa Anda untuk tinggal di rumah. Meskipun JavaScript telah berkembang jauh, dapat dikatakan bahwa JavaScript adalah orang tua yang secara aktif mendorong Anda untuk membuat pilihan yang buruk dan bermain di jalan. Python ada di suatu tempat di tengah: orang tua yang mengatakan Anda bisa bermain di jalan, tetapi haruskah Anda melakukannya? Mereka akan membiarkan Anda melakukannya, tapi itu keputusan Anda, dan Anda harus menghadapi konsekuensinya. Jadi Python adalah media yang menyenangkan.

Mengapa Python merupakan bahasa pengkodean pertama yang bagus untuk pemula?

Sintaks Python sangat mirip dengan English , sehingga intuitif, yang membantu Anda memahami apa yang sedang terjadi. Anda tidak perlu mencari arti simbol ketika Anda menggunakan Python.
Python sangat mudah dibaca bahkan jika seluruh basis kode perusahaan tidak ditulis dengan Python, pengembang cenderung ingin menulis kode dengan Python . Mentor dan alumni Hackbright memberi tahu saya bahwa meskipun mereka tidak selalu dapat menulis dengan Python, mereka mencoba untuk menulis proyek yang lebih kecil, alat internal, dan skrip otomatisasi dengan Python.
Python akan menjadi keterampilan yang berharga jika Anda bergabung dengan tim rekayasa perangkat lunak karena Anda akan tahu cara membuat sesuatu yang terpelihara dengan baik dan diterima dengan baik oleh tim Anda.
Pemrogram Python termasuk yang paling dibayar tinggi , yang menggembirakan, terutama jika Anda mempertimbangkan untuk memulai karir di bidang rekayasa perangkat lunak.

Kerangka kerja mana yang akan saya gunakan dengan Python?

Django dan Flask adalah kerangka kerja web paling populer dengan Python. Notebook Jupyter populer di kalangan ilmuwan, orang-orang yang mempelajari pembelajaran mesin, dan orang-orang di sisi komputasi yang lebih akademis pada umumnya. Mereka memungkinkan Anda membagikan cuplikan kode yang dapat dijalankan bersama penjelasan tentang apa yang dilakukan kode tersebut.

Bagaimana pengembang nyata menggunakan Python dalam pekerjaan mereka?

Ketika saya bertanya kepada alumni atau mentor untuk apa mereka menggunakan Python dalam pekerjaan mereka, inilah yang saya dengar:

Mereka menulis Python karena itulah bahasa back-end yang digunakan perusahaan mereka. Itu cukup umum, tetapi kami melihat banyak lulusan menggunakan Java, Ruby, dan PHP, dan lainnya.
Ketika perusahaan tidak menggunakan Python untuk bahasa back-end utama mereka, mereka mungkin menggunakan Python untuk membuat skrip untuk penerapan atau tugas pengembangan lainnya , mengelola proses otomatisasi , membersihkan data , atau memigrasikan data dari satu tempat ke tempat lain.
Python dapat dibaca dan cukup deklaratif, sehingga cenderung baik untuk tugas-tugas manajemen satu kali. Python juga sedikit mirip dengan lem super – ini bagus untuk menghubungkan berbagai perpustakaan, sumber data, dll. sebagai satu alat atau program yang kohesif.
Sebagian besar perusahaan besar menggunakan Python untuk sesuatu. Yelp adalah toko Python yang terkenal. Pembuat Python bekerja di Dropbox, dan sebagian besar Dropbox dibuat dengan Python.

Apa kelemahan Python?

Python lebih lambat dari bahasa lain. Ada trade off antara seberapa tinggi dan abstrak bahasa pemrograman, dan seberapa efisiennya dalam hal penggunaan memori dan penggunaan ruang. Python bukan tingkat rendah, jadi tidak secepat atau seefisien bahasa tingkat rendah yang dikompilasi, seperti Java atau Rust. Lebih jarang menggunakan Python untuk membangun sistem database terdistribusi atau sistem lain di mana kecepatan sangat penting.

Ada juga beberapa kekhawatiran tentang scalability , meskipun saya tahu bahwa Anda dapat membuat Python scalable dengan implementasi bahasa yang berbeda, seperti PyPy.

Mengapa Hackbright Academy mengajarkan Python alih-alih Ruby dan JavaScript Full-Stack?

Di Hackbright, kami terjebak dengan Python karena memiliki etika desain yang bekerja sangat baik untuk programmer baru. Ide-ide sentral bahasa Python diringkas dalam telur paskah dalam bahasa, yang merupakan puisi berjudul The Zen of Python :

Dikatakan “sederhana lebih baik daripada kompleks, kompleks lebih baik daripada rumit.” Itu tidak hanya mengacu pada panduan gaya kode, tetapi juga pendekatan desain tingkat tinggi yang harus Anda ambil saat membuat sistem yang rumit.
Pengajaran Python membantu staf pendidikan kami mendorong siswa untuk memprioritaskan pengejaran keanggunan , daripada mencoba menulis program yang paling pintar atau rumit.

Ini juga merupakan bahasa yang sangat bagus untuk mempelajari topik inti ilmu komputer . Bootcamper pengkodean perlu mempelajari konsep-konsep menengah / lanjutan yang datang pada tahun kedua atau ketiga gelar ilmu komputer, seperti:

  • Analisis runtime
  • Daftar tertaut
  • Pengulangan

Bagaimana memahami, menganalisis, dan membuat algoritma

Python memungkinkan siswa berhenti memikirkan sintaks dan hanya fokus pada pemecahan masalah. Siswa Hackbright bersemangat untuk mempelajari dasar-dasar ilmu komputer itu, dan Python tidak menghalangi mereka.

AI Mengubah Pengkodean Program Komputer

AI Mengubah Pengkodean Program Komputer – Generative Pre-Trained Transformer 3, untuk memberikan nama lengkapnya, adalah model bahasa yang dikembangkan oleh OpenAI, laboratorium kecerdasan buatan (AI) sebagian komersial, sebagian nirlaba di San Francisco.

binaryjs

AI Mengubah Pengkodean Program Komputer

binaryjs – GPT-3 dilatih pada banyak teks yang belum pernah ada sebelumnya untuk mengajarkan kemungkinan bahwa kata tertentu akan mengikuti kata-kata sebelumnya. Ketika diberi teks pendek “prompt”, itu menghasilkan prosa koheren yang menakjubkan yang ditulis dengan gaya yang sama.

Akses ke GPT-3 dibatasi. Untuk satu hal, kata Jack Clark, mantan kepala kebijakan di organisasi tersebut, hal itu mungkin digunakan untuk memproduksi berita palsu secara massal atau membanjiri media sosial dengan pesan-pesan “mengejek dan berduka”.

Baca Juga : Interweaving Poetic Code Terwujud Untuk Menggabungkan Tekstil Dan Coding Robot

Tetapi OpenAI juga tahu bahwa GPT-3 bernilai komersial. Tahun lalu laboratorium mulai membiarkan perusahaan yang diperiksa membeli hasilnya untuk penggunaan yang disetujui. Ini termasuk menghasilkan jawaban atas pertanyaan yang diketik tentang produk, dan memperkuat pidato karakter fiksi di dunia virtual. Tapi mungkin yang paling penting, GPT-3 juga bisa digunakan untuk menulis kode komputer.

Beberapa perusahaan sudah menggunakan GPT-3 dan pendahulunya GPT-2 untuk menambahkan AI ke perangkat lunak yang digunakan pemrogram mereka untuk menulis kode. Banyak dari apa yang diketik oleh programmer ini telah ditulis di tempat lain di beberapa titik di masa lalu.

Ini berarti bahwa dengan memasukkan banyak sekali kode yang sudah ada sebelumnya ke dalam paket-paket tersebut, mereka dapat dilatih untuk memprediksi baris yang dibutuhkan programmer selanjutnya. Saat seorang programmer mengetik, “penyelesaian kode” potensial dari satu atau beberapa baris muncul di layar.
Memprediksi dan menyediakan

Salah satu perusahaan yang telah menciptakan fitur penyelesaian AI seperti itu adalah Tabnine, dari Tel Aviv. Tabnine menggunakan GPT-2 untuk memasukkan begitu banyak kode ke perangkat lunak pemrogramannya, juga bernama Tabnine, sehingga perangkat lunak ini memperoleh semacam “pengetahuan dunia”, kata Eran Yahav, teknolog top perusahaan.

Dr Yahav menggambarkan ini sebagai “gagasan yang cukup bagus tentang bagaimana dunia berperilaku”, setidaknya ketika berbicara tentang pemrograman. Perangkat lunak Tabnine dapat mendeteksi bahwa pengguna telah mulai mengetik kode untuk menangani, katakanlah, pesanan pembelian.

Kemudian akan menyarankan kode untuk menampilkan nama dan harga produk, serta kode untuk membuat kolom untuk diisi dengan jumlah, pembayaran dan data pengiriman. Ia bekerja meskipun Tabnine tidak pernah secara khusus diperintahkan untuk melakukan itu.

Beberapa urutan pengkodean jarang terjadi. Dalam kasus ini, Tabnine memperpanjang daftar pop-up penyelesaian yang disarankan untuk meningkatkan kemungkinan menawarkan yang bermanfaat. Dengan mengklik salah satu yang sesuai, programmer mengajarkan Tabnine untuk tampil lebih baik. Versi profesional Tabnine tampaknya “hampir cerdas” dalam kemampuannya untuk memahami maksud programmer, menurut Dror Weiss, bos perusahaan.

Tabin tidak sendirian. Pada tanggal 17 Juni Microsoft, raksasa perangkat lunak Amerika, merilis versi baru dari fitur penyelesaian AI yang disematkan dalam perangkat lunak pengkodean yang disebut Visual Studio. Versi aslinya, dirilis pada tahun 2018 dan diberi nama IntelliCode, dilatih pada beberapa ribu repositori online tempat kode untuk proyek pemrograman disimpan.

Microsoft melatih sistemnya yang ditingkatkan pada lebih dari setengah juta repositori semacam itu. Amanda Silver, salah satu eksekutif yang bertanggung jawab atas Visual Studio, mengatakan bahwa tumpukan pelatihan tambahan ini memungkinkan versi baru untuk mendapatkan maksud yang lebih baik dari petunjuk dalam kode yang telah ditulis oleh seorang programmer.

Tujuan dari semua ini, tentu saja, adalah untuk menghemat waktu. Kite, sebuah perusahaan di San Francisco, mengklaim produk AI-completion-nya memangkas jumlah penekanan tombol yang diperlukan untuk beberapa tugas hingga hampir setengahnya. Keuntungan efisiensi keseluruhan, bagaimanapun, lebih rendah.

Vitaly Khudobakhshov, kepala produk AI di kantor JetBrains St Petersburg, pengembang perangkat lunak pemrograman Ceko, melihat penghematan waktu sebesar 10% hingga 20%. Dalam pandangan Sharif Shameem, bos Debuild, sebuah perusahaan di San Francisco yang menggunakan GPT-3 untuk membantu membangun situs web, teknologi ini juga mengurangi “overhead kognitif”. Memilih dari beberapa pilihan kurang melelahkan daripada merancang solusi dari awal.

Bug dan sistem

Mereka yang menulis kode juga bukan satu-satunya penerima manfaat. Pengembang menghabiskan hampir banyak waktu untuk mencari bug dalam apa yang telah mereka tulis seperti halnya menulisnya di tempat pertama. Model pembelajaran mesin yang sedang dibangun oleh Brendan Dolan-Gavitt dari Universitas New York dapat mempercepat proses debug.

Untuk melatihnya, Dr Dolan-Gavitt mengumpulkan kode yang diberi label buggy oleh GitHub, anak perusahaan Microsoft yang menampung koleksi kode “sumber terbuka” non-eksklusif terbesar di dunia. Menurut satu perkiraan, GitHub menyimpan setidaknya satu miliar cuplikan kode yang diidentifikasi sebagai menyembunyikan bug. Model Dr Dolan-Gavitt, sementara disebut GPT-CSRC, akan melahap kode itu musim panas ini.

Model bug-spotting lainnya sedang dikembangkan di Massachusetts Institute of Technology (MIT). Shashank Srikant, seorang mahasiswa PhD yang mengerjakan proyek tersebut, mengatakan tujuannya adalah untuk melatih model untuk mengenali tidak hanya bug yang tidak disengaja, tetapi juga kerentanan yang dimasukkan secara jahat.

Karyawan nakal terkadang berada di balik tipu daya semacam ini, yang dimaksudkan untuk melakukan hal-hal seperti secara diam-diam mendapatkan akses ke kata sandi. Namun, praktik ini paling umum dalam proyek pemrograman sumber terbuka yang dapat disumbangkan oleh siapa saja. Peninjau manusia biasanya berjuang untuk menemukan “suntikan kerentanan” ini, seperti yang kadang-kadang dikenal.

Alasannya, kata Srikant, adalah bahwa, dalam upaya untuk menyelipkan hasil kerja mereka melewati pengulas, pembuat kode yang licik sering menggunakan nama yang menipu tetapi murni kosmetik untuk hal-hal seperti variabel yang ditangani oleh sebuah program.

Oleh karena itu, tim di MIT melatih modelnya untuk menandai perbedaan antara label cuplikan dan fungsi sebenarnya. Kesulitannya adalah bahwa contoh yang baik dari kerusakan seperti itu jauh lebih jarang daripada kesalahan biasa.

Namun, ada tanda tambahan bahwa injeksi kerentanan mungkin mengintai. Pembuat kode jahat sering menyembunyikan ini dengan menulis kode berlebihan yang dimaksudkan untuk membuat pengulas, jadi Mr Srikant juga memberi makan model MIT dengan contoh jenis kode yang berpotensi sebagai tanda, yang ia gambarkan sebagai “menggantung” dan “mati”.

Tujuan yang jelas dari semua aktivitas ini adalah penciptaan pemrogram perangkat lunak yang dapat, seperti keragaman manusia, mengambil ide dan mengubahnya menjadi kode. Sebuah firasat tentang hal-hal yang akan datang disediakan oleh situs web yang dibuat oleh Dr Dolan-Gavitt.

Dinamakan “Kode Ini Tidak Ada”, kode ini meminta pemrogram untuk menentukan apakah bagian kode yang panjangnya puluhan baris ditulis oleh manusia atau model berdasarkan GPT-2 yang dia buat. Dari lebih dari 329.200 penilaian yang dilakukan, kurang dari 51% yang benar. Itu hanya bayangan yang lebih baik daripada acak.

Mesin, ternyata, sekarang dapat menulis urutan kode yang berfungsi bahkan agak panjang. Seperti yang ditweet oleh John Carmack, seorang insinyur komputer Amerika yang terkenal, merenungkan perkembangan ini “menghasilkan sedikit getaran”. Tidak mengherankan, sejumlah perusahaan melihat peluang.

Salah satunya adalah perusahaan Paris bernama SourceAI. Ini merancang perangkat lunak tempat pengguna mengetik, dalam bahasa alami, permintaan kode—seperti sesuatu yang akan menghitung nilai angka dalam rumus matematika yang disebut deret Fibonacci. Dengan memanfaatkan GPT-3, perangkat lunak eponim SourceAI menghasilkan baris kode yang diinginkan dalam berbagai bahasa pemrograman.

Debuild sedang menguji ide yang sama. Ia mencoba membuat perangkat lunak yang memungkinkan non-programmer menggambarkan, dalam bahasa Inggris sederhana, sebuah program yang ingin mereka buat, dan kemudian akan menulisnya.

Permintaan untuk, katakanlah, aplikasi pangkas rambut yang memungkinkan pelanggan memilih tukang cukur dan slot janji temu sudah dapat menghasilkan lebih atau kurang hanya itu. Mr Shameem mengatakan tujuannya adalah untuk menghapus hal-hal kecil dari mengetik kode, sehingga orang dapat fokus pada apa yang ingin mereka lakukan, bukan bagaimana menginstruksikan komputer untuk melakukannya.

Untuk bagiannya, Microsoft juga menggunakan GPT-3 untuk mendukung apa yang disebutnya pemrograman “tanpa kode/kode rendah”. Charles Lamanna, yang memimpin pekerjaan tersebut, membayangkan masa depan yang cerah dari perangkat lunak yang lebih murah yang dibuat oleh “pengembang warga” yang tidak terlatih.

Beberapa orang takut akan hasil alternatif yang lebih gelap. Mungkinkah AI pada akhirnya menulis kode apa pun yang ingin mereka jalankan? Tidak ada loop umpan balik pelarian seperti itu di tikungan. Tapi andalan fiksi ilmiah itu sekarang tampaknya tidak terlalu mengada-ada.