Jadi ketika memilih bahasa apa yang akan digunakan untuk suatu proyek, di dunia yang ideal bahasa dipilih karena itu adalah alat yang tepat untuk pekerjaan itu. Namun, saya sering lebih suka menggunakan bahasa yang saya fasih daripada yang saya harus belajar atau bahwa saya hanya berbicara. Tentu saja kefasihan bahasa juga memerlukan pengetahuan tentang perpustakaan yang berlaku dalam bahasa. Hanya karena saya benar-benar menyukai bahasa serba guna seperti Java tidak berarti saya harus selalu menggunakannya, tetapi pada saat yang sama itu tidak berarti saya harus mengeluarkan sesuatu seperti Perl setiap kali ada beberapa pemrosesan teks yang harus dilakukan. Bagaimana cara menemukan keseimbangan di sini?
sumber
Saya pikir keakraban tidak diberikan kredit yang cukup. Keakraban Anda sangat memengaruhi alat yang tepat. Anda harus menggunakan alat ini untuk menyelesaikan proyek Anda. Selain itu, menggunakan sesuatu yang Anda nikmati dapat tanpa diragukan melebihi kekurangan dalam kebugarannya karena Anda akan lebih bersemangat untuk menyelesaikan pekerjaan dan Anda akan mendapatkan hasil yang lebih baik.
http://headrush.typepad.com/creating_passionate_users/2006/08/when_the_best_t.html
sumber
Ini tidak benar-benar dapat diselesaikan kecuali sebagai pertanyaan bisnis. Namun, banyak pertanyaan bisnis dibuat hanya dengan melihat angka jangka pendek, yang merupakan kesalahan dengan hal-hal seperti ini.
Pendekatan umum saya:
Tiga hal yang perlu diingat saat Anda memikirkan biaya dan manfaat: Pertama, orang yang terburu-buru cenderung mengubah masa depan. Dua, biaya pemeliharaan adalah bagian terbesar dari biaya untuk sistem yang berhasil. Tiga, pengembang yang baik suka mempelajari hal-hal, dan membuat pengembang Anda senang adalah investasi jangka panjang yang bagus.
sumber
Pertanyaan bagus! Seperti yang dikatakan whatsisname dalam jawabannya, "keakraban tidak cukup dihargai." Alat yang berbeda, kerangka kerja yang berbeda, bahasa yang berbeda bisa jauh lebih baik daripada apa yang biasa Anda gunakan, dan Anda masih akan jauh lebih tidak produktif dengan alat itu saat pertama kali belajar.
Saya telah bekerja selama beberapa tahun sebagai pengembang ASP.NET di agensi digital di mana kami memiliki campuran proyek besar, proyek kecil, proyek ketat, proyek yang dilengkapi dengan baik, dll. Apa yang kami coba lakukan, untuk memperluas keterampilan kami, adalah mencari "target empuk", proyek yang lebih kecil yang tidak memiliki tenggat waktu yang ketat dan sulit, dan menggunakannya sebagai kesempatan untuk menggunakan teknologi baru yang mungkin lebih unggul. .NET 2.0, 3.5, 4.0, ASP.NET MVC, Linq to SQL, Framework Entity - semuanya, saya telah menggunakan untuk pertama kalinya dalam proyek semacam itu.
Jika Anda dapat mengambil peluang seperti itu, maka semoga, Anda akan siap dengan serangkaian opsi yang lebih besar untuk memilih alat yang tepat tanpa mengalami kekurangan keakraban. Sama seperti dalam contoh Julio: mereka menemukan target di mana mereka dapat menambahkan Ruby ke daftar lagu mereka, dan sekarang ke depan mereka dapat memilih antara Jawa dan Ruby.
Tetapi jika tenggat waktu singkat dan padat dan proyek itu penting, saya sarankan Anda tetap menggunakan alat yang sudah dikenal. Sesuatu yang berbeda mungkin lebih cocok, tetapi dalam proyek-proyek seperti itu, ini semua tentang risiko .
sumber
Ini tergantung pada beberapa hal:
1. Seberapa baik Anda belajar bahasa atau alat baru.
Jika Anda belajar cepat, hambatan untuk mempelajari bahasa atau alat baru lebih rendah. Ini memberi Anda kesempatan untuk menambahkan alat lain ke kotak alat.
2. Bagaimana bahasa / alat independen Anda membuat lingkungan kerja Anda.
Jika alur kerja Anda sangat bergantung pada alat, maka hambatan untuk mempelajari berbagai bahasa lebih tinggi. Jika Anda terhubung dengan IDE tertentu, beralih bahasa melibatkan lebih dari sekadar mempelajari bahasa, karena mengedit teks pasti akan membuat Anda frustrasi.
Seseorang yang menggunakan vim atau emacs tidak memiliki masalah ini. Yang harus mereka lakukan adalah mempelajari bahasa baru.
3. Realitas bisnis
Mempelajari alat / bahasa baru membutuhkan waktu. Waktu itu memiliki biaya. Tetapi biaya itu memiliki potensi untuk menjadi investasi yang membayar lebih dari biaya awal. Juga, solusi canggung biasanya akan memakan waktu lebih lama untuk diterapkan dan lebih sulit untuk dipelihara. Jika itu sesuatu yang lebih besar dari proyek kecil, dan alat-alat di kotak alat saya yang ada sepertinya tidak sesuai dengan masalahnya, saya akan meneliti alat mana yang sesuai dengan masalahnya. Saya juga berinvestasi dalam lingkungan yang sesuai dengan pendekatan generalis, belajar menggunakan vim sebagai editor pilihan saya.
Hal lain - berapa jarak terpendek antara dua titik? Jika orang lain telah menulis sesuatu yang hampir melakukan apa yang ingin saya lakukan, biasanya paling cepat untuk memodifikasi itu sesuai dengan kebutuhan saya.
sumber
Jika ada bahasa baru yang membuat Anda penasaran, dan Anda (dan bisnis) mampu membelinya, mengapa tidak memberikan diri Anda beberapa minggu hingga sebulan untuk menjelajahinya?
Ini adalah bagaimana saya belajar ruby. Mitra pembuat kode saya memiliki pengalaman 7 tahun dengan Java. Saya memiliki 11 tahun pengalaman di Jawa. Tak satu pun dari kami yang tahu apa-apa tentang ruby, hanya bahwa kami ingin mencobanya.
Saya meyakinkan dia dan seluruh perusahaan untuk mencoba ruby selama sebulan (ini akan menjadi proyek 6-8 bulan). Kasus terburuk, kita akan mulai lagi menggunakan Java.
Untungnya setelah seminggu kami ketagihan, jadi ternyata baik-baik saja. Mungkin Anda bisa mencoba yang serupa? Lihat apakah Anda dapat membuat sesuatu dari awal dalam beberapa bahasa lain, tetapi jelaskan kepada bisnis mengapa Anda melakukannya, dan setidaknya yang paling penting, rencana B apa seandainya percobaan gagal.
sumber
Jelas tidak ada jawaban tunggal untuk pertanyaan ini yang akan berlaku untuk semua situasi. Tapi ini adalah aspek yang saya pikir belum disebutkan. Jika Anda seorang pengembang, Anda juga harus mempertimbangkan daya jual Anda sendiri. Jika bahasa X dipilih untuk proyek Anda, bagaimana yang akan terlihat pada resume Anda? Mungkin merupakan ide yang baik untuk memilih bahasa yang tidak Anda kenal sehingga Anda memiliki alasan untuk mempelajarinya, memperluas cakrawala intelektual Anda, dan membuat keahlian Anda lebih menarik bagi calon pemberi kerja.
sumber
Saya akan mengatakan bahwa keakraban dengan bahasa juga merupakan aspek "menjadi alat yang tepat untuk pekerjaan". Saya tidak bisa membayangkan situasi di mana Prolog akan menjadi alat yang tepat untuk pekerjaan itu bagi saya mengingat ketidaktahuan saya sepenuhnya bahasa.
sumber
Versi saya sendiri adalah untuk "menggunakan alat yang tepat tersedia untuk saya" untuk pekerjaan itu. Menjadi "tersedia" berarti saya dapat menggunakannya, tidak hanya saya dapat membeli / mendapatkan kompiler dan / atau runtime.
Dalam hampir semua skenario kehidupan nyata, mengingat masalah Anda memiliki waktu yang sangat terbatas untuk menyelesaikannya. Saya tidak percaya Anda benar-benar dapat mempelajari bahasa baru dalam waktu yang sangat singkat . Belajar bahasa berarti benar-benar membaca buku, membaca kode orang lain, memahami cara kerjanya dan filosofi di baliknya. Seseorang bisa membaca tutorial dari web (yang sangat bagus sebagai titik awal), dan mendapatkan peretasan. Tapi itu akan menyebabkan kode yang buruk dan Anda mungkin akan lebih baik menulis kode yang lebih baik dalam bahasa yang Anda tahu dalam waktu yang jauh lebih singkat.
Terlepas dari pepatah "alat yang tepat untuk pekerjaan", kebanyakan bahasa populer sebenarnya adalah tujuan umum. Mereka mungkin memiliki kekuatan di bidang tertentu, dan tidak sebagus yang lain di bidang lain, tetapi mereka bisa menyelesaikan sebagian besar pekerjaan. Tidak mengetahui bahasa secara praktis berarti alat itu tidak tersedia untuk Anda.
Saya tidak mengatakan hanya belajar satu (atau bahkan dua atau tiga) bahasa dan menggunakannya untuk semua proyek dan tidak belajar apa pun. Penting untuk mempelajari bahasa lain, untuk memperoleh lebih banyak alat untuk ditambahkan ke kotak alat Anda. Tetapi dihadapkan dengan masalah, lebih baik tetap menggunakan alat yang Anda tahu daripada menambah kekhawatiran Anda dengan menggunakan teknologi asing. Tetapi teruslah belajar bahasa lain sehingga pilihan kali berikutnya lebih mudah.
sumber