¿Es apropiado escribir Dvorak para la programación? [cerrado]

113

Siempre estoy buscando formas de ser más productivo y he estado leyendo mucho sobre escribir con un teclado Dvorak .

Parece que esto sería mucho más productivo para escribir prosa normal, pero ¿qué pasa con la programación?

Soy escéptico de que sea eficaz, ya que el uso de punto y coma, dos puntos, corchetes y signos de unión son mucho más comunes en la programación que en la escritura diaria.

¿Alguien ha tenido alguna experiencia con esto?

Samoz
fuente
1
escribiendo sigue escribiendo. cualquier cosa que te haga más rápido es un regalo del cielo. sin embargo, la falta de familiaridad con dvorak hace que cualquier respuesta especializada a su pregunta sea poco educada.
KevinDTimm
2
Me gusta emparejar el programa ... Espero que el sistema operativo tenga una tecla de acceso rápido que pueda alternar entre QWERTY y Dvorak.
Tim Reddy
4
El tiempo dedicado a aprender Dvorak a un nivel eficiente probablemente se dedicaría mejor a la productividad ... Corolario: El tiempo dedicado a SO ...
Evan
10
¿Cerrado como una pregunta no constructiva? ¡Pero la ergonomía es muy importante! ¿Dónde se supone que debemos hacer este tipo de preguntas?
AnnanFay
1
@samoz: me sorprende que alguien no considere productivo su tiempo privado (es decir, en casa). Por lo general, soy tan productivo en casa como en el trabajo, principalmente haciendo otras cosas (pero muchas veces con teclados, ya sea con o sin teclas de marfil)
vea el

Respuestas:

50

Hay diseños de Dvorak específicos para la programación: http://www.kaufmann.no/roland/dvorak/

Christopher
fuente
27
Dvorak ya tiene la gran desventaja de que el resto del mundo usa qwerty, ahora si comenzamos a usar modificaciones de dvorak también ... ¡Es aún peor! :)
Thomas Bonini
6
@AndreasBonini: de la misma manera, se podría decir que, dado que los usuarios de la distribución del teclado dvorak han demostrado ser lo suficientemente flexibles como para adoptar otra distribución, probablemente puedan manejar fácilmente la adaptación a una sintonizada personalmente, y con gran efecto ? (solo jugando al abogado del diablo aquí)
sehe
10
@AndreasBonini, pero los teclados QWERTY ya tienen diferentes teclas de puntuación en diferentes países. Están en diferentes ubicaciones, son diferentes (el teclado de EE. UU. No tiene, ´¨çetc.), ¡y a veces incluso funcionan de manera diferente! (En el teclado de EE. UU. No hay teclas muertas AFAIK, por lo que se obtiene en ~nlugar de ñ, en ^olugar de ô...)
ANeves
12
He estado usando Programmer Dvorak durante 2 años y estoy muy contento con él. Cambiar la memoria muscular por atajos es difícil, pero no tanto. Incluso he creado un tutorial de mecanografía para el programador Dvorak: programmer-dvorak.appspot.com
Denis Kniazhev
1
@SameerAlibhai La investigación no parece haber sido compartida, pero hubo una: It was generated through reflection of the most common constructs in these languages and the rules set forward by the August Dvorak in his research, then verified by scanning through thousands of source code lines ensuring that a good fit was found.(de kaufmann.no/roland/dvorak )
GabrielF
92

Hace un par de años, cuando empezaba a sentir algo de dolor en las muñecas, decidí aprender a escribir en un diseño Dvorak. (Nota al margen: me resultó extremadamente simple aprender el diseño usando un teclado qwerty mientras miraba una imagen de un teclado Dvorak en la parte inferior de mi pantalla)

La única diferencia de programación principalmente fue que los corchetes y llaves intercambiaban posiciones con los botones menos y más encima de ellos. Dependiendo del idioma que esté usando y cuánto use esas teclas, eso puede ser molesto; pero, de nuevo, tal vez su IDE inserte automáticamente los que corresponda. O bien, puede usar un programa como AutoHotkey para asignar otra combinación de teclas a esos símbolos.

