Constructing a Modern Programming Language for Learning Low-Level Programming

Sammanfattning

While modern high-level programming languages can vastly improve developer productivity and efficiency, they obscure the underlying machine code. For aspiring students or simply anyone who is interested in the field, understanding the output of compilers can deepen one’s knowledge of how computer systems operate on a low level, and offer a new perspective on programming as a whole. Assembly is the human-readable representation of machine code, making it a practical entry point for anyone seeking to understand what happens at the hardware level. However, assembly is often challenging to learn, with architecture-specific commands, and logic that is fundamentally detached from the high level syntax that most modern developers rely on. To address these challenges, this project presents Fika, a statically typed language, which focuses on showing the relationship be tween assembly and high-level programs. Writing code in Fika is meant to be simple and intuitive, which allows the user to focus their cognitive resources exclusively on mastering fundamental assembly concepts. The language is complemented by tooling, including a language server and a Visual Studio Code extension, which provides on-demand visualisation of the generated assembly code corresponding to the code written in Fika. A user study was conducted with participants ranging from novice to experienced programmers. The results indicate that Fika provides improved accessibility to assembly concepts and is perceived as a useful tool for learning low-level programming.

Beskrivning

Ämne/nyckelord

Citation

Arkitekt (konstruktör)

Geografisk plats

Byggnad (typ)

Byggår

Modelltyp

Skala

Teknik / material

Index

Endorsement

Review

Supplemented By

Referenced By