Codez avec DAVINOC L'élégance en syntaxe.
Un langage de programmation moderne pensé pour la performance, la lisibilité et l'expressivité. Compilé en ByteCode DVB, enrichi par DVLX, configuré par VINOK.
Trois formats, un univers
DAVINOC repose sur un écosystème cohérent de trois formats complémentaires, chacun remplissant un rôle précis dans le cycle de développement.
DVLX
Superset de DAVINOC
Le format DVLX étend DAVINOC avec des fonctionnalités avancées : typage statique, génériques, pattern matching et macros. Il compile vers du ByteCode DVB, comme TypeScript vers JavaScript.
DVB — ByteCode
Format d'exécution
Le DVAL ByteCode est le format compilé exécuté par la machine virtuelle DAVINOC. Optimisé pour la vitesse, il représente le code machine portable du langage.
VINOK
Format de configuration
Le format VINOK offre une syntaxe légère pour la configuration : key = value, objets [k=v], listes [v1, v2], interpolation ${...} et commentaires multilignes """...""".
Élégant par nature
Une syntaxe pensée pour être lue comme du texte, tout en restant précise et non ambiguë.
// DAVINOC — Hello World
fn saluer(nom)
return "Bonjour, ${nom} !"
end
// Boucle et conditionnelles
for i dans 1..10
if i % 2 == 0
print(i, " est pair")
end
end
// Structures de données
utilisateur = [
nom = "Alice",
age = 30,
roles = ["admin", "dev"]
]
saluer(utilisateur.nom)
// DVLX — Superset avec typage statique
interface Utilisateur {
nom: Texte
age: Entier
roles: Liste<Texte>
}
fonction filtrer_admins(
users: Liste<Utilisateur>
) -> Liste<Utilisateur> {
retourner users.filtrer { u =>
u.roles.contient("admin")
}
}
// Pattern matching
match valeur {
Quelque(x) => écrire("Trouvé: ${x}"),
Rien => écrire("Rien trouvé"),
}
# Configuration VINOK
projet = [
nom = "mon-app",
version = "1.0.0",
auteur = "Alice",
]
dependances = [
"davinoc-core@^1.0",
"davinoc-net@^2.1",
]
description = """
Application de démonstration
pour le langage DAVINOC.
Supporte les commentaires
sur plusieurs lignes.
"""
runtime = [
cible = "dvb",
optimisation = "agressive",
]
Conçu pour le développeur
Chaque aspect de DAVINOC a été pensé pour maximiser la productivité et le plaisir de coder.
Compilation rapide
Le compilateur DVLX vers DVB génère du ByteCode optimisé en millisecondes, permettant un cycle édition-compilation-exécution quasi instantané.
Typage optionnel
Commencez en DAVINOC (dynamique), migrez vers DVLX (statique) quand vous en avez besoin. Le typage est un outil, pas une contrainte.
Erreurs Rust-style
Des messages d'erreur détaillés inspirés de Rust : codes d'erreur, localisation précise, et suggestions de correction pour chaque problème rencontré.
Écosystème intégré
VINOK pour la configuration, DVLX pour le typage statique, DVB pour l'exécution. Trois formats qui travaillent ensemble harmonieusement.
Interpolation native
L'interpolation ${...} est intégrée au langage et au format VINOK, permettant une construction dynamique de chaînes élégante et lisible.
CLI complet
Six commandes CLI intégrées : parse, validate, convert, run, format et init. Tout ce dont vous avez besoin, directement dans le terminal.
VINOK — La configuration réinventée
Oubliez JSON, YAML et TOML. VINOK offre une syntaxe humaine, puissante et expressive pour tous vos fichiers de configuration.
{
"name": "my-app",
"version": "1.0.0",
"dependencies": {
"core": "^1.0",
"net": "^2.1"
}
}
projet = [
nom = "my-app",
version = "1.0.0",
]
dependances = [
core = "^1.0",
net = "^2.1",
]
key = value
Assignation simple et intuitive, sans guillemets superflus ni virgules traînantes. Chaque ligne est une déclaration claire.
[k=v, ...]
Objets et listes utilisent des crochets uniformes. La distinction se fait naturellement par la présence du signe = entre les éléments.
${...}
Interpolation de variables directement dans les chaînes de caractères. Référencez n'importe quelle valeur définie précédemment dans le fichier.
"""..."""
Commentaires et chaînes multilignes. Parfaits pour les descriptions longues, les licences, ou toute documentation intégrée au fichier.
Prêt à coder avec DAVINOC ?
Commencez dès maintenant avec notre documentation complète et nos exemples prêts à l'emploi.