Hasty Briefsbeta

Bilingual

What is isomorphism? – ugBASIC user manual

10 months ago
  • #programming
  • #isomorphism
  • #retrocomputing
  • The author discovered programming in C on 8-bit computers like the Commodore 64 and started writing games and a library of common functions.
  • Facing limitations of modern languages on 8-bit systems, the author invented 'isomorphism,' a programming paradigm for creating portable yet efficient software across different computers.
  • Isomorphism aims for minimal modifications and performance loss by avoiding unnecessary abstractions, matching computer functionalities in the best way possible.
  • Unlike traditional approaches that abstract functionalities to behave identically everywhere, isomorphism recognizes and adapts to differences in implementation across targets.
  • The author transitioned from C to BASIC for ugBASIC, citing BASIC's ubiquity on home computers and its suitability for isomorphism, lacking a distinction between syntax and libraries.
  • ugBASIC now supports around twenty targets, focusing on feasible cross-target source writing through isomorphism without guaranteeing identical results across all platforms.
  • The language does not introduce abstractions for unsupported features but may offer creative alternatives, like reprogramming characters on the VIC-20 to mimic images.
  • ugBASIC caters to both those interested in portability and those focused on optimizing for a specific target, providing satisfaction in either scenario.
  • The author invites feedback and contributions through the official forum or GitHub for improvements or bug reports.