Me pregunto si vale la pena leer las especificaciones del lenguaje / documentos estándar (por ejemplo, la Especificación del lenguaje Java ) si no vas a escribir un compilador / intérprete para el idioma o algo similar. Entiendo que leer un libro así no debería ser la primera exposición de nadie al idioma, pero podría ser una excelente manera de aprender los detalles más finos del mismo.
¿Alguna vez te has molestado y otros deberían
Respuestas:
Básicamente se trata de una pregunta bastante simple: ¿desea un conocimiento detallado y autorizado del idioma, o está contento de saberlo lo suficiente como para usarlo, dándose cuenta de que probablemente hay partes que no conoce bien y posiblemente otras partes que no sabes en absoluto?
Básicamente, hay algunas personas que parecen casi nacidas para ser "abogados de idiomas": no descansarán (no podrán) mientras haya algunos rincones o grietas en el idioma que no conocen y / o entender Muchos de estos gravitan hacia lenguajes relativamente simples simplemente porque aprender idiomas más complejos a este nivel de detalle es casi imposible para cualquier persona.
Para la mayoría de los programadores, eso sería una pérdida total de tiempo: están bastante contentos y productivos sabiendo lo suficiente del lenguaje para poder usarlo (razonablemente) bien. Más allá de eso, simplemente no les importa. El lenguaje es una herramienta, y siempre que puedan usar la herramienta lo suficientemente bien para sus propósitos, el hecho de que hay otras cosas que no saben es en gran medida irrelevante.
fuente
Nunca
Nunca se debe leer una especificación de idioma.
Es una pérdida total de tiempo.
Los grandes programadores pueden escribir código aleatorio, hacer preguntas sobre Stack Overflow y usar el IDE para eventualmente escribir código que no se cuelga muy a menudo.
No pierdas el tiempo entendiendo el idioma. Simplemente encuentre un gran IDE con buen autocompletado. Haga muchas preguntas SO. Es todo lo que cualquiera necesita.
fuente
Para Java, la especificación del lenguaje tiene la intención de dar una respuesta definitiva a cualquier pregunta sobre el significado de un constructo fuente dado. No se recomienda leerlo como alumno; en cambio, un buen maestro te muestra todas las trampas y lo que realmente significan.
Para un desarrollador experimentado, los Java Puzzlers son realmente buenos para entrenar su comprensión de los casos de esquina oscura.
fuente
La respuesta general es: sí, vale la pena.
Si desea escribir código portátil, es obligatorio.
Para algunos idiomas, es inevitable, por ejemplo, Ada o perl.
Además, si no solo escribe código sino que también lee el código de otros, eventualmente tendrá que consultar la especificación.
fuente
Quizás solo soy yo, pero esta pregunta no tiene sentido. Comprender las herramientas que utiliza es el sello distintivo de un profesional. Cuanto más profunda sea la comprensión, mejor será su capacidad para usar la herramienta. Para mí es una elección entre ser un diletante o un profesional.
Cada vez que estoy aprendiendo un nuevo idioma, lo primero que busco es la especificación.
He leído especificaciones para ANSI C, C ++, Java, Scheme, Python y Javascript. He olvidado la mayoría de los detalles de C, C ++ y Java solo porque no uso esos lenguajes con frecuencia. Después de leer las especificaciones, era un mejor programador porque sabía cómo usar mejor el lenguaje.
fuente
En general, puede ser útil comprender ciertos momentos difíciles que encuentras de vez en cuando.
Pero en serio, si dominar un idioma requiere que te familiarices con su especificación detallada, entonces quizás el idioma sea desafortunado. De manera similar al dicho común, si necesita una documentación para su aplicación, entonces está mal diseñada.
fuente
Me resulta útil cuando te encuentras con un momento, pero me resulta difícil retenerlo como una lectura directa. Sin embargo, cuando lo usé después de que no entendí algo, siempre fomentó mucho mi conocimiento.
fuente
Si usted es un programador básico en ese idioma y necesita poder extraer todos los matices sutiles, sí. Hay claros retornos de su inversión de tiempo en ese caso .
De otra manera no. Si no va a utilizar el conocimiento, ciertamente no se quedará con usted. Las especificaciones de idioma son lo más aburrido que se pueda leer.
fuente
Normalmente no pongo mucho stock en el Estándar. El simple hecho es que el Estándar no le indicará que no use excepciones como flujo de control. No le dirá que no use Singletons. No le dirá cómo diseñar una interfaz de clase mantenible. No le dirá por qué su aplicación se bloquea cuando no sabe por qué. Puede tener el programa mejor definido del mundo y seguirá siendo horrible.
En mi opinión, el hecho simple es que la gran mayoría del desafío de programación no está en hacer que el lenguaje haga lo que quieres, es saber qué es lo correcto. Mientras conozca las características básicas del lenguaje, lo que cuenta será la forma de usarlas.
fuente
Definitivamente vale la pena leerlo. Algunos lenguajes como C ++ y Java y Python son lo suficientemente complejos como para leer las especificaciones del idioma y aprenderás mucho sobre esos lenguajes y todos los trucos de sintaxis / semántica sofisticados que tienen.
Solía leer la especificación del lenguaje Scheme R5RS en el viaje en autobús a la universidad porque era corto y compacto y aprendí toda la sintaxis y todas las funciones básicas disponibles.
fuente
La parte de doc.python.org etiquetada como "referencia de lenguaje" es extremadamente útil. El capítulo "modelo de datos" particularmente así.
fuente
Creo que si la programación en este lenguaje es su trabajo y desea tomarse su trabajo en serio, debe leer la especificación del lenguaje, especialmente cuando es relativamente fácil y rápido de leer y comprender como la especificación del lenguaje Java, aunque ha
recently
perdido mucho Es simplicidad con los genéricos.Pero también, si planea aprender y eventualmente dominar un nuevo idioma que aún no conoce, puede ser muy perspicaz leer las especificaciones de ese idioma antes de perder su tiempo con él. Estoy seguro de que si más desarrolladores de C ++ hubieran leído e intentado comprender el Manual de referencia anotado de C ++ antes de que comenzaran a usarlo, muchos se habrían asustado.
fuente