Bagaimana Anda menjaga semua bahasa itu tetap ada di kepala Anda

10

Saya tahu Java, C #, C ++. Saya telah menggunakan Perl, dan saya mengambil Python dan Actionscript 3.

Ini tentu saja jalan yang dilalui orang lain, jadi saya bertanya bagaimana Anda menjaga semua bahasa ini tetap di kepala Anda?

John Robertson
sumber
14
Bukan saya. Saya menggunakan debugger ;-)
PengOne
1
Latihan membuat sempurna. Bahasa umumnya menggunakan set konstruksi ilmu komputer yang sama, jadi ini masalah sederhana mengingat perbedaan sintaksis dan penawaran fitur.
17
editor dengan penyorotan sintaksis. tetap mengedit sampai berubah warna ...
thorsten müller
2
Bukan saya. Saya menggunakan Google.
Pekerjaan
1
@ John, beri kami beberapa contoh hal-hal yang cenderung membingungkan atau Anda lupakan di seluruh bahasa (nama metode bawaan? Operator diutamakan? Perpustakaan? Idiom?) Seberapa sering Anda beralih antar bahasa (bulanan? Setiap jam?)
smci

Jawaban:

15

Otak Anda hanya mengingat apa yang dianggapnya penting, dengan bias berat terhadap yang baru-baru ini. Jadi, putar saja proyek kesayangan dalam bahasa tersebut dan Anda akan baik-baik saja. Sama seperti bahasa lisan, Anda akan melakukan lebih baik jika Anda: mulai lebih awal dan tetap menggunakan Anda.

yan
sumber
8

Saya biasa memposting diagram sintaks gaya kereta api 1-lembar plus referensi cepat untuk setiap bahasa di dinding sampai ingatan saya cukup.

Masih harus melakukan itu untuk bahasa pemrograman apa pun yang belum pernah saya gunakan selama berbulan-bulan.

hotpaw2
sumber
3
+1 karena tidak semuanya, "Ya, jika Anda seorang programmer sejati , Anda tidak akan memiliki masalah." Jika Anda memprogram dalam bahasa yang cukup berbeda, referensi sintaksis adalah suatu keharusan.
Satanicpuppy
4
Bisakah Anda memposting "diagram sintaks gaya kereta api 1-lembar plus referensi cepat" untuk C ++? Saya benar-benar ingin melihat binatang seperti itu.
sbi
Atau satu untuk Perl. Itu akan menjadi pemandangan untuk dilihat.
Zhehao Mao
Jika Anda membutuhkan lebih dari yang dapat Anda muat di satu halaman, Anda mungkin tidak harus menggunakan fitur bahasa itu, sampai Anda mengingat bahasa dengan lebih baik.
hotpaw2
5

Sudahkah Anda melihat lembar contekan untuk bahasa dan perpustakaan yang Anda gunakan secara teratur? Saya punya pasangan di dinding saya di sini, satu untuk VIM dan satu untuk PL / SQL. Situs web ini: http://devcheatsheet.com/ tampaknya memiliki banyak lembar cheat.

Saya menyarankan lembar contekan karena hanya ada begitu banyak otak yang dapat dengan mudah diingat. Bahasa yang Anda gunakan setiap hari akan menjadi sangat mudah diingat. Sintaks dan kemudian pustaka dan fungsi dan kerangka kerja tertentu jika Anda cukup sering menggunakannya dan Anda tidak perlu mencari apa pun dalam materi referensi apa pun. Semakin sedikit Anda menggunakan sesuatu, semakin sulit untuk diingat, meskipun Anda biasanya akan bisa mendapatkan kembali kemampuan Anda sebelumnya dengan sedikit latihan. Itulah sebabnya saya menyimpan beberapa lembar cheat di dinding saya: untuk fungsi / fitur yang saya tidak cukup sering gunakan untuk mengingat dengan cepat.

FrustratedWithFormsDesigner
sumber
3

Otak manusia adalah hal yang luar biasa. Jika Anda mempelajari masing-masing dengan cukup baik, Anda harus dapat melihat kode, mengenali bahasa, dan meningkatkan kecepatan dengan cukup cepat. Ini tidak pernah menjadi masalah bagi saya ... tetapi butuh waktu untuk mempercepat kembali.

