¿Los buenos programadores necesitan tener sintaxis en la punta de la lengua cuando escriben código? ¿Qué piensas de ellos si googlean cosas simples en línea? ¿Son buenos o malos (tal vez saben dónde buscar)? ¿Deberían los programadores tener una buena memoria? ¿Es este un rasgo para un buen programador?
self-improvement
maz3tt
fuente
fuente
Respuestas:
Mi filosofía en la programación es que es un "estado mental" y el resto es "solo sintaxis". (es decir, no (como) importante)
Dicho esto, uno no debería tener que buscar las cosas simples. Al menos, no para los idiomas con los que trabaja regularmente. No hay nada de malo en necesitar refrescos y saber cómo encontrar información es sin duda una buena habilidad para tener. Sin embargo, la sintaxis central definitivamente debería ser bien conocida. De lo contrario, pasa demasiado tiempo buscando y muy poco tiempo programando.
fuente
Depende de lo que quieras decir, pero la respuesta corta es sí.
¿Los programadores van a olvidar un punto y coma o un aparato ortopédico aquí y allá? Seguro. ¿Van a buscar la sintaxis de una instrucción switch porque probablemente rara vez la usen? Bueno lo haré. ¿Trabajaré con ActionScript pero lo escribiré como Java? Seguro. Puede llevar algún tiempo acostumbrarse a escribir en un idioma nuevo, especialmente si ha trabajado con uno diferente durante años.
La verdadera preocupación debería ser si un programador no puede hacer cara o cruz de la sintaxis incluso con un IDE que lo ayude. Si la persona no sabe para qué sirve un punto y coma, o para qué sirven esas llaves elegantes, entonces tiene que estudiar más.
fuente
switch
, seguido de algo entre paréntesis, luego un paréntesis de apertura, luegocase
con una etiqueta que no está entre paréntesis, luego dos puntos, luego las declaraciones típicamente con punto y coma. Y, no olvidemos, lasbreak
declaraciones. Fue a través del esfuerzo y la pura fuerza de voluntad que finalmente lo memoricé y todavía tengo que verificar dos veces ocasionalmente; solo por asegurar.Definitivamente me sorprendería si un programador bueno por lo demás tuviera que buscar de forma rutinaria la sintaxis para un idioma en el que hablara con fluidez. Por supuesto, puede haber casos de esquina que en realidad no se usan mucho en la práctica de modo que sea perfectamente aceptable para que un buen programador no los conozca, pero, como regla general, un programador fluido no tiene que buscar la sintaxis. Tiene que buscar funciones y clases de bibliotecas :)
fuente
std::string
, por ejemplo.Si está en una posición en la que cambia los idiomas regularmente o trabaja en 3 o 4 idiomas al mismo tiempo, no hay mucho que pueda hacer al respecto. Por un tiempo terminé trabajando en proyectos que requerían un cambio constante y comencé a referirme a mí mismo como un "programador de referencia", teniendo que buscar cosas mucho más de lo que hubiera preferido.
fuente
He estado escribiendo C ++ durante más de 15 años, pero todavía no conozco algunas de sus esquinas sintácticas arcanas de memoria.
¿Cómo se crea una instancia explícita de una plantilla de función nuevamente? ¿Y cuál es la sintaxis para especializar parcialmente una plantilla que tiene un argumento plantilla-plantilla? Y no me hagas empezar a declarar una función que devuelve un puntero a una matriz de punteros a funciones que llevan matrices de punteros a ...
Sospecho que hay a lo sumo una o dos docenas de personas en este mundo (si es que hay alguna) que realmente saben toda la sintaxis de C ++ de memoria. Y probablemente todos estos estén ganando su dinero escribiendo frontales del compilador de C ++.
fuente
Tengo curiosidad acerca de Google "sintaxis" aquí.
Mi sospecha (y miedo) es que no estamos hablando de los parámetros que toma una llamada (porque la mayoría de los IDEs lo guiarán allí para que no los busque en Google), sino cosas reales del tipo "cómo hacer X".
Los IDE han hecho innecesario memorizar nombres precisos y listas de parámetros de la forma en que solían ser necesarios, y eso ha hecho que muchas personas sean un poco vagas al respecto, pero está bien.
¿Pero algo que necesitas para Google? Para mí, eso generalmente no es sintaxis, es algo que realmente no sabes o con el que estás familiarizado.
Por supuesto, eso no quiere decir que esté mal tener que usar Google: los idiomas pueden ser bastante amplios en estos días y pocas personas lo saben todo, pero yo diría que si usted dice ser competente con un idioma, entonces Google debería ser la excepción y no la regla. .
Para mí, a menos que esté haciendo algo relativamente inusual, o tal vez esté oxidado con el idioma después de un período de hacer algo diferente, si afirma "saber" un idioma, no debería buscar en Google más del 10% de las cosas. a lo sumo, y eso debería ser realmente algo muy específico.
En referencia a la idea de que se trata de tener una buena memoria, en realidad no lo es. Se trata del tipo de sensación instintiva que obtienes por algo que realmente (en lugar de superficialmente) conoces. No considero el hecho de que sé cocinar una Melanzane Parmigiana sin una receta una señal de que tengo buena memoria, es una señal de que entiendo cómo cocinar ese plato, son cosas sutilmente diferentes.
Además, pregúntate esto, ¿esperarías ir a la cocina de un restaurante y encontrar al chef mirando constantemente un libro de cocina? ¿O para ver al mecánico trabajando en su automóvil hojeando el manual de Hayes para ese modelo? Si viera cualquiera de esas cosas, me sentiría bastante incómodo sobre lo buena que era esa persona.
fuente
syntax != api
Mi opinión es No. No es la sintaxis lo que es importante, sino su lógica para resolver un problema o lograr un objetivo. Si se supone que trabaja en varios idiomas, es natural que en algún momento no recuerde la sintaxis exacta.
fuente
La sintaxis es solo la vista sobre la semántica subyacente del lenguaje porque la programación se trata de usar los ladrillos semánticos subyacentes para construir algo. Si no comprende los conceptos fundamentales que usa el lenguaje, no importa cuán bueno sea para memorizar la sintaxis, su código será un desastre horrible. Como alguien dijo una vez: "Los buenos programadores tienen un intérprete y un compilador en su cabeza". Observe cómo no se menciona la sintaxis porque no es allí donde sucede el trabajo real.
fuente