Cara mana yang lebih bermanfaat dan produktif?
Cara mana yang lebih bermanfaat dan produktif?
Jawaban:
Saya pikir Anda membutuhkan keduanya. Anda harus fokus pada kompetensi inti Anda dan meningkatkan pemahaman Anda tentang mereka, tetapi pada saat yang sama bermanfaat untuk melihat ke luar dan melihat apa lagi yang ada di luar sana. Paparan terhadap pendekatan lain dan bahasa lain sangat penting untuk menjadikannya pengembang yang lebih baik secara keseluruhan. Ada banyak cara untuk menguliti kucing, dan mengetahui sebanyak mungkin dari mereka akan membuat Anda menjadi psikopat yang lebih baik dalam memilih alat yang tepat untuk tugas tertentu.
Jadi, habiskan sebagian besar waktu Anda untuk menjadi lebih baik pada kemampuan yang Anda pilih dan habiskan sebagian waktu Anda untuk mempelajari sesuatu yang baru.
Seseorang berkata "Bahasa yang tidak mengubah cara Anda berpikir tentang pemrograman tidak layak dipelajari".
Jadi, jika Anda tahu Java, ada sedikit keuntungan dalam belajar C # (atau sebaliknya). Jika bukan karena alasan pragmatis (yaitu, Anda memerlukannya untuk menyelesaikan masalah), saya sarankan tetap menggunakan satu Bahasa per Paradigma, dan jadwal Anda masih cukup penuh;).
Spesialisasi, di sisi lain, dalam pengalaman saya sebagian besar dicapai 'di lapangan', yaitu, ketika mengerjakan proyek, jadi itu datang secara alami.
Ada banyak argumen yang sangat bagus di kedua sisi. Bertahun-tahun yang lalu saya dihadapkan dengan pertanyaan yang tepat ... berkonsentrasi pada bahasa utama saya dan berusaha untuk menjadi "ahli" ATAU mengambil bahasa baru dan memperluas daya jual saya. Saya memilih untuk berkonsentrasi pada satu bahasa.
Benar-benar tidak akan ada jawaban yang salah. Keduanya memiliki kelebihan, itu benar-benar akan memecah mana yang lebih cocok untuk Anda dan di mana Anda ingin karir Anda pergi.
Mempelajari bahasa baru sebagian besar merupakan sarana untuk mendapatkan konsep baru dan meningkatkan efisiensi Anda dengan pemrograman. Mempelajari pemrograman itu sendiri sangat berbeda dari belajar bahasa baru ke dalam program.
Anda harus berkonsentrasi untuk membuat program Anda lebih baik (dan ada banyak metrik untuk mengukur itu, banyak subjektif; tidak masalah, pilihlah metrik Anda dan perbaiki dari waktu ke waktu, gunakan untuk pendidikan Anda).
Karena itu, mempelajari bahasa 'yang lebih baru' (katakanlah Python
) dari daftar lama Anda (seperti, katakanlah ' C
' dan banyak lagi) akan membantu Anda berpikir lebih efisien dan fokus pada konsep-konsep inti yang harus dibuat lebih baik. Mengambil contoh lebih lanjut, ini mungkin tidak segera muncul tetapi Anda mungkin menemukan C
pemrograman Anda menjadi lebih baik karena Anda telah berpikir dengan Python. Anda bahkan dapat mulai menulis Python alih-alih untuk psudo-code C
. Sekarang, itu adalah kode-psudo yang lebih mudah dibaca dan diverifikasi.
Yang membawa kami untuk meringkas pertanyaan utama:
Ya, Anda harus fokus pada bahasa yang sudah Anda ketahui dan menambah pengetahuan Anda di dalamnya - selama masih digunakan untuk Anda. Dan , Anda juga harus mencoba-coba dalam bahasa yang lebih baru untuk memberikan otak Anda alat yang lebih baru untuk memikirkan (mungkin bahkan lebih cepat) solusi untuk kebutuhan pemrograman Anda.
Itu tergantung pada tujuan Anda belajar bahasa. Jika Anda mempelajari bahasa karena menggunakan paradigma yang berbeda atau cocok untuk domain masalah tertentu. Namun, jika itu adalah bahasa yang sangat mirip dengan yang Anda sudah tahu dan semua yang Anda rencanakan adalah menulis ulang semua kode Anda yang ada dalam bahasa baru itu, mungkin tidak ada nilai sebanyak itu (misalnya, menulis ulang aplikasi web python di ruby) di dalamnya.
Jika Anda sudah merasa pemrograman sangat nyaman dalam suatu bahasa, akrab dengan semua idiomnya, dan dapat menulis program di dalamnya tanpa harus melihat dalam dokumentasi untuk setiap panggilan perpustakaan, mungkin tidak banyak yang bisa dipelajari tentangnya. Jika, di sisi lain, pengetahuan Anda tentang bahasa tidak sedalam itu, mungkin ada beberapa nilai dalam belajar lebih banyak. Beberapa cara yang baik untuk mengukur apakah Anda berada di kamp sebelumnya atau yang terakhir untuk bahasa X adalah
Jika jawaban Anda untuk pertanyaan-pertanyaan ini berada di suatu tempat di sepanjang baris "banyak", "kebanyakan dari mereka", dan "ya, dan itu semakin menjengkelkan", itu adalah indikasi yang baik bahwa Anda telah menguasai bahasa dan harus beralih ke sesuatu baru.
Jika Anda sudah cukup baik dengan bahasa yang Anda kenal, tidak ada gunanya mempelajari trik-trik khusus yang sangat terperinci untuk sedikit keren ... itu akan benar-benar membuang-buang waktu. Namun ketika Anda tidak nyaman dengan bahasa, sarannya adalah untuk menguasai bahasa itu terlebih dahulu.
Selain bahasa ada kerangka kerja, pola ... untuk mempelajari kerangka kerja Anda harus tahu bahasa, jadi untuk bahasa yang sangat mirip mempelajarinya tidak membantu selain membawa beberapa kesenangan yang tidak begitu lucu.
Pendapat pribadi saya adalah Anda harus selalu mengembangkan kemampuan Anda untuk membuat perangkat lunak yang lebih cepat, lebih aman, lebih kuat, untuk lebih banyak platform, dan membuat waktu lebih singkat, untuk tujuan itu Anda mungkin perlu belajar bahasa baru, kerangka kerja baru, IDE baru (Itu sama pentingnya dengan bahasa), dan hanya ketika Anda untuk tujuan itu investasi Anda bermanfaat.
Setidaknya jangan belajar bahasa baru untuk menambah jumlah bahasa yang Anda kenal.