Saya seorang sarjana di tahun ke-3 saya dari gelar Rekayasa Perangkat Lunak. Mulai tahun ini, universitas saya telah memperkenalkan kursus baru yang disebut 'Konstruksi Kompiler', yang mengajarkan Anda dasar-dasar teori membangun kompiler.
Apa yang akan menjadi keuntungan dunia nyata bagi Insinyur Perangkat Lunak dalam mempelajari konstruksi kompiler?
Jawaban:
Ada sisi praktis untuk mempelajari konstruksi kompiler. Ada beberapa kesempatan di mana saya perlu membuat parser untuk mengimplementasikan beberapa bahasa perintah khusus aplikasi. Itu memungkinkan saya untuk membuat antarmuka yang fleksibel dan skrip untuk aplikasi.
Ini juga memberi Anda wawasan yang lebih luas tentang mengapa beberapa bahasa dirancang seperti itu, dan mengapa tidak ada bahasa yang sempurna.
Ini adalah kursus yang sulit, salah satu yang paling sulit dalam kurikulum. Saya membuat kesalahan dengan mengambilnya selama sesi musim panas; Jangan pernah mengambil kursus kompiler di sesi musim panas, otak Anda akan meledak.
sumber
Oh, itu bagus. Ambillah, Anda tidak akan menyesalinya.
Anda mendapatkan wawasan tentang keajaiban bahasa pemrograman, karakteristik komparatifnya, transformasi kode tingkat tinggi ke dalam bentuk yang dapat dieksekusi. Anda akan lebih memahami banyak fitur bahasa, akan memiliki pandangan yang lebih luas tentang apa yang mungkin dan bagaimana hal itu dilakukan. Anda hanya akan melihat semuanya dengan mata yang berbeda.
Adalah bijaksana untuk menghabiskan waktu di universitas untuk mempelajari hal-hal mendasar dari CS. Bahasa pemrograman konkret, alat dan perpustakaan mereka semua datang dan pergi, tetapi yayasan tetap.
Juga jika Anda selamat dari kursus (asalkan akan serius), maka Anda dapat memberi selamat kepada diri sendiri karena memiliki otak yang tepat untuk pemrograman. Selesaikan beberapa proyek praktis dengan teori ini, sebutkan dalam resume Anda dan Anda akan sangat tertarik dengan atasan yang baik.
sumber
Pastinya!
Ini mungkin bukan topik yang akan Anda gunakan setiap hari seperti kelas database misalnya, memahami kompiler akan memberi Anda dasar yang bagus.
Contoh serupa akan menjadi kelas Sistem Operasi. Anda mungkin seorang programmer dan tidak memikirkan bagaimana sebuah OS bekerja setiap hari, tetapi memiliki landasan di dalamnya akan membantu Anda dalam jangka panjang.
sumber
Iya! Kursus ini akan memberi Anda pemahaman yang lebih dalam tentang parsing bahasa pemrograman, tipe data dan fungsi dan bagaimana menerjemahkannya ke dalam kode mesin untuk CPU tertentu: s.
Ini, dengan sendirinya, mungkin tidak banyak digunakan sehari-hari praktis, tetapi itu akan memberi Anda keyakinan bahwa Anda benar-benar tahu cara kerja barang . Ini sangat membantu (berbicara dengan pengalaman di sini) ketika Anda harus melakukan optimasi tingkat rendah dan menemukan bug yang benar-benar jahat, yang membuat semua orang bingung.
sumber
Ada banyak desas-desus tentang Bahasa Khusus Domain saat ini . Dan mereka benar-benar layak untuk semua desas-desus, potensi sejati mereka belum dieksplorasi . Jadi, keterampilan penyusun konstruksi tidak hanya menjadi penting tetapi juga penting di masa depan. Saya menghabiskan sekitar 60% waktu pengembangan saya untuk mengimplementasikan kompiler eDSL, bahkan jika masalah saat ini tidak berhubungan langsung dengan kompiler sama sekali.
sumber
Bermanfaat untuk mengambil kursus untuk memahami bagaimana alat yang akan Anda gunakan untuk keseluruhan karir pemrograman (misalnya kompiler, interpreter, parser) dibangun, dan apa ada batasannya.
Layak juga melakukan hal ini dalam konteks akademik, karena itu memperlihatkan dasar-dasar yang menarik dan bukan banyak kompleksitas dunia nyata, yang berantakan dan terperosok dalam berurusan dengan bahasa dan arsitektur warisan yaitu banyak kompleksitas. Ini juga lebih mungkin bahwa Anda akan bisa bekerja pada semua aspek kompiler dalam membangun keseluruhan untuk kursus, daripada bekerja pada satu di industri.
sumber