¿Dominar un lenguaje de programación al no programar?


9

El informático Peter Norvig argumentó en su ensayo Teach Yourself To Program in 10 Years que necesitas alrededor de 10,000 horas de práctica.

Pero Jeff Atwood argumentó en su publicación Cómo convertirse en un mejor programador al no programar que cree que la única forma de convertirse en un mejor programador es no programar.

Estos artículos están en oposición. ¿Hay alguna evidencia científica para probar el enfoque de Jeff Atwood?


12
No veo cómo son contrarios, cuando miro más allá de los títulos. Ambos son importantes, pero en realidad están programando y también trabajando en habilidades que no son de programación usadas en el trabajo. Ninguno de los dos dice que no deberías hacer el otro. Cada uno dice que una cosa es importante además de la otra.
Servicio

2
Pasemos los meta comentarios a meta, por favor. meta.programmers.stackexchange.com/q/6137/53019

Respuestas:


28

Te estás perdiendo el punto.

Jeff Atwood dice que ser un excelente programador requiere más que solo habilidades de codificación. También requiere ser un buen diseñador, trabajar bien con otras personas y, en general, convertirse en un mejor pensador y solucionador de problemas.

La mayor habilidad que falta es alguien que sea bueno para comprender la ingeniería y que tenga buenas relaciones con los ingenieros de núcleo duro, y que sirva de puente para trabajar con los clientes.

-- Bill Gates

El punto de Peter Norvig es que no puedes simplemente recoger una copia de "Conviértete en un programador maestro en 24 horas" y esperar que eso funcione. Pero esa es exactamente la cantidad de personas que hacen preguntas en Stack Overflow parecen acercarse a la programación. Creen que pueden cargar Eclipse, aprender algunas palabras clave y escribir los próximos Angry Birds. Se necesita un poco más que eso.


55
No, los pájaros enojados son probablemente como 2 o 3 palabras clave repetidas hasta la saciedad con divertidas fotografías de pájaros. Sí. Es una base de datos para ornitólogos, ¿verdad?
Jimmy Hoffa el

Bueno, pero de cierta manera el punto de Peter Norving se refiere al hecho de "dominar" no conocer de manera superficial (ese es el punto central de su artículo) el lenguaje de programación. De hecho, Peter y Jeff Atwood se refieren a ser un "maestro". De la misma manera que describe la postura de Jeff Atwood, describo que Peter Norving dice que ser un excelente programador requiere mucha codificación (con los temas de aprendizaje implícitos) y práctica.
bywronski

2
@ Wronski: Ah, ya volviste, ¡ya veo! Qué gusto verte de nuevo. Mientras estabas fuera, estábamos discutiendo tu pregunta, cerrándola y volviendo a abrirla. De todos modos, ¿qué estás diciendo exactamente? El punto de Peter Norving es que no puedes ser un maestro en 24 horas, o incluso 21 días. El punto de Jeff Atwood es que no puedes ser un maestro solo escribiendo código. Ambos tienen razón.
Robert Harvey

@RobertHarvey ¿Por qué cerrarlo y volver a abrirlo? ¿Debo interpretar que el artículo de Peter Norving es solo una buena "codificación" y que el artículo de Jeff Atwood es un buen "ingeniero"? Estoy un poco confundido.
bywronski

1
@Wronski: Los maestros son buenos codificadores y buenos ingenieros.
Robert Harvey

10

La parte de "No programación" debe venir después de una buena práctica de programación.

the only way to become a better programmer is by not programming

Primero debes ser un programador antes de convertirte en uno mejor. La primera barrera de aprendizaje del lenguaje de programación requerirá mucho esfuerzo solo y la parte de resolución de problemas será trivial en comparación con los problemas que tendrá que enfrentar más adelante.

ACTUALIZAR:

Como se sugiere en los comentarios, aún puede beneficiarse de "no programar aka: (pensar)" cuando empiezo como programador, pero no me alejaría del teclado solo porque alguien dice que debería estar haciendo eso para mejorar, en lugar de debe hacerlo porque sabe que necesita pensarlo más.


2
Quizás. Pero las habilidades de diseño no están tan lejos, incluso cuando comienzan; y las habilidades de las personas son valiosas, independientemente de su capacidad de codificación.
Robert Harvey

@RobertHarvey Sí, pero el artículo de Jeff Atwood parece ser más sobre la resolución de problemas y alejarse de la computadora para pensar en lo que está programando.
Korey Hinton

2
@KoreyHinton Que es algo que sería completamente apropiado que alguien haga al resolver su primer problema de programación. Puedes y debes hacerlo desde el primer día, no una vez que ya eres competente, eso es lo que dice Robert.
Servicio

1
@KoreyHinton Es por eso que nadie (ni el artículo, ni ninguna de las personas que responden aquí) están diciendo que debería estar haciendo solo uno u otro. Dicen que es importante hacer muchas cosas, porque las habilidades se complementan entre sí.
Servy

1
@Wronski Creo que Robert está argumentando el punto opuesto de que las habilidades que no son de programación se pueden aprender mientras se aprende a programar. También estoy de acuerdo con esto, pero me alegro de que personalmente no haya complicado demasiado el proceso de aprendizaje al principio. Mi enfoque era como si usted mencionara priorizar las habilidades de programación primero, las habilidades de pensamiento en segundo lugar y ahora me esfuerzo constantemente por mejorar ambas.
Korey Hinton
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.