Saltar al contenido principal

Introducción

Filosofía y objetivos de Wave

Wave no tiene como objetivo simplemente reemplazar los lenguajes de programación de bajo nivel existentes. En cambio, está diseñado para mantener el control y el rendimiento de los lenguajes de bajo nivel mientras los complementa y simplifica, permitiendo abordar diversas áreas de desarrollo dentro de un entorno de lenguaje y ecosistema coherente.

Wave busca alejarse del enfoque de dividir áreas muy diferentes como desarrollo web, sistemas operativos, inteligencia artificial, blockchain, control de hardware, compiladores, redes y encriptación, tratándolas con diferentes lenguajes. El objetivo principal de Wave es proporcionar una experiencia de desarrollo integrada que abarque de manera natural una amplia gama de áreas a través de un solo lenguaje, un solo conjunto de herramientas y una única biblioteca estándar.

La filosofía de Wave reside en la coexistencia de una fuerte abstracción de alto nivel y un control preciso de bajo nivel. A través de la biblioteca estándar, permite manejar intuitivamente tareas complejas, mientras que, si es necesario, abre la posibilidad de acceder directamente a la memoria, registros y recursos hardware. Esto permite a los desarrolladores tomar decisiones adecuadas a la situación sin tener que comprometer entre conveniencia y rendimiento.

La biblioteca de hardware de Wave es particularmente uno de sus elementos de diseño clave. Está diseñada para que los desarrolladores sin un profundo conocimiento especializado del hardware puedan usarla fácilmente, al tiempo que proporciona la flexibilidad de un control directo a través de interfaces de bajo nivel cuando se necesita un control preciso. Este enfoque permite utilizar las funciones del hardware de manera más intuitiva sin sacrificar el rendimiento.

Wave tiene como objetivo romper las barreras que existían entre la programación de alto y bajo nivel, simplificando la experiencia de desarrollo dentro de un entorno de lenguaje coherente.

Características y atributos principales de Wave

Wave considera como una característica importante la integración de diversas áreas de desarrollo dentro de una sola estructura de lenguaje. Esto permite a los desarrolladores resolver problemas en varias áreas con Wave sin necesidad de aprender un nuevo lenguaje para cada proyecto.

Una potente biblioteca estándar es un elemento clave que respalda la productividad de Wave. Está diseñada para expresar tareas complejas con código conciso, lo que permite a los desarrolladores centrarse en la resolución de problemas en lugar de en implementaciones repetitivas.

La accesibilidad al hardware también es una característica importante de Wave. Wave proporciona una interfaz de alto nivel que facilita el manejo del hardware, al tiempo que está diseñada para permitir un control de bajo nivel cuando sea necesario. Esto permite abarcar a todos, desde principiantes hasta desarrolladores de sistemas experimentados.

El rendimiento es un aspecto no negociable en el diseño de Wave. Está diseñado para funcionar de manera estable en aplicaciones donde el rendimiento es crucial, basado en una estructura de compilador eficiente y un modelo de memoria claro.

Wave valora la modularidad y la reutilización. Apoya la separación del código en unidades claras y su reutilización, permitiendo gestionar eficazmente la complejidad, incluso cuando el tamaño del proyecto crece.

Wave también tiene como objetivo proporcionar mensajes de error claros e intuitivos y un entorno de depuración. Esto permite a los desarrolladores identificar y corregir rápidamente las causas de los problemas y reducir los errores innecesarios durante el proceso de aprendizaje.

Hoja de ruta y plan de Wave

Wave está diseñado con la premisa de un desarrollo gradual. En las etapas iniciales, se enfoca en la gramática central del lenguaje y sus funciones básicas, con planes de expandir gradualmente características como la coincidencia de patrones, la programación asíncrona y las estructuras de datos avanzadas.

La biblioteca estándar se ampliará continuamente en función de las necesidades del usuario y los casos de uso reales. Esto permitirá a los desarrolladores resolver un número creciente de funciones a nivel de biblioteca.

La biblioteca de hardware también es un elemento central de Wave que está sujeto a mejoras continuas. Planeamos asegurar la compatibilidad con más dispositivos y agregar nuevas funciones de control para ampliar el ámbito de aplicación en entornos de hardware reales.

Wave valora altamente la retroalimentación de la comunidad. A través de foros y varios canales de retroalimentación, recopilamos activamente las opiniones de los usuarios y planeamos reflejarlas en el desarrollo del idioma y las herramientas.

La documentación y los materiales educativos también son una de las importantes direcciones de desarrollo de Wave. Planeamos proporcionar documentación oficial y tutoriales bien elaborados para que incluso los usuarios principiantes puedan aprender y aplicar Wave fácilmente en su trabajo.

Desde la perspectiva de la plataforma, el objetivo es ofrecer un rendimiento y experiencia de desarrollo consistentes en los principales sistemas operativos, incluidos Windows, macOS y Linux.

Por último, Wave es un proyecto que crece a través de la colaboración con la comunidad de código abierto. Alentamos activamente la contribución y participación, y juntos desarrollaremos la dirección y calidad de Wave a través de un proceso de desarrollo abierto.