Skip to content

Latest commit

 

History

History
42 lines (21 loc) · 5.45 KB

prefacio.md

File metadata and controls

42 lines (21 loc) · 5.45 KB

You Don't Know JS (Usted no sabe JS)

Prefacio

Estoy seguro que ha notado, pero "JS" en la la serie de este libro no es una abreviación de un insulto contra JavaScript, aunque estoy seguro que insultar el lenguaje es algo con lo que todos nos hemos identificado.

Desde los primeros días de la web, JavaScript, ha sido la tecnología clave que deriva la experiencia interactiva que consumimos. Aunque, ir detrás de los rastros que deja el mouse y los pop-ups molestos habrá sido donde comenzó JavaScript, casi 2 décadas después, la tecnología y capacidad de JavaScript a crecido varios órdenes de magnitud, y pocos dudan ya la importancia de esta desde el corazón de la plataforma de software más disponible del mundo: La web.

Sin embargo, como lenguaje, a sido de manera perpetua objetivo de grandes críticas, dado en parte de su herencia pero más aún a su filosofía de diseño. Incluso su nombre evoca, como lo dijo alguna vez Brendan Eich, el estatus del "hermano bobo" al lado de lenguajes mas maduros como "Java". Pero si nombre es apenas accidental debido a política y mercadeo. Los dos lenguajes son muy diferentes y en formas importantes. "JavaScript" está tan relacionado a "Java" como "Carro" a "Carnaval".

Dado que JavaScript toma prestado conceptos y sintaxis de varios lenguajes, incluyendo las formas de los procedimientos de C, menos obvios están las similitudes funcionales con Scheme/Lisp, lo hace un lenguaje accesible a muchos tipos de programadores, aún los que tiene ó no experiencia programando. El programa "Hello World" de JavaScript es tan simple que el lenguaje invita y es fácil sentirse como, aún con poca exposición.

Dado que JavaScript es de pronto el programa más fácil de aprender y trabajar con, son sus excentricidades que menos frecuente encontrar a alguien con un dominio impecable del mismo, algo que ocurre más frecuentemente en otros lenguajes. Un claro ejemplo es que en C o C++ se requiere un entendimiento profundo del lenguaje para poder escribir un programa para producción, en JavaScript, sin embargo, uno puede hacerlo apenas entendiendo el lenguaje.

Conceptos sofisticados, que están profundamente arraigados en el lenguaje, tiene que salir a la superficie en aparentemente de maneras muy sencillas, como pasando funciones en callbacks, lo que alienta al desarrollador JavaScript a que use el lenguaje como viene y que no se preocupe por las cosas que pasan por debajo.

Es simultáneamente un lenguaje fácil de usar, lo cual tiene señuelo amplio, y una collection matizada de mecánicas del lenguaje hace que, sin un estudio minucioso eluda hasta el developer de JavaScript más experimentado.

En esto está la paradoja de JavaScript, el talón de Aquiles se entiende mejor, este es el reto que estamos atacando. Ya que JavaScript puede ser usado sin entendimiento, el verdadero entendimiento de esto es, frecuentemente, nunca alcanzado.

Misión

Si en cada punto que se encuentran con una sorpresa or frustración en JavaScript, su respuesta es agragarla a la lista negra y argumentos para odiar el lenguaje, usted pronto se encontrará dentro de una carcasa que le impedirá disfrutar las riquezas de JavaScript.

Aunque la subcategoria fácil de entender se ha llamado "The Good Parts" ("Partes fáciles", Libro en inglés sobre JavaScript), le imploro al lector, que considere estas partes fáciles como "Partes seguras" o mejor aún "Partes incompletas".

Esta serie de libros You Don't know JavaScript (Usted no sabe JavaScript), ofrece un reto el reto contrario, entender todo JavaScript, especialmente "Las Partes Difíciles".

Aquí vamos a atacar la tendencia de los desarrolladores JS a aprender solamente "lo suficiente", sin nunca tratar de entender exactamente lo como y porqué el lenguaje se comporta de esa manera. Es más, vamos a evitar el consejo común de retirarse de la vía cuando el camino se pone rudo.

No me pone contento, y tampoco debería el lector, de para cuándo algo solo funciona sin realmente entender porqué. Quiero hacer un reto al lector de que camine por el camino menos recorrido y aprender todo lo que JavaScript puede hacer. Con ese conocimiento, sin técnica ni frameworks, sin palabras o terminología de moda, para ir más allá de nuestro entendimiento.

En esta serie de libros, cada uno toco partes específicas del lenguaje que son comúnmente malinterpretada, o realmente no interpretadas. Iremos a un estudio minucioso en cada una de ellas. Saliendo ellos, el lector tendrá una confianza aumentada en su entendimiento, no sólo teórico, sino práctico "de lo que debe saber".

Él JavaScript que usted sabe ahora, es probablemente partes que otros desarrolladores nos entregaron y están llenos de mal interpretaciones. Ese entendimiento es no más que sombras del lo que realmente es el lenguaje. Usted por ahora no sabe JavaScript, pero una vez terminemos esta serie, lo sabrá. JavaScript lo espera.

Conclusión

JavaScript es un lenguaje increíble. Fácil de aprender parcialmente, y difícil de tener maestría, o entender lo suficiente. Cuando desarrolladores encuentran confusión, usualmente, culpan al lenguaje, cuando realmente deberían culpar su falta de entendimiento. Estos libros buscan arreglar esto, inspirando una apreciación mejor del lenguaje que el lector no tiene y debería.

Nota: Muchos de los ejemplos en este libro asumen un motor de JavaScript moderno, como uno que pueda interpretar ES6. Algunos ejemplos de código no funcionarán como descrito en motores preES6.