Belajar Berbagai Bahasa Secara Bersamaan [ditutup]

35

Saat mempelajari bahasa baru, apakah lebih baik berkomitmen pada satu bahasa 100% dan menunggu sampai Anda "menguasainya" untuk pindah ke yang lain, atau bekerja mempelajari bahasa yang berbeda pada saat yang sama?

Jika itu penting, saya saat ini sedang belajar C ++ dan saya ingin tahu Java dan Python juga.

Maxpm
sumber
12
Seringkali tidak ada yang namanya kefasihan 100%. Baik Jon Skeet dan Eric Lippert tidak tahu 100% dari C #.
Pekerjaan
3
Jangan belajar bahasa, pelajari cara menggunakan bahasa untuk mengimplementasikan program tertentu. Yaitu jika Anda seorang programmer maka tidak masalah bahasa apa yang Anda gunakan, karena Anda dapat mencapai hasil yang sama. Lebih buruk lagi, begitu Anda meletakkan satu bahasa untuk "belajar" bahasa lain, Anda akan mulai melupakan yang sebelumnya.
Selama Anda benar-benar BELAJAR kedua bahasa.
Tulains Córdova
@Maxpm Bisakah Anda ceritakan bagaimana pengalaman Anda belajar multi lang sekaligus ...
Rahul Patil

Jawaban:

31

Bukan saja saya tidak melihat masalah dengan mempelajari banyak bahasa pada satu waktu, saya pikir itu dapat langsung bermanfaat bagi Anda karena sesuatu dalam satu bahasa dapat menjernihkan area masalah yang mungkin Anda miliki dalam bahasa lain. Sebagai contoh, bahasa utama saya adalah C # dan ketika berhadapan dengan LINQ saya menggunakan format SQL (yang baik-baik saja, saya tidak mengetuk itu sama sekali, tetapi itu tidak tampak seperti "cara keren" untuk melakukannya). Saya menjauh dari Lambdas karena, sejujurnya, saya tidak mengerti mereka dan dokumentasi C # yang saya lihat tidak memberikan definisi yang jelas (untuk saya). Lalu saya mulai mengambil beberapa buku tentang F # dan mulai belajar itu, yang memberi saya momen "ah ha!" Untuk memahami bagaimana Lambdas.

Saya telah menemukan bahwa karena saya telah mengalami semakin banyak dengan bahasa lain (dan kerangka kerja) saya menjadi lebih baik di C # (dan ASP.Net). Itu sebabnya saya percaya bahwa belajar banyak bahasa pada satu waktu bukanlah hal yang buruk sama sekali!

Jetti
sumber
1
Saya sepenuhnya setuju dan saya juga mulai dengan C #. Ada banyak hal yang saya temui dalam bahasa itu yang dari perspektif pemula saya sangat sulit untuk dipahami dan jika saya benar-benar memahami mereka, memahami untuk apa mereka atau mengapa mereka digunakan sama sulitnya. Sejak itu saya telah belajar tentang beberapa bahasa lain dan itu telah membuat semua perbedaan di dunia. Terutama karena setiap bahasa berbeda Anda dapat mempelajari berbagai aspek pemrograman dari masing-masing bahasa.
fender1901
49

Jika itu adalah bahasa pertama Anda, saya pikir akan lebih baik untuk mempelajarinya dengan cukup baik untuk memahami cara kerja bahasa pemrograman.

Setelah Anda memiliki fondasi yang baik, Anda dapat memilih sebanyak yang Anda inginkan.

OscarRyz
sumber
2
+1 Saya pikir itu membuat perbedaan besar apakah Anda mempelajari tiga bahasa pertama Anda vs. keempat, kelima, keenam, dll.
keithjgrant
12

Saya pikir keterampilan penting bagi programmer adalah kemampuan untuk belajar bahasa pemrograman baru. Karena itu saya cenderung menyarankan agar seseorang mencoba mempelajari satu bahasa terlebih dahulu dan kemudian menambahkan yang lain.

Apa pun bahasa pertama Anda, proses belajar bahasa tambahan harus:

  • Temukan referensi sintaks yang baik untuk bahasa baru
  • Identifikasi kekuatan bahasa baru, jangan hanya kode dalam bahasa baru seolah-olah itu sudah Anda ketahui (pemrograman dengan aksen)
  • Jelajahi area bahasa baru yang tidak dipetakan ke bahasa sebelumnya yang pernah Anda gunakan sebelumnya
  • Temukan contoh kode, dan tanpa mengulasnya coba kode hal yang sama dari awal dan lihat bagaimana implementasi Anda berbeda dari contoh

Seiring waktu saat Anda mengumpulkan bahasa, Anda akan membentuk bahasa pseudocode abstrak internal Anda sendiri yang akan membantu Anda menerjemahkan antara bahasa yang Anda tahu. Bahasa internal ini adalah kerangka yang akan Anda gunakan untuk mempelajari bahasa baru dengan cepat.

Jason Aller
sumber
1
+1 untuk "mengidentifikasi kekuatan bahasa baru ...". Sangat bagus
Nick Burns
8

Belajar bahasa secara paralel adalah hal yang cukup normal. Misalnya pemrograman web. Anda berurusan dengan setidaknya tiga bahasa: sisi server (php, java, .net, ruby, python ...), kode klien (skrip dan html java), database (sql).

Boris Pavlovic
sumber
bahasa pemrograman juga htmltidak sql.
Aeid
huruf l singkatan bahasa
Boris Pavlovic
7