Esto es lo que pasa con escribir en Dvorak: (en mi humilde opinión) debe usar todo Dvorak o todo qwerty, especialmente si depende en gran medida de los atajos de teclado en todas sus sesiones de computación.

Mi situación es que utilizo Vim con mucha frecuencia tanto en el trabajo como en casa. En mi último trabajo, las computadoras se compartían entre varias personas idiotas , y no podía esperar razonablemente que otros usuarios supieran cómo salir de Dvorak. Tuve que "volver a aprender" la memoria muscular para los comandos de Vim.

Es extremadamente fácil para mí alternar sobre la marcha entre qwerty y Dvorak para texto simple, pero (y tal vez solo soy yo) todos mis atajos de teclado conocidos son memoria muscular. Entonces, :wen Vim en qwerty termina como a S,, y I#para comentar una línea termina como C#, en lugar de eso, reemplaza toda la línea con solo un símbolo de libra. Y puede simplemente olvidarse hjklde navegar en Vim; en lugar de presionar las teclas en el homerow, ahora debe presionar el equivalente de jcvp. Oh, ¿quieres copiar, cortar y pegar con una mano? xcvahora se han mudado abi.en su lugar, diviértase alcanzando todo el teclado. ¿Nueva pestaña en Firefox? Estaba escribiendo Dvorak, así que presionó ctrl-t, pero el teclado está en modo qwerty, por lo que simplemente presione ctrl-k para saltar a la barra de búsqueda web.

Uno de los otros puntos bajos de Dvorak es la incómoda explicación de 30 a 60 segundos si un compañero de trabajo necesita usar su computadora por un momento.

Me entristece mucho decir que después de 4 años de escribir principalmente en Dvorak, ahora tengo que escribir qwerty porque es simplemente innecesariamente difícil alternar entre modos y retener la memoria muscular de mis atajos de teclado.

Por otro lado, hay un soporte alternativo de Vim para Dvorak , por lo que tal vez hoy sea un buen día para volver a subirme al vagón Dvorak. Y supongo que si alguien se sintiera particularmente ambicioso, podría configurar un script AHK para reasignar las teclas normales / cambiadas de qwerty a Dvorak, pero simplemente pasar por las teclas qwerty cuando se mantuviera presionada la tecla ctrl / alt. Sin embargo, parece que sería mucho trabajo por muy poco beneficio.

Recordar:

  • Dvorak es ideal para RSI
  • Cambiar entre qwerty y Dvorak es fácil de escribir, horrible para los atajos de teclado y otra memoria muscular
  • Dvorak puede ser una gran molestia para usar en el trabajo, dependiendo de su entorno de trabajo

Espero sinceramente que esto le dé más orientación sobre la decisión de ir a Dvorak.

Mark Rushakoff
fuente
37
Definitivamente escriba y pruebe las contraseñas antes de cambiar si está confiando en la memoria muscular para escribirlas.
Evgeny
5
Uso dvorak y lo he usado durante años. No volvería a Qwerty por nada. Es doloroso usar Qwerty en máquinas virtuales de otras personas. ¡Puaj!
Bobby Cannon
1
Gracias por una publicación muy útil. Podría identificarme con lo que estabas diciendo, aunque nunca he probado dvorak todavía, y la cantidad de detalles muestra que realmente has pensado en esto. Por otro lado, sin dvorak, ya tengo estos awkward 30-60 second explanationmomentos mientras cambio Visual Studio fuera del modo ViEmu ... :)
sehe
5
Cuando se trata de atajos, Mac admite Dvorak con atajos QWERTY. Entonces uso los atajos de QUERTY en Dvorak. La única ventaja de QWERTY es que cyv están en mejores ubicaciones :)
Ryan Rho
Esto le permitirá usar dvorak en modo de inserción y qwerty en modo normal para que no tenga que volver a aprender nada. Sin embargo, no funciona para excomandos o búsquedas.
Gordon Gustafson
73

