Ringtaal-upgrade richt zich op WebAssembly

Een geplande upgrade naar de multi-paradigma Ring-programmeertaal, versie 1.13, zal WebAssembly-accommodaties bevatten.

De Ring 1.13-upgrade, die in september gepland staat, ondersteunt Qt voor WebAssembly, een platformplug-in voor het bouwen van Qt-applicaties die in webpagina's kunnen worden geïntegreerd. WebAssembly biedt een snel, compact binair formaat dat near-native prestaties voor webtoepassingen mogelijk maakt.

Ring gebruikt Qt als zijn standaard GUI-bibliotheek, via de RingQt-binding. Ring 1.13 ondersteunt het exporteren van een Ring-project als een Qt-project dat de Ring-applicatie bevat die is gecompileerd naar een Ring-objectbestand, samen met de virtuele Ring-machine. Vervolgens wordt het project gebouwd voor WebAssembly of mobiel met behulp van de Qt Creator IDE.

Ring 1.13 zal ook een groot aantal andere verbeteringen bevatten:

  • De organisatie is verbeterd voor projectmappen en broncodebestanden. Een taalmap bevat de broncode en de visuele bron van de compiler en de virtuele machine. Er zijn ook mappen voor bibliotheken, extensies, tools en voorbeelden.
  • Er zijn meer low-level-functies toegevoegd.
  • Een nieuwe extensie ondersteunt de stb_image-bibliotheek.
  • Er wordt verbeterde ondersteuning geboden voor RingRayLib, een uitbreiding van de RayLib-bibliotheek voor gameprogrammering. Alle functies retourneren nu objecten in plaats van pointers en er wordt ondersteuning geboden voor RayMath-bibliotheekfuncties.

Ring, oorspronkelijk uitgebracht in januari 2016 door ontwikkelaar Mahmoud Fayed, is een taal voor algemene doeleinden die paradigma's ondersteunt, waaronder dwingende, procedurele, objectgeoriënteerde, functionele en declaratieve. Programmeren in natuurlijke taal wordt ook ondersteund. Programmeurs krijgen tools om een ​​natuurlijke of declaratieve taal te bouwen. Er kunnen domeinspecifieke talen worden gebouwd. De Ring-architectuur bevat een virtuele machine geschreven in C.

De Ring-taal is beschikbaar via GitHub voor Windows, MacOS en Linux en kan worden gebruikt voor applicatietypen, waaronder GUI, web, mobiel, console en games. Onder de talen die worden genoemd als het beïnvloeden van Ring zijn onder meer Lua, Python, C en Ruby. De huidige stabiele release is Ring 1.12.