Patrick87
sumber
3

Saya memiliki sedikit kesulitan memisahkan bahasa di kepala saya, terlepas dari beberapa otomatisme pengetikan (seperti harus menekan titik koma akhir-baris dalam Python atau VB).

Saya kira hal yang paling membantu saya adalah bahwa setiap kali saya belajar bahasa (pemrograman atau manusia), saya juga mencoba untuk mengambil dan merangkul budaya dan ekosistem di mana ia tertanam. Saya tidak hanya beralih bahasa, saya mengubah pola pikir (sesuatu di sepanjang garis metafora populer 'memakai topi X').

tammmer
sumber
+1 untuk konvensi berikut untuk suatu bahasa. Mungkin tergoda untuk hanya kode setiap bahasa dengan gaya yang sama tetapi itu membuatnya terlihat sangat "asing" untuk "penduduk asli." Suatu hari, seorang programmer "asli" akan menjaga kode kita. Jadi kita harus menulisnya dengan cara yang terasa alami bagi mereka.
gMale
1
@ Galale: Ini bukan hanya masalah bersikap baik kepada orang lain; merangkul budaya bahasa juga diperlukan untuk menggunakannya secara maksimal. Suatu budaya tumbuh di sekitar bahasa karena cara-cara tertentu ternyata bekerja lebih baik daripada yang lain, dan mereka yang membeku dalam budaya; dengan mempelajari ini, Anda dapat mengambil manfaat dari kesalahan orang lain.
tdammers
1

Ini membantu bahwa semua bahasa yang Anda sebutkan relatif sama (yaitu imperatif).

Jika Anda baru belajar menggunakan bahasa-bahasa ini, semuanya sangat mirip. Mereka pada dasarnya semua memiliki fitur yang sama dan semua yang Anda pelajari adalah sintaks yang sedikit berbeda.

Sekarang ketika Anda datang untuk mempelajari penggunaan (bukan hanya sintaks) maka itu menjadi jauh lebih sulit. Belajar menggunakan Java seperti Java Programmer tidak sesederhana itu bagi seorang programmer C ++ (sintaksnya mudah, idiom penggunaannya sulit).

Sekarang jika Anda telah membuat daftar gaya bahasa yang berbeda (deklaratif / fungsional / logis) maka saya akan lebih simpatik. Karena perpindahan antar bahasa merupakan paradigma yang sepenuhnya bergeser menjadi jauh lebih sulit.

Tetapi menggunakan bahasa adalah kuncinya. Jika Anda menggunakan bahasa setiap hari maka Anda tidak akan memiliki masalah. Berhenti menggunakan bahasa dan itu akan memudar (tidak cepat pada awalnya). Tetapi semakin jauh bahasa dari bahasa yang Anda gunakan setiap hari semakin cepat akan memudar. Rahasianya adalah terus berlatih bahasa yang Anda sukai (berhenti menggunakan yang tidak Anda sukai otak Anda akan memberi ruang bagi hal-hal lain).

Martin York
sumber
1

Begitulah IDE datang untuk menyelamatkan ;-) satu-satunya perubahan dalam semua bahasa ini adalah memiliki 'jika-maka-lain' atau 'jika-lain'. beberapa akan memiliki '(' dan beberapa tidak. Ini sesederhana itu :)

Yang kami pedulikan hanyalah logika dan implementasi yang mudah dibaca.

Arvind Chinniah
sumber
1

Bukan saya. Saya membingungkan mereka sepanjang waktu, jadi saya telah mengerjakan serangkaian perilaku dan alat kompensasi.

  • Saya bekerja di basis kode proyek besar, jadi saya akan memeriksa kode di sekitar saya.
  • Saya menggunakan editor penyorotan sintaks (cepat, apakah Perl menggunakan elsif, elif, atau jika tidak? Saya tidak ingat, tetapi editor akan membuat saya tetap di jalur.)
  • Saya menggunakan idiom bahasa - jika saya mengkode dalam C #, saya menggunakan lambdas, linq dan var. Itu membuatnya terlihat kurang seperti Java daripada jika saya hanya menggunakan objek dan kelas.
  • Saya menggunakan lingkungan yang berbeda untuk setiap bahasa: C # -> Visual Studio, Java -> Eclipse, Perl -> Vim. Berbagai gaya visual membuat saya tetap di jalur.