Lo crea o no, la cantidad de caracteres especiales (como [], {}, etc.) en el código fuente es insignificante en comparación con el texto en inglés normal.

Escribí un pequeño programa que contaba las ocurrencias de cada carácter en el código fuente de un proyecto bastante grande en el que estoy trabajando (50k líneas), estos son los resultados. El lenguaje es C ++.

    E = 104050
    T = 86887
    Yo = 62788
    A = 61746
    R = 60438
    S = 58897
    N = 56595
    O = 51640
    L = 45490
    C = 39251
    D = 33776
    U = 30971
    "= 27858
    M = 25925
    , = 25296
    P = 23742
    (= 21407
    ) = 21391
    F = 21232
    G = 20860
    / = 19745
    H = 19717
    ; = 19226
    _ = 16207
    B = 13576
    = = 12427
    Y = 10498
    0 = 10125
    . = 9842
    K = 9241
    : = 8907
    W = 8509
    V = 7922
    {= 7648
    } = 7639
     = 6626
    % = 6507
    Q = 5896
    1 = 5752
    - = 5382
    X = 5261
    '= 3877
    \ = 3421
    2 = 3395
    + = 3172
    & = 2702
    [= 2597
    ] = 2586
    3 = 2174
    Z = 2141
    4 = 1657
    J = 1599
    ! = 1595
    5 = 1560
    # = 1501
    6 = 1367
    | = 1029
    8 = 967
    9 = 953
    7 = 939
    ? = 610
    `= 367
    ~ = 59
    $ = 47
    @ = 7
    ^ = 6
Thomas Bonini
fuente
8
+1, respuesta muy útil.
JBentley
30
( = 21407 ) = 21391 { = 7648 } = 7639 [ = 2597 ] = 2586 ¿Por qué esos no coinciden?
Leo Jweda
6
Los comentarios de @LeoJweda pueden distorsionarlo.
nawfal
14
@nawfal A menos que esté usando emoticones en sus comentarios, deberían coincidir.
Leo Jweda
13
@LeoJweda: 99,92% coinciden. Si la base del código es lo suficientemente grande, es normal que por una razón u otra una pequeña minoría no lo haga. Ojalá no sea por sonrisas, ya que :( sería mucho más común que :) en ese caso: P
Thomas Bonini
25

No vi esto mencionado, así que pensé en agregar esto: estoy usando el diseño Dvorak en un teclado QWERTY, con diseño de teclas de comando QWERTY. Significa que cada vez que presiono el botón de comando (estoy en una Mac), se aplica el diseño QWERTY. Así que estoy escribiendo completamente "con los ojos vendados" con el diseño de Dvorak, pero no tuve que volver a aprender los atajos de teclado. Ha funcionado muy bien hasta ahora durante los últimos 4 años y no volvería a cambiar a QWERTY.

La única desventaja de esto es cuando uso VIM, pero hoy en día uso principalmente vim solo para cosas simples, por ejemplo, modificar archivos de configuración a través de SSH.

Pascal
fuente
¿Cómo reasignó el diseño de la tecla de comando?
izhang05
16

Es posible que desee considerar el diseño de colemak. de las preguntas frecuentes :

Los lenguajes de programación hacen un uso intensivo de los símbolos de puntuación. Colemak mantiene casi todas las teclas de puntuación en sus posiciones QWERTY para facilitar la transición desde QWERTY. Depende de los lenguajes de programación que utilice, las convenciones de nomenclatura de variables (CamelCase frente a guiones bajos) y el editor que utilice. Al final, es una cuestión de preferencia personal. Es posible que desee reasignar las secuencias AltGr a los símbolos de puntuación que usa con frecuencia.

Antonio
fuente
2
+1. Nunca he oído hablar de Colemak, pero llegaron a algunos puntos clave sobre Dvorak en esas preguntas frecuentes, especialmente con los meñiques. ¿Y una reasignación de Vim? ¿Y el soporte de Linux? Definitivamente estoy probando esto. En el lado "social" de la distribución del teclado, Colemak no puede ser peor que Dvorak de ninguna manera, y si es mejor en el lado del esfuerzo físico ... Podríamos tener un ganador aquí.
Mark Rushakoff
5
Creo que lo que hay que señalar es que para el inglés, Dvorak es una victoria significativa sobre Qwerty, mientras que Colemak es una victoria marginal sobre Dvorak.
Dmitri Nesteruk
1
entonces, ¿eso significa que colemak es marginalmente significativo sobre qwerty?
Chase Florell
@DmitriNesteruk Si Dvorak >> QWERTY y Colemak> Dvorak entonces Colemak >> QWERTY, ¿verdad?
Leo Jweda
@DmitriNesteruk desde Dvorak >> QWERTY, los beneficios del ex no se disputan. Pero desde Colemak> Dvorak, la superioridad del primero no se acepta unánimemente. Aunque Colemak tiene una clara ventaja tecnológica, tengo algunas reservas.
nawfal
8

El propósito del teclado Dvorak es evitar la tensión en las manos manteniendo las letras más escritas en la fila de inicio, al menos en inglés. Dudo mucho que esto ayude con la programación de una manera significativa debido a la velocidad a la que se escribe el código. Siempre pienso en lo que escribo mientras lo escribo, y los nombres de las variables nunca se ajustan completamente al inglés estándar. De hecho, no me sorprendería que las frecuencias de letras en un archivo típico de código fuente varíen dramáticamente de las frecuencias establecidas de letras en inglés.

Si sufre de algo como el túnel carpiano, Dvorak puede ayudar a aliviarlo. Debo decir que el teclado Dvorak probablemente ayuda con la escritura regular y la mecanografía mucho más que con la programación.

AlbertoPL
fuente
Si está usando snake_case para nombrar sus variables para una mayor legibilidad o como es la costumbre en lenguajes como Python, entonces encontrará que Dvorak es en realidad mucho más fácil ya que la tecla de subrayado "_" está en la fila de inicio, lo que hace que escribir estas variables sea mucho más fácil. y más natural de escribir. Además, las teclas + y - están a solo una tecla de la posición inicial en lugar de 2 filas en el diseño QWERTY.
SurpriseDog
8

Los diseños de teclado QWERTY y Dvorak fueron diseñados para escribir texto, no código.

Puede probar diseños para escribir código como este: Programador Diseño de teclado Dvorak

Nick Dandoulakis
fuente
4
Los programadores usan muchos atajos de teclado. Muchos atajos de teclado son más fáciles en Qwerty que en Dvorak. Por ejemplo, cortar, copiar y pegar: ctrl + x, ctrl + c, ctrl + v.
Andrew Bainbridge
Acabo de recordar por qué encontré que esto es un problema. A menudo, suelo tener mi mano derecha sobre las teclas del cursor y la mano izquierda haciendo los atajos de teclado. Muchos programas parecen estar diseñados para esto, con un fuerte sesgo hacia los atajos solo para la mano izquierda. En Dvorak, los atajos se mezclan y muchos de ellos terminan requiriendo dos manos. Sin embargo, dado que todos los usuarios son diferentes, tal vez no encuentre que esto sea un problema.
Andrew Bainbridge
2
muchos atajos tienen alternativas. Quizás soy un tipo de la vieja escuela porque uso ctrl + Ins, shift + Ins en lugar de ctrl + c, ctrl + v :-)
Nick Dandoulakis
6

He estado usando Dvorak durante más de 1,5 años. La razón de utilizar el diseño de Dvorak no es la velocidad, sino la comodidad en sí. Piensas más de lo que escribes el código. Codifico principalmente usando emacs, sin embargo, no estoy usando la combinación de teclas predeterminada. Dado que emacs es relativamente altamente personalizable, utilizo combinaciones de teclas Ergoemacs. Realmente me ayuda a codificar en emacs, al tiempo que conservo mi comodidad con Dvorak sin saltar aquí y allá cuando quiero hacer una operación de emacs que se realiza principalmente usando una combinación de teclas.

Didiet
fuente
1

Estar acostumbrado a dvorak puede ser un problema si trabajas en equipo o algo así en el que escribes en las computadoras de otras personas.

miloshadzic
fuente
2
Si usa el diseño ANSI normal, hay un diseño Dvorak integrado con XP, Vista y la mayoría de las distribuciones normales de Linux (en realidad, estos vienen con variantes localizadas y XP no). Así que solo es cuestión de habilitar el subprograma de la barra de idioma.
Piazza Adriano Varoli,
2
Siempre he sido el único que usa Dvorak entre todos mis otros desarrolladores. No es un problema. Ellos no escriben en mi computadora y yo no escribo en la suya. Siento pena por tener que sufrir a través de QWERTY. Una vez que aprendes dvorak, ves lo horrible que es realmente el qwerty. Es difícil de notar hasta que no aprendas dvorak.
Bobby Cannon
Esto sucede lo suficiente, que los que escriben en Dvorak como yo eventualmente aprenden a cambiar entre teclados sobre la marcha. No puedo escribir a la misma velocidad en Qwerty, pero es factible.
SurpriseDog
1

Utilizo un diseño Dvorak-es -optimizado para la frecuencia de letras en el idioma español- tanto para programar como para escribir, y las teclas especiales () {} [] <> / * etc.son las mismas en este y Qwerty.

Si está haciendo el cambio a Dvorak, quizás valga la pena diseñar su propio diseño "Programmer's Dvorak" con las posiciones estándar QWERTY para estas teclas. Al menos en Windows, puede usar el creador de diseño de teclado de MS para hacer esto.

Plaza Adriano Varoli
fuente
¿Sabes cómo configurar dvorak español en Windows 10? Necesito ayuda con eso. En Linux es solo un comando: setxkbmap dvorak es. ¿Existe tal implementación en microsoft?
nilon
0

Bueno, cualquier teclado puede ser apropiado para programar. Simplemente importaría si le resulta cómodo escribir porque rompe su forma de escribir con QWERTY.

En una nota al margen, este teclado sería terrible para personas zurdas como yo.

Daniel A. White
fuente
3
Excepto por el zurdo Dvorak;)
samoz
1
¿Porque QWERTY es mucho mejor para los zurdos? Dvorak, AFAIK, también está diseñado para distribuir la carga de trabajo de manera uniforme en ambas manos, por lo que ser diestro o zurdo no debería importar.
Piazza Adriano Varoli,
Parece que tiene más cosas dominantes en la mano derecha.
Daniel A. White
Sí, vwls no está frqntl sd. En serio, Dvorak estudió bastante para crear el diseño, no dijo 'parece que esto es más eficiente'.
Piazza Adriano Varoli,
0

Similar a la respuesta anterior: cualquier distribución de teclado puede ser apropiada si se siente cómodo y puede trabajar de manera eficiente con eso. Dvorak siempre podría ser una posibilidad si está interesado en él, ¿por qué no lo prueba? Estoy seguro de que puedes encontrar un teclado antiguo para cambiar algunas teclas.

En el peor de los casos: vuelve a qwerty. :)

Enlace

Daniel mayo
fuente
1
El peor de los casos que señala es un poco simplista. Me tomó un par de semanas aprender a Dvorak y durante ese tiempo fui menos productivo. Valió la pena, y yo no estaba trabajando en ese momento, pero no muchas personas pueden simplemente hacer caso omiso de 2 semanas de productividad perdida en su trabajo.
Piazza Adriano Varoli,
1
No veo cómo esto puede afectar directamente a la productividad: para mí, al menos, cambiar a una nueva distribución de teclado no va a tener un efecto enormemente perjudicial en mi pensamiento lógico sobre cómo solucionar el próximo conjunto de errores. . Tal vez para las personas en el trabajo de estilo de informe en el que está escribiendo constantemente sin demasiado descanso, puedo entender su punto. Sin embargo, tomo en cuenta lo que dijo, tal vez estaba siendo simplista en mi conclusión.
Daniel mayo