1.8 Lenguaje de programación (JavaScript y WGSL)
La mayor parte de este texto gira en torno a ejemplos prácticos (no solo teóricos). Casi todos los ejemplos están escritos principalmente en JavaScript y WGSL (lenguaje de sombreado WebGPU). Es útil si ya tienes experiencia con la programación web, es decir, sintaxis de JavaScript, declaración de variables, funciones, lambdas y matrices; de lo contrario, puedes tener dificultades en algunos aspectos. Sin embargo, eso no significa que no puedas combinar este texto con otros recursos/libros de aprendizaje. JavaScript es uno de los lenguajes de programación más populares del mundo; también el lenguaje de programación de la Web. Si bien JavaScript es fácil de aprender, también es un lenguaje que puede causarle a las personas mucho dolor y dificultad para navegar; así que ten cuidado. Si bien este texto se centra en la API de WebGPU, ten en cuenta que un código JavaScript (o WGSL) mal estructurado, debido a la falta de familiaridad con la sintaxis/características del lenguaje, puede hacer que tu viaje a WebGPU sea muy accidentado. Los programas también están escritos para aplicaciones del lado del cliente, como configuración/carga de datos, etc. (es decir, no necesita un servidor activo para ejecutar los programas WebGPU).
Uno de los errores más grandes que cometen los primeros desarrolladores de JavaScript (especialmente los que vienen de otros entornos de programación, como Java o C++) es tener conceptos erróneos sobre las llaves y el alcance de las variables (alcance a nivel de bloque para las variables var).
- Familiarizado con las características del lenguaje JavaScript
- Tenga cuidado con las pérdidas de memoria (las variables globales permanecen presentes o cualquier variable a la que todavía se haga referencia)
- Recuerde los tipos de igualdad
==,===,!=,!== - Aprovecha de
"strict mode"
Cuando se trata de programar la GPU, tendrás que usar shaders (pequeños programas que se ejecutan en la GPU). Estos programas están escritos en un lenguaje shader (hay pocos lenguajes shader diferentes disponibles). Sin embargo, con la introducción de la API WebGPU llegó un nuevo lenguaje shader conocido como ‘WGSL’, que es la abreviatura de ‘WebGPU Shader Language’. El WGSL tiene similitudes con JavaScript, como la sintaxis para declarar variables simples (var y let). Por supuesto, como aprenderás en capítulos posteriores, no dejes que estas similitudes te hagan descuidar el aprendizaje de la sintaxis oficial de WGSL (de lo contrario, nuevamente, terminarás en un mundo de dolor).