Recientemente tuve una pregunta sobre el internamiento de String and String, una pregunta bastante simple a la que obtuve una respuesta rápida. Pero he aquí que obtuve una respuesta detallada a la misma pregunta en la pág. 29 de la versión de JLS 3 rd. Es realmente interesante que muchas de las preguntas que hicimos se responden en el JLS, pero es una lectura de 600 páginas tan aburrida (la 4 edición es aún más grande). ¿Cuántos de ustedes han recogido el JLS últimamente para leer tranquilamente?¿Alguien ha leído alguna vez la especificación de lenguaje Java (JLS)?
Respuesta
Lo he mencionado un par de veces, pero para una lectura ligera, disfruto el VM spec un poco más.
He leído las tres ediciones, pero no recientemente. Algo de esto es realmente aburrido (Capítulo 16 en Asignación Definitiva, por ejemplo). Pero rara vez encuentro que necesito buscar algo, y no estoy preparado para una pregunta en este sitio. Realmente, muchas preguntas simplemente deben responderse con una referencia a documentos o una base de datos de errores.
¿Cuánto tiempo tardó en leer las tres ediciones? – doABarrelRoll721
Leí una buena parte de eso cinco o seis años atrás para una clase de compiladores. Nos encargaron implementar fragmentos aleatorios del compilador de Java y mi intención era ir más allá de lo que las asignaciones realmente implicaban. Fue uno de los proyectos más divertidos e interesantes que he hecho, especialmente verlo funcionar. Sin embargo, nunca lo completé, ni siquiera llegó a generar bytecode.
A veces leo cosas de aquí y de allá, cuando hay algo específico que necesito averiguar (por ejemplo, detalles de cómo se define Java's memory model). Nunca he leído el JLS completo. Supongo que solo los implementadores de lenguaje necesitarán leerlo todo.
- 1. Especificación del lenguaje PHP?
- 2. ¿Hay una especificación de lenguaje Python?
- 3. ¿Hay una versión mobi de la especificación de lenguaje Java?
- 4. ¿Alguna vez ha usado ngen.exe?
- 5. ¿Qué parte de la Especificación del lenguaje Java describe el comportamiento de los varargs omitidos?
- 6. ¿Alguna vez ha bloqueado el compilador?
- 7. ¿Alguna vez alguien usa el Control Ribbon?
- 8. ¿Alguna vez OCaml ha copiado bloques personalizados?
- 9. ¿Alguien ha hecho alguna vez una 'animación de escaneo' básica en una imagen?
- 10. ¿Alguien ha creado alguna vez un carrito de compras en Expression Engine?
- 11. ¿Alguien ha hecho alguna vez grandes búsquedas en JavaScript usando webworkers para paralelizar?
- 12. ¿Alguna vez alguien ha trabajado con OpenCV con Python 2.7 en MacOS 10.6?
- 13. Especificación de bytecode de Java
- 14. Lenguaje confuso en la especificación de strtol, et al
- 15. ¿Alguna vez ha diseñado software imaginando la solución ideal?
- 16. ¿Alguna vez Scala (o JVM) ha optimizado objetos (Function)?
- 17. Especificación del lenguaje principal del esquema
- 18. Inferencia de tipo de método en la especificación Java
- 19. ¿Alguien alguna vez usó el molde de PHP (unset)?
- 20. ¿Se ha producido una identificación de columna más de una vez en la especificación?
- 21. ¿Alguna vez ha salvado su tocino de propiedades triviales?
- 22. ¿Alguien ha creado un slicer de programa en Java?
- 23. ¿Se desborda BigInteger alguna vez?
- 24. ¿Alguna vez necesita escribir código real en lenguaje ensamblador?
- 25. ¿Se ha admitido el selector :: - webkit-selection alguna vez?
- 26. ¿Alguien ha analizado Wiktionary?
- 27. ¿Alguna vez ha usado métodos de extensión privados?
- 28. ¿Alguna vez ha visto un archivo Java close() arrojar una excepción?
- 29. ¿Alguien ha utilizado waf para crear aplicaciones Java?
- 30. ¿Alguien ha encontrado que la recolección de basura sea útil?
4th Edition? De hecho, la primera edición fue bastante grande (pero incluía algunas de las API "centrales"). –
La especificación debe ser precisa, por lo que todas las preguntas sí/no pueden responderse definitivamente. Este que escribió y mantuvo los compiladores de Java/debe/ha leído para poder saber cómo implementarlos. –
Estoy tentado de volver a abrir esto, para que podamos disfrutar página tras página de personas que dicen "Sí, lo he leído recientemente", o "No, no lo he leído por un tiempo", o "Guardo un copia en el baño ". –