Sean McMillan
sumber
0

Salah satu caranya adalah dengan menggunakan gaya yang berbeda untuk setiap bahasa tempat Anda menulis. Dengan analogi yang longgar, dalam berbicara bahasa Spanyol atau Prancis, orang mungkin mencoba untuk meniru nada penutur asli.

Saya telah melihat orang-orang yang akan mempertahankan penguat yang berbeda, lekukan, dll., Untuk setiap bahasa untuk membantu otak mereka "menggeser persneling" dengan benar ketika beralih di antara mereka

jonsca
sumber
0

Pikirkan itu seperti musik. Bahasa yang Anda pelajari hanyalah instrumen yang berbeda dalam orkestra yang pada akhirnya menghasilkan nada yang sama. Mengingat bagaimana cara memainkan instrumen membutuhkan latihan, tetapi pada akhirnya Anda akan dapat mengambil satu yang belum pernah Anda mainkan dan seperti sulap, not-not baru saja jatuh ke tempatnya. Demikian pula, ketika Anda terus memperluas pengetahuan Anda tentang musik (pemrograman), mengambil instrumen baru dan belajar memainkannya menjadi lebih mudah dan lebih mudah setiap kali.

Analogi murahan, tetapi pada akhirnya, latihan menjadi sempurna. Habiskan waktu dengan setiap instrumen di orkestra itu sesekali sehingga kemampuan Anda untuk memainkan not tidak pudar.

Cᴏʀʏ
sumber
0

Saya terutama seorang pengembang PHP. Jadi maafkan bias pendapat saya.

Baru-baru ini saya menemukan betapa miripnya kode C dengan PHP (Atau sebaliknya tergantung pada bagaimana perasaan Anda;))

Saran saya mungkin untuk tetap berpegang pada keluarga bahasa (jika mereka berlaku untuk pekerjaan atau proyek Anda) dan ketika Anda mengembangkan keterampilan Anda lebih lanjut maka percabangan dan belajar hal-hal baru.

MattyD
sumber
0

Saya menggunakan javascript dan HTML / CSS terutama juga saya suka c ++ ketika saya membutuhkan sedikit alat bantu dengan menggunakan QT dan saya menggunakan VB dan f # kadang-kadang saya tahu itu sedikit gila tetapi ketika saya merasa bahwa saya mulai kehilangan bahasa terutama ketika mereka memiliki sintaks yang berbeda (VB dan F # dan c ++ / javascript) jadi saya mendapatkan saudara saya dan mengatakan kepadanya bahwa saya akan mengajarinya maka saya baru mulai membuat contoh dari awal dan ketika saya menemukan bahwa saya tidak ingat bagaimana tepatnya melakukan sesuatu (begitu saya lupa bagaimana melakukan JIKA LAIN di VB) saya hanya google itu;

achma
sumber
0

Akhir-akhir ini, saya sudah banyak menggunakan pencarian kode google . Saya pergi ke sana dan mengetikkan ekspresi reguler yang secara longgar menggambarkan apa yang saya coba lakukan dan menemukan lusinan contoh kode produksi. Ketika saya lupa sintaks bahasa, ini adalah cara tercepat bagi saya untuk mendapatkan jawaban.

Pendekatan ini menjadi lebih kuat jika Anda bagus dengan ekspresi reguler. Catatan: Ini adalah sumber yang bagus untuk menyegarkan keterampilan regex .

gMale
sumber
0

Sebenarnya: Saya tidak terlalu khawatir tentang secara eksplisit mencoba membangun struktur apa pun di dalam kepala saya.

Ini tidak berbeda jauh dari skenario lain dalam kehidupan sehari-hari. Saya harus ingat cara mengendarai mobil, membaca buku, bermain tenis, dan sebagainya. Percayalah pada otak Anda dan jangan terlalu banyak berpikir tentang metalevel.

perdian
sumber