Sekarang saya bekerja dengan asp.net dan C #. Saya telah melakukan pekerjaan yang layak di Jawa juga. Saya merencanakan karir saya sedemikian rupa sehingga saya harus menjadi agnostik bahasa suatu hari nanti. Apa hal yang perlu saya pelajari?
Pertama akan paradigma OOP ketika berbicara tentang desain Kelas. Apakah ada yang lain?
language-agnostic
Gopi
sumber
sumber
Jawaban:
Untuk menjadi agnostik bahasa, Anda harus memiliki pengalaman dalam semua gaya dan jenis bahasa yang sama.
Juga:
Beberapa gaya pengetikan:
Pengalaman kuat vs lemah mengetik juga berguna.
Beberapa gaya runtime yang berbeda:
Barang tingkat rendah:
Selain itu saya akan mengatakan Anda perlu pengalaman beberapa pemrograman bersamaan dan sesuatu yang didorong oleh peristiwa . Anda mungkin juga harus memastikan Anda tahu sesuatu tentang berbagai domain seperti pemrograman web (klien & server), pengembangan klien kaya / desktop, game. Anda mungkin juga ingin belajar tentang pemrograman tertanam, atau perangkat keras khusus (seperti konsol game), dan pengembangan seluler menjadi domain yang semakin relevan.
Yang lain juga menyebutkan bahwa ada baiknya mendapatkan beberapa pengalaman pemrograman Generik dan pendekatan pemrograman Meta .
Ketika Anda mempelajari paradigma ini hindari hanya belajar sintaks dan menulis dengan gaya lama Anda. Saya telah melihat banyak C # devs menulis JavaScript seolah diketik secara statis. Jangan lakukan ini, cobalah mempelajari paradigma bahasa dan merangkulnya.
Jika Anda telah melakukan semua ini, perbedaan antar bahasa akan menjadi sebagian besar sintaksis sehingga peralihan akan menjadi latihan yang cukup sederhana untuk mempelajari beberapa sintaks baru.
Jangan lupa bahwa pemrograman modern hampir selalu bergantung pada suatu kerangka kerja, jadi membiasakan diri Anda dengan kerangka kerja umum dan populer untuk setiap bahasa yang Anda pelajari juga sangat penting. Mengetahui C # tidak relevan tanpa .net.
sumber
Saya tidak berpikir Anda bisa menjadi agnostik bahasa yang sesungguhnya. Saya menemukan bahwa saya "berpikir" dalam bahasa saya saat ini (saat ini C #).
Namun, setelah mengatakan itu, saya pikir Anda mungkin dapat memisahkan desain dari kode dengan mencoba berpikir dalam kode pseudo daripada bahasa tertentu, dan benar-benar menuliskannya dalam format ini. Ini dapat membantu Anda berkonsentrasi pada keputusan desain dan arsitektur daripada implementasi dalam bahasa Anda saat ini. Kelemahan dari hal itu - seperti yang ditunjukkan oleh Simon - adalah bahwa bahasa dan kerangka kerja yang Anda gunakan akhirnya akan mempengaruhi desain. Jadi saat desain Anda berkembang, ia akan semakin terikat dengan bahasa & kerangka kerja.
sumber
Membaca pertanyaan Anda dan beberapa jawaban yang orang dapat memiliki kesan bahwa Anda sama dengan "agnostisisme bahasa" dengan "mengetahui setiap paradigma di bumi".
Saya tidak yakin apakah mengetahui setiap paradigma yang ada atau mengetahui berbagai macam bahasa, mencakup beberapa paradigma dan jenis bahasa membuat Anda "agnostik bahasa".
Ini seperti mengatakan bahwa mempraktikkan semua agama menjadikan diri Anda agnostik secara agama.
Saya pikir orang agnostik bahasa mengenai bahasa pemrograman haruslah seseorang yang tidak tahu bagaimana memprogram dalam bahasa apa pun atau tidak peduli bahasa apa yang dia minta untuk diprogram.
Yang mengatakan, beberapa orang mengatakan programmer sejati dapat memprogram dalam bahasa apa pun yang diberikan akses ke dokumentasi bahasa itu.
Jika itu yang Anda maksud dengan "agnostik bahasa" maka hampir semua programmer berpengalaman dapat memprogram dalam bahasa apa pun yang ia paksa untuk bekerja dengannya, diberikan akses ke dokumentasi bahasa.
Mungkin Anda ingin menjadi "politeis bahasa".
Saya sendiri kompeten dalam beberapa paradigma bahasa tapi saya lebih suka OOP ketika itu berlaku. Jadi saya kira saya bukan agnostik.
Anda akan sulit menemukan orang yang tidak suka paradigma atau bahasa tertentu yang diberi kebebasan untuk memilih.
sumber
Bukan hanya bahasa, Java itu sendiri memiliki begitu banyak mode yang Anda dapat menghabiskan waktu bertahun-tahun hanya mempelajari semuanya. Anda bisa belajar:
Dan seratus hal yang saya lewatkan - HANYA di dalam java.
Jika Anda menghabiskan waktu bertahun-tahun untuk membahas luasnya (mempelajari setiap bahasa) Anda akan kesulitan mendapatkan kedalaman untuk bekerja secara efektif di salah satu dari mereka.
Saya tidak mengatakan bahwa belajar bahasa baru adalah masalah, Anda harus aktif melakukannya! Saya mencoba untuk memilih pekerjaan berikutnya berdasarkan apa yang dapat saya pelajari (apa yang belum saya lakukan), tetapi saya tidak sering memilih bahasa acak dan mempelajarinya lagi - Terakhir kali saya mencobanya adalah dengan Scala dan saya meninggalkan agak rendah hati ...
sumber