Saya pemula untuk Python dan saya sangat menyukainya sejauh ini. Satu pertanyaan yang sering muncul di benak saya adalah apakah saya perlu memahami dan karena itu belajar bahasa pemrograman internal (seperti dalam kasus saya Python). Seperti yang Anda ketahui, Python sendiri ditulis dalam C.
Jadi pertanyaan saya adalah: Seberapa dalam harus menyelam ke dalam bahasa pemrograman untuk menjadi mahir atau fasih dalam bahasa ini. Saya membandingkan pertanyaan ini dengan bahasa "alami". Saya tidak tahu setiap detail dalam tata bahasa dalam bahasa ibu saya tapi saya bisa mengekspresikan diri saya tanpa masalah dalam bahasa itu. Ini adalah saat saya mengatakan saya fasih berbahasa. Apakah itu berlaku untuk bahasa pemrograman juga?
programming-languages
python
knowledge
Flo Schönfeld
sumber
sumber
Jawaban:
Anda tidak perlu tahu apa - apa tentang bagian dalam bahasa pemrograman, untuk menulis program dalam bahasa itu. Namun, semakin baik Anda memahami bahasa, semakin baik program Anda.
Pengetahuan tentang struktur data dan algoritma akan membantu Anda memilih struktur data yang paling sesuai untuk tugas khusus Anda. Beberapa bahasa memiliki struktur data ini secara internal.
Memahami "budaya" bahasa membantu Anda menulis program yang mengikuti "praktik terbaik," membuatnya lebih mudah untuk dipahami, lebih dapat dipelihara, dan berkinerja lebih baik.
Menulis kompiler untuk bahasa itu (atau kompiler untuk bahasa lain dalam bahasa itu) dapat memberi Anda pemahaman mendalam tentang bahasa tersebut, dan meningkatkan program Anda di luar sekadar rata-rata.
Mahir dalam bahasa lain (terutama yang memiliki paradigma berbeda) membuat Anda menjadi programmer yang lebih baik dalam bahasa utama Anda, karena Anda dapat membawa keterampilan dan alat itu untuk ditanggung dalam bahasa utama Anda.
Sebagai akibat wajar, Anda tidak perlu tahu apa-apa tentang komputer Anda untuk menulis program di dalamnya. Tetapi mengetahui bagaimana komputer Anda bekerja membuat Anda lebih baik dalam menulis program untuk itu.
sumber
Sederhananya, ya. Selama Anda bisa mengekspresikan diri (dan memahami orang lain) dengan baik, maka Anda dianggap fasih berbahasa.
Yang mengatakan, sekadar fasih tidak cukup untuk beberapa pekerjaan. Beberapa jenis penulis, pekerjaan yang membutuhkan ketrampilan berbicara di depan umum dan beberapa akademisi yang fokus pada bahasa perlu mengetahuinya "lebih baik daripada fasih". Demikian juga, beberapa spesialisasi programmer memerlukan pengetahuan tentang internal bahasa, tetapi bagi kebanyakan orang mengetahui bahasa pemrograman setara dengan cara meminta nomornya atau memesan burger keju sudah cukup.
sumber
Saya akan mendefinisikan "mahir" dengan bahasa sebagai:
Perhatikan bahwa cara kerja bahasa tidak ada dalam daftar ini, tetapi ada banyak "kemampuan untuk belajar". Memiliki setidaknya pemahaman sepintas tentang internal dapat membantu, tetapi tidak perlu untuk menjadi mahir. Namun, cukup mengetahui tentang mereka sehingga Anda dapat memahami referensi dalam dokumentasi yang Anda baca adalah ide yang sangat bagus.
Sebagai contoh: Saya tahu bahwa VB.NET dan C # dikompilasi ke .NET's IL (Intermediate Language), yang kemudian dikompilasi untuk kerangka kerja target. Saya tidak tahu banyak tentang IL, tetapi saya cukup tahu untuk mengenalinya ketika saya melihatnya, dan memahami secara umum bagaimana ia menangani hal-hal tertentu. Saya menganggap diri saya ahli dalam C #, tetapi tidak di VB.NET, meskipun "internal" adalah sama, dan pemahaman saya tentang mereka tidak dalam.
sumber