Saya tidak melihat masalah mempelajari beberapa bahasa sekaligus. Bahkan, Anda tidak pernah benar-benar menguasai bahasa, jadi sungguh, setiap kali Anda bekerja dengan lebih dari satu bahasa, Anda mungkin belajar keduanya.

Anda mungkin ingin berkonsentrasi pada satu bahasa untuk melewati dasar-dasarnya hanya untuk menjaga diri Anda dari dua bahasa yang membingungkan. Ini terutama benar jika Anda mempelajari bahasa yang serupa, seperti Java dan C #.

Paul Whitehurst
sumber
JavaScript / Python mungkin merupakan pilihan yang baik karena perbedaan mereka. Sebagai contoh.
nick indiessance
6

Saya telah mengajar pemrograman selama beberapa tahun, sehingga saya dapat berbagi pengalaman dengan Anda. Saya berasumsi bahwa C # adalah bahasa pertama Anda, jadi pengalaman saya mengajar pemrograman kepada orang-orang yang belum pernah diprogram sebelumnya mungkin berguna.

Pertama-tama, izinkan saya memberi tahu Anda bahwa belajar lebih dari satu bahasa adalah sesuatu yang harus dilakukan oleh setiap programmer berpengalaman. Tetapi ini tidak berarti bahwa Anda harus belajar beberapa bahasa pada saat yang sama jika Anda baru memulai.

Selama bertahun-tahun, siswa telah menunjukkan bahwa dibutuhkan sekitar satu tahun bagi sebuah bahasa untuk memantapkan dalam pikiran (setidaknya yang pertama), kadang-kadang sedikit lebih, kadang-kadang sedikit kurang. Jika Anda mencoba mengajar lebih dari satu bahasa dalam satu tahun, siswa cenderung mencampuradukkannya dan membingungkan konsep dan bahasa. Meskipun siswa membuat kemajuan, mereka masuk ke banyak kebiasaan buruk yang sulit untuk dihilangkan nanti. Jika Anda belajar sendiri, risiko ini lebih tinggi.

Namun, saya perhatikan bahwa itu membantu jika Anda mengajar dua bahasa dengan sintaks yang sangat berbeda. Ketika dua bahasa pemrograman terlihat sangat berbeda, akan membantu pikiran untuk melihatnya sebagai entitas yang benar-benar berbeda tanpa saling mencemari. (Ketika satu bahasa pemrograman membantu Anda memahami konsep-konsep sulit dalam bahasa lain, itu bagus; ketika satu bahasa membuat Anda menulis kode buruk dalam bahasa lain, itu buruk).

Karena itu, rekomendasi saya adalah tetap menggunakan satu bahasa pemrograman untuk tahun pertama Anda. Atau, mungkin ide yang baik untuk belajar dua bahasa pada saat yang sama asalkan mereka / terlihat sangat berbeda. Jika bahasa pertama Anda adalah C #, saya akan menjauh dari C, C ++, Objective C, dan Java pasti; dan mungkin Python, Ruby, dan Javascript. Saya akan merekomendasikan menggabungkan C # dengan bahasa fungsional seperti Haskell, Skema, F #, Erlang, Clojure, atau mungkin Scala.

sergut
sumber
5

Saya pikir belajar beberapa bahasa pada suatu waktu sebenarnya lebih baik daripada belajar satu per satu, karena jika bahasa-bahasa tersebut cukup berbeda, masing-masing memberi Anda waktu istirahat dari yang lain. Cobalah untuk membuat mereka sempoyongan sehingga Anda memulai yang baru setelah Anda melewati tahap "newbie absolut" dari yang sebelumnya; dengan cara ini Anda akan memiliki peluang yang lebih baik untuk mempertahankan tidak hanya apa yang Anda pelajari tentang bahasa tersebut tetapi juga bagaimana Anda belajar bahasa baru. (Keterampilan belajar bahasa umum adalah sesuatu yang Anda akan sangat berterima kasih di kemudian hari dalam kehidupan pemrograman.)

Yang mengatakan, mempelajari bahasa pertama Anda membutuhkan investasi besar waktu dan energi, dan Anda mungkin tidak punya waktu untuk mengambil proyek besar lain selama proses ini. Jika Anda berpikir untuk memulai bahasa lain karena Anda muak dengan C ++ - jangan! Ini akan mendorong Anda untuk menunda-nunda. Jika Anda berpikir untuk memulai bahasa lain karena Anda terus melihat menyebutkan proyek yang ditulis dalam (katakanlah) Java dan Anda frustrasi karena Anda tidak dapat dengan mudah membaca dan menganalisis kode - lakukan! Ini adalah alasan bagus untuk belajar bahasa lain kapan saja.

Arkaaito
sumber
2

Saya menemukan belajar beberapa bahasa secara bersamaan dapat menyebabkan jelas butuh waktu lebih lama untuk belajar satu bahasa tertentu (tidak perlu dikatakan lagi). Namun, dalam kasus saya, saya dapat memutuskan bahasa mana yang saya sukai dan gaya pengkodean yang paling saya sukai.

Dalam kasus saya, saya mulai dengan C # kemudian masuk ke Python dan F #. Saya sangat menyukai gaya fungsional F # yang membuat saya mencoba Scala dan Clojure. Sekarang karena mempelajari semua bahasa ini, saya menemukan Scala sangat cocok untuk apa yang saya lakukan. Ditambah lagi, saya sekarang sangat percaya diri dalam OOP dan gaya fungsional dan dapat membaca dan menulis beberapa bahasa dengan kompeten. Ini keterampilan yang bagus untuk dimiliki.

Richard Todd
sumber