IQ++

El lenguaje de programación que mezcla lógica, estructuras y estilo.

v1.0

¿Qué es IQ++?

IQ++ es un lenguaje de programación experimental creado para aprender jugando. En la versión 1.0 incluye variables, listas, diccionarios, impresión de texto, lógicas híbridas (HTML, CSS, IQ++) y el sistema def++ para crear variables con conjuntos y búsquedas con tuplas.

🧠 Expresivo
Todo se declara de forma visual y clara.
⚡ Simple
Sin complicaciones de sintaxis tradicional.
🎨 Flexible
Combina código IQ++ con lógica HTML y CSS.

Sintaxis general

Un programa IQ++ se escribe línea por línea. Cada instrucción tiene su propio formato. No necesitas punto y coma, aunque se permite usar ; para separar instrucciones en la misma línea.

-- ejemplo básico de IQ++
VARIABLE def with ("nombre") = "IQ++"
IQ.execute_text("Hola, mundo IQ++")
list.def_["rojo", "verde", "azul"]
dict_IQ++_(["lenguaje": "IQ++", "version": "1.0"])

Variables

En IQ++ las variables se definen con la palabra clave VARIABLE, seguida de def with y el nombre entre comillas. Luego se asigna el valor con =.

VARIABLE def with ("edad") = 25
VARIABLE def with ("nombre") = "Pepe"
VARIABLE def with ("activo") = 1

IQ.execute_text("nombre")
IQ.execute_text("edad")

Operadores predefinidos

Por compatibilidad, IQ++ trae los operadores clásicos de C++:

VARIABLE def with ("a") = 10
VARIABLE def with ("b") = 5
VARIABLE def with ("suma") = a + b
IQ.execute_text("suma")

Operadores personalizados

En IQ++ también podés inventar tus propios operadores. Se definen con operator.def_("simbolo"): expresion con a y b.

-- definir operadores propios
operator.def_("<3"): a + b + 100
operator.def_("^^"): a * b + 1

VARIABLE def with ("x") = 5
VARIABLE def with ("y") = 3
VARIABLE def with ("total") = x <3 y
IQ.execute_text("total")
IQ.execute_text("10 ^^ 2")

Listas

Las listas se crean con list.def_[]. Pueden contener números, textos o resultados de variables.

list.def_["manzana", "banana", "pera"]
list.def_[10, 20, 30, 40]

Diccionarios

Los diccionarios usan la forma dict_IQ++_([]). Guardan pares clave: valor.

dict_IQ++_(["nombre": "Ana", "edad": 28])
dict_IQ++_(["lenguaje": "IQ++", "tipo": "experimental"])

Lógicos

IQ++ 1.0 introduce 3 tipos de lógica:

logic.html
Lógica con base HTML.
logic.css
Lógica con base CSS.
logic.IQ++
Lógica con base IQ++.

Siempre empiezan con logic. y dentro usan def_(...).

logic.html(def_("<h1>Hola mundo</h1>"))
logic.css(def_("color: #66fcf1; font-size: 2rem;"))
logic.IQ++(def_("VARIABLE def with (\"x\") = 100"))

def++

El sistema def++ define variables con conjuntos y búsquedas con tuplas. Se escribe:

def++ variable: join_with(IQsearch["a", "b", "c"]):

Crea una variable con el nombre que elijas y le asigna el conjunto/tupla de búsqueda.

Errores de IQ++

Cuando algo falla, IQ++ puede devolver uno de estos errores:

error de informacion definida
Datos definidos incorrectamente.
error de definicion
Problema en la definición de una entidad.
error de tupla
Error en tuplas o estructuras similares.
error comun de codigo
Fallo genérico de ejecución.
error de sintaxis
La instrucción no sigue el formato esperado.
error de URL
Problema relacionado con una URL.
error de link
Problema relacionado con un enlace.
error de operador
Uso incorrecto de un operador.
error de llamar
Error al invocar una función o variable.

Java++

Java++ es JavaScript con alma de IQ++. Escribís código que se ve como JS moderno y se compila automáticamente a IQ++ para ejecutarse.

Es ideal si ya sabés JavaScript y querés probar IQ++ sin memorizar toda su sintaxis.

Ejemplo Java++

// Java++
let nombre = "IQ++";
let a = 10;
let b = 5;
console.log(a + b);
let frutas = ["manzana", "banana"];
// Esto se compila a IQ++

Tabla de conversión

let x = 10;           --> VARIABLE def with ("x") = 10
console.log(x);        --> IQ.execute_text("x")
let lista = [1, 2];    --> list.def_[1, 2]
let dict = {a: 1};     --> dict_IQ++_(["a": 1])
// comentario          --> -- comentario

Playground

Elegí modo IQ++ o Java++. Si escribís Java++, se convierte automáticamente a IQ++ y se ejecuta.

// La salida aparecerá aquí

Help / Ayuda IQ++

Respuestas rápidas a las dudas más comunes al empezar con IQ++.

Comunidad

Dejá tu comentario, idea o ejemplo de IQ++. Se guarda en esta sesión del navegador.

Apoyá IQ++

Si te gusta IQ++ y querés que siga creciendo, podés apoyar con una donación. Toda ayuda se destina a mejorar el lenguaje, el playground y nuevos tutoriales.

¿Tenés un método de pago preferido? Dejalo en la sección de Comunidad y lo agregamos.