Haruskah seseorang mempelajari bahasa baru atau hanya harus berkonsentrasi pada bahasa yang sudah Anda ketahui dan menambah pengetahuan Anda tentang itu? [Tutup]


22

Cara mana yang lebih bermanfaat dan produktif?


1
Tidakkah ini tergantung pada jenis pekerjaan dan proyek? Jika Anda bekerja untuk perusahaan besar, Anda mungkin tidak terlalu sering menggeser teknologi, jika Anda lepas, Anda punya pilihan.
Chris

@ Chris: Saran, "Bahasa dan Kerangka Kerja", sebagian besar pengembang tidak lagi hanya bekerja dengan kompiler baris perintah, dan editor teks, tetapi perpustakaan, IDE, BD, Alat Pihak Ketiga, ... ;-)
umlcat

1
Dilihat oleh jumlah suara, pertanyaan ini konstruktif menurut pendapat banyak orang. Saya pikir Mark Trapp sebenarnya adalah program komputer yang ditulis untuk menutup pertanyaan.
T. Webster

Jawaban:


18

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.


4
+1 Untuk mengetahui cara menggunakan "palu" Anda dengan baik, tetapi juga mengetahui bahwa hal-hal seperti "obeng", "gergaji" dan "paku lengket" ada.
Ryan Hayes

1
Dan sebagian besar waktu mempelajari bahasa baru mungkin membuat Anda terpapar pola desain atau sesuatu yang berguna yang Anda tidak pernah berpikir untuk menggunakan bahasa Anda sendiri.
AttackingHobo

8

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.


1
C # menawarkan fitur baru yang menarik untuk pengembang Java. Ekspresi Linq & lambda bisa membuka mata mereka ke dunia baru.
Carra

Sebenarnya, saya akan mengatakan bahwa membawa program C # ke pasar lebih mudah (bagi saya setidaknya), kemudian membawa program Java ke pasar. Jadi dalam hal itu, mata saya terbuka sehingga saya bisa mendapatkan kenyamanan Jawa sambil menghindari beberapa kekurangannya. Terlepas dari perang api bahasa, saya akan mengatakan itu poin yang bagus.
riwalk

+1 Saya mulai di .NET dan benar-benar belajar banyak dari berkecimpung dengan Objective C dan JavaScript.
Trevor

@Carra: Saya tidak menyadari hal itu (pengalaman mendalam saya yang terakhir dengan keduanya adalah, ketika Java 1.5 terkini). Apakah perbedaannya, dalam pengalaman Anda, tumbuh cukup besar untuk membuat mereka cukup berbeda sehingga memerlukan rekomendasi untuk belajar keduanya (dari perspektif 'akademik')?
keppla

Anda mungkin masih lebih baik untuk belajar satu dan bahasa fungsional. Jadi secara keseluruhan saya setuju dengan Anda.
Carra

3

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.


2

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 Cpemrograman 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.


1

Dominasi kerangka kerja pemrograman (dan bahasa terkait), dan sisakan waktu luang untuk "domain" lain, lebih disukai berbeda. Contoh: C ++ client-server, Ruby di Web


1

Belajar Bahasa Baru

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.

Pengetahuan yang lebih mendalam dalam Bahasa Saat Ini

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

  1. Berapa banyak program yang Anda tulis dalam bahasa X?
  2. Jika Anda melanjutkan dengan Stack Overflow dan melihat pertanyaan yang diberi tanda X, berapa banyak dari mereka yang akan Anda merasa nyaman untuk memberikan jawaban?
  3. Apakah orang-orang datang kepada Anda untuk meminta bantuan dengan bahasa X?

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.


0

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.