Dual-Language General-Purpose Self-Hosted Visual Language and new Textual Programming Language for Applications

📅 2025-09-24
📈 Citations: 0
✨ Influential: 0
📄 PDF
🤖 AI Summary
Existing visual programming languages (VPLs) are predominantly domain-specific; general-purpose VPLs are rare and often rely on textual programming for maintenance. Method: This paper introduces PWCT2—the first bilingual (Arabic/English), general-purpose, self-hosting VPL, built upon Ring, a dynamically typed textual language designed in-house, supporting syntax customization and domain-specific language (DSL) extensibility. Contribution/Results: (1) A self-hosting architecture enabling lossless bidirectional translation between visual and textual representations; (2) Full-stack reimplementation in Ring, accelerating code generation by 36× and reducing visual source file sizes by 20×; (3) Tight integration of the Ring compiler, virtual machine, and C-code generator, establishing a high-abstraction development闭环. PWCT2 comprises 92,000 lines of Ring code and 394 visual components. Deployed on Steam, it serves over 1,700 users with >17,000 cumulative usage hours—demonstrating the feasibility and practicality of general-purpose, self-hosting VPLs.

Technology Category

Computer Vision: Language and VisionNatural Language Processing: Code Generation / Program Synthesis from Natural LanguagePlanning, Routing, and Scheduling: Planning with Language Models

Application Category

Systems and Infrastructure for Web, Mobile and WoT: Virtualization and resource management in Web systems and infrastructuresSearch and Retrieval-Augmented AI: Multilingual and cross-lingual Web searchResponsible Web: Data and user privacy-enhancing technologies for the Web
📝 Abstract
Most visual programming languages (VPLs) are domain-specific, with few general-purpose VPLs like Programming Without Coding Technology (PWCT). These general-purpose VPLs are developed using textual programming languages and improving them requires textual programming. In this thesis, we designed and developed PWCT2, a dual-language (Arabic/English), general-purpose, self-hosting visual programming language. Before doing so, we specifically designed a textual programming language called Ring for its development. Ring is a dynamically typed language with a lightweight implementation, offering syntax customization features. It permits the creation of domain-specific languages through new features that extend object-oriented programming, allowing for specialized languages resembling Cascading Style Sheets (CSS) or Supernova language. The Ring Compiler and Virtual Machine are designed using the PWCT visual programming language where the visual implementation is composed of 18,945 components that generate 24,743 lines of C code, which increases the abstraction level and hides unnecessary details. Using PWCT to develop Ring allowed us to realize several issues in PWCT, which led to the development of the PWCT2 visual programming language using the Ring textual programming language. PWCT2 provides approximately 36 times faster code generation and requires 20 times less storage for visual source files. It also allows for the conversion of Ring code into visual code, enabling the creation of a self-hosting VPL that can be developed using itself. PWCT2 consists of approximately 92,000 lines of Ring code and comes with 394 visual components. PWCT2 is distributed to many users through the Steam platform and has received positive feedback, On Steam, 1772 users have launched the software, and the total recorded usage time exceeds 17,000 hours, encouraging further research and development.
Problem

Research questions and friction points this paper is trying to address.

Developed a dual-language visual programming language for general-purpose applications
Created a self-hosting VPL that can be developed using itself
Designed a textual language to enable faster code generation and smaller files
Innovation

Methods, ideas, or system contributions that make the work stand out.

Developed Ring textual language for visual programming
Created self-hosting PWCT2 using Ring language
Enabled bidirectional conversion between visual and textual code
🔎 Similar Papers
No similar papers found.