Saya sering mendengar keluhan bahwa bahasa pemrograman yang terlalu banyak menggunakan simbol untuk singkatnya, terutama C dan C ++ (saya tidak akan menyentuh APL), sulit untuk diketik karena mereka memerlukan penggunaan tombol shift yang sering. Satu atau dua tahun yang lalu, saya bosan sendiri, mengunduh Microsoft's Keyboard Layout Creator , membuat beberapa perubahan pada tata letak saya, dan tidak pernah melihat ke belakang. Perbedaan kecepatannya mencengangkan; dengan beberapa perubahan sederhana ini saya dapat mengetik kode C ++ sekitar 30% lebih cepat, tentu saja tergantung seberapa berbulu; Yang terbaik dari semuanya, kecepatan mengetik saya dalam teks berjalan biasa tidak terganggu.
Pertanyaan saya adalah ini: tata letak keyboard alternatif apa yang telah ada untuk pemrograman, yang telah mendapatkan popularitas, apakah ada yang masih dalam penggunaan modern, apakah Anda secara pribadi menggunakan tata letak yang diubah, dan bagaimana tata letak saya dapat dioptimalkan lebih lanjut?
Saya membuat perubahan berikut pada tata letak QWERTY standar. (Saya tidak menggunakan Dvorak , tetapi ada tata letak Dvorak programmer yang layak disebutkan.)
- Tukar angka dengan simbol di baris atas, karena angka literal yang panjang atau berulang biasanya diganti dengan konstanta bernama;
- Tukar backquote dengan tilde, karena backquote jarang ditemukan dalam banyak bahasa tetapi destruktor biasa terjadi di C ++;
- Tukar tanda minus dengan garis bawah, karena garis bawah biasa ditemukan dalam pengenal;
- Tukar tanda kurung kurawal dengan tanda kurung siku, karena blok lebih umum daripada subskrip; dan
- Tukar kutipan ganda dengan tanda kutip tunggal, karena string lebih umum daripada literal karakter.
Saya menduga yang terakhir ini mungkin akan menjadi yang paling kontroversial, karena ini paling mengganggu teks berjalan dengan mengharuskan penggunaan shift untuk mengetik kontraksi umum. Tata letak ini secara signifikan meningkatkan kecepatan mengetik saya di C ++, C, Java, dan Perl, dan agak meningkatkannya di LISP dan Python.
sumber
Jawaban:
Saya masih berpendapat bahwa kecepatan mengetik bukanlah faktor utama dalam waktu yang dibutuhkan untuk menyelesaikan sebuah proyek. Jika ya, ada masalah besar (Minggu pengodean menghemat waktu berjam-jam untuk perencanaan).
Mengenai pertanyaan Anda, saya lebih suka menggunakan tata letak standar karena itu berarti saya tidak perlu menghabiskan 10 menit pertama terlihat bodoh ketika disajikan dengan tata letak keyboard standar.
Beberapa penggantian yang Anda sarankan, misalnya baris atas dengan karakter khusus tidak membuat perbedaan sedikit pun karena jari bagian luar di sisi lain harus bergerak untuk bergeser pada saat yang bersamaan.
IMHO Satu hal yang membantu tata letak rangkaian di atas adalah hanya menggunakan pintasan keyboard. Vim dan Emacs direkomendasikan. Itu membuat teks bergerak jauh lebih cepat.
sumber
Saya akan menjawab pertanyaan Anda dengan cara berikut. Tugasnya adalah mengatur keyboard sedemikian rupa untuk meminimalkan penekanan tombol dan gerakan tangan untuk teks tertentu.
Langkah-langkah menuju solusi yang mungkin. Buatlah program yang:
Sekarang secara manual atau dengan menulis program Definisikan ulang tata letak Anda dengan cara berikut. Letakkan simbol yang paling sering digunakan di posisi tengah lebih dekat ke tangan kuat Anda. Simbol kedua pergi ke tangan Anda yang lemah di posisi tengah. Simbol ketiga kembali ke tangan Anda yang kuat ... dan seterusnya. Kemudian Anda secara bertahap berpindah dari posisi tengah tangan ke area keyboard yang lebih "jauh". Ketika semua keyboard sudah penuh maka Anda melanjutkan proses menetapkan tombol tetapi kali ini dengan menekan tombol Shift. Perbedaan lainnya adalah Anda tidak memutar tangan yang kuat dan yang lemah untuk setiap simbol saat Shift turun. Dengan menekan tombol shift terlebih dahulu Anda akan mengisi posisi sentral pada keyboard dan kemudian pindah ke posisi yang lebih jauh.
Saat Anda melakukan semua itu, lakukan langkah 3 lagi untuk tata letak baru untuk melihat bagaimana tata letak diperbaiki.
Anda mungkin harus membawa papan ketik Anda setiap saat. Sisi baiknya, tidak ada yang akan menyentuh komputer Anda. Ini akan membuat Anda terlihat seperti seorang Pro.
Terakhir, jangan lupa untuk membagikan temuan Anda.
sumber
Saya bermain dengan varian tata letak Colemak saat ini dengan banyak perubahan simbol:
tanpa SHIFT:
`- {} []; <> () _ =
qwfpgjluy * / # \
arstdhneio '
zxcvbkm,. !
dengan SHIFT:
~ 1 2 3 4 5 6 7 8 9 0 & +
QWFPGJLUY @ ^ $ |
ARSTDHNEIO "
ZXCVBKM%:?
Mungkin aku akan mengembalikan / key ...
Tapi ini tidak didasarkan pada penelitian suara apa pun, dan saya juga ingin melihat tata letak dioptimalkan (Pengoptimalan termasuk hal-hal seperti perubahan tangan dll, juga pelestarian ZXCV, ...) dengan korpus berbasis kode sumber, karena semua tata letak ini tampaknya dioptimalkan hanya untuk prosa. Misalnya, 'f' adalah huruf yang sangat umum di C (jika, untuk).
Pembaruan: Saat ini saya menggunakan
`- {} [] @ <> () _ =
qwkrgyulp *; #
asftdhneio '\
\ zxcvbjm,. /
dengan SHIFT:
~ 1 2 3 4 5 6 7 8 9 0 ^ +
QWKRGYULP &! $
ASFTDHNEIO "|
| ZXCVBJM%:?
Ini didasarkan pada pengoptimalan parsial swap 6-kunci yang diambil dari Carpalx dengan mempertahankan pintasan Cut / Copy / Paste / Undo yang biasa dan dimodifikasi untuk memberikan akses yang lebih baik ke karakter pemrograman biasa.
sumber
Buat pencatat tombol sederhana, lalu hitung berapa kali setiap tombol ditekan. Jalankan selama satu atau dua hari, lalu simpan hasilnya ke file teks. Lakukan ini sesekali. Tidak masalah tata letak apa yang Anda gunakan, karena Anda hanya melihat tombol mana yang paling sering digunakan.
Jika Anda ingin membuat tata letak yang baik, Anda tidak perlu takut untuk menjauh dari norma. Saya sarankan untuk meletakkan 11 kunci teratas di sepanjang baris beranda, lalu 11 kunci teratas berikutnya sebagai baris atas (biarkan 2 kunci di atas tombol kembali sebagai kunci yang paling jarang digunakan), lalu 11 kunci teratas ke-3 sebagai baris bawah . Harus ada 4 kunci tersisa sekarang. Ambil itu dan letakkan di slot - = dan] \. Selamat! Anda sekarang telah membuat tata letak keyboard yang bagus untuk tujuan Anda! = D
sumber
Secara keseluruhan, menurut saya memiliki editor teks yang baik dan mengetahui cara menggunakannya lebih baik daripada mencoba meningkatkan kecepatan mengetik Anda. Mampu merekam dan memutar ulang makro terkadang merupakan penyelamat, dan pilihan potongan kode yang ditetapkan pintasan dapat berguna karena biasanya ada batasan yang ditentukan oleh bahasa tentang apa yang dapat diubah menjadi perpustakaan.
Secara lebih umum, saya pikir peningkat produktivitas yang sebenarnya adalah tentang pengetahuan ...
FWIW, saya tidak mengaku kuat pada semua itu. Saya selalu terlalu bias untuk memecahkan masalah sendiri, dan dengan kecenderungan yang terlalu kuat untuk menemukan kembali roda dan skema arsitektur besar.
Bagaimanapun, saya hanya curiga bahwa waktu yang dihabiskan untuk mengubah dan mempelajari tata letak keyboard akan menjadi gangguan dari masalah yang lebih penting.
sumber
Mengubah tata letak papan tombol adalah ide yang buruk karena (mungkin) akan meningkatkan kecepatan mengetik Anda pada satu papan ketik, tetapi sangat merusak kecepatan mengetik Anda pada papan ketik lain atau pada komputer yang tidak memiliki tata letak papan ketik khusus Anda. Saya telah menemukan bahwa seringkali lebih baik menyesuaikan diri Anda dengan default, bahwa harus mengubahnya di mana-mana. (Secara pribadi, jari saya sangat bias Emacs, yang menyebabkan banyak gesekan pengetikan di tempat lain.)
sumber