Filosofía y objetivos de Wave
Wave tiene como objetivo complementar las limitaciones de los lenguajes de bajo nivel existentes y construir un ecosistema de desarrollo integrado que abarque diversas áreas de desarrollo con un solo lenguaje.
En lugar de tratar áreas de carácter tan diferente como el desarrollo web, sistemas operativos, inteligencia artificial, blockchain, control de hardware, compiladores, redes y encriptación con diferentes lenguajes, Wave busca conectar naturalmente todas estas áreas dentro de un lenguaje y conjunto de herramientas unificados.
Wave no ve la universalidad simplemente como la capacidad de usarse en muchos lugares. Su objetivo es satisfacer simultáneamente el rendimiento, control y estabilidad que cada área exige, manteniendo un diseño coherente y reglas claras a nivel de lenguaje.
En particular, Wave está diseñado para que los desarrolladores que no tengan un profundo conocimiento del hardware puedan aprovechar sus funciones. La biblioteca estándar de hardware abstrae conceptos complejos de hardware para que puedan utilizarse de forma intuitiva.
Al mismo tiempo, Wave ofrece acceso de bajo nivel para controlar directamente el hardware cuando sea necesario. Esto permite a los desarrolladores moverse libremente entre interfaces abstractas y control directo, minimizando la complejidad del código sin sacrificar el rendimiento.
En última instancia, Wave aspira a ser un entorno integrado que maneje diversas tareas con un solo lenguaje, brindando un rendimiento eficiente y una experiencia de desarrollo consistente.
Rendimiento y eficiencia
Wave es un lenguaje diseñado con el rendimiento en mente. El compilador y el modelo de ejecución están orientados a la generación de código optimizado y están configurados para mantener un rendimiento estable en diversas plataformas.
Esto pretende proporcionar características de rendimiento consistentes con un solo lenguaje, desde áreas de alto nivel como aplicaciones web hasta áreas en las que el rendimiento es crítico, como sistemas operativos o software de sistema.
Seguridad y manejo de errores
Wave considera la programación segura como un criterio clave de diseño. Está diseñado para detectar tantos errores como sea posible durante el tiempo de compilación, minimizando los problemas que pueden surgir en tiempo de ejecución.
Su objetivo es garantizar fundamentos de seguridad como la seguridad de memoria y de tipos, sin sacrificar el rendimiento para lograrlo. Wave cree que la seguridad y el rendimiento no son conceptos contradictorios, sino que pueden lograrse conjuntamente a través del diseño del lenguaje.
Mejora de la productividad del desarrollador
Wave está diseñado con una sintaxis intuitiva y consistente para que los desarrolladores puedan aprender y usar el lenguaje rápidamente y de manera eficiente.
Además, mediante un rico conjunto de bibliotecas estándar y herramientas (Vex, WSON, etc.), permite resolver tareas complejas sin necesidad de implementar repetidamente. Esto permite a los desarrolladores centrarse en la resolución de problemas en lugar de en la configuración del entorno o el código repetitivo innecesario.
Independencia de plataforma
Wave se orienta a ser un lenguaje independiente de cualquier sistema operativo o entorno específico. Está diseñado para que el mismo código funcione consistentemente en varios sistemas operativos, permitiendo a los desarrolladores reutilizar el código escrito una vez en muchos entornos.
Esta independencia de plataforma es uno de los elementos fundamentales para que Wave funcione como un lenguaje universal.
Comunidad y escalabilidad
Wave es un lenguaje que crece a través de la colaboración con la comunidad de código abierto. Los usuarios y desarrolladores pueden participar libremente en la ampliación y mejora de las características de Wave, en un proceso que también da forma a la dirección y calidad del lenguaje.
Wave está diseñado para la personalización y expansión, permitiendo un uso flexible del lenguaje y el ecosistema para adaptarse a áreas específicas o requisitos.
Objetivos orientados al futuro
Wave no se queda en el entorno tecnológico actual sino que aspira a ser un lenguaje capaz de adoptar nuevos flujos tecnológicos que puedan surgir.
Con la mira puesta en futuras tecnologías como la inteligencia artificial, sistemas distribuidos y computación cuántica, planeamos expandir continuamente el lenguaje y el sistema de herramientas. Esta dirección es la base para que Wave se establezca no solo como una herramienta a corto plazo sino como un lenguaje capaz de evolucionar a largo plazo.