![]() If you design the initial implementation carefully, you can add new keywords, new features, optimizations, and tools to your language and interpreter / compiler incrementally over time. The project made me a better developer as a result, even if my day-to-day work rarely concerns programming language tooling or compiler writing.Ī programming language also has lots of room for expansions, optimizations, and extra creativity even after the project’s version one is “finished”. Writing and studying programming languages, I found myself getting more familiar with both the mathematics and the mechanical underpinnings of how computers work. It’s the floodgate to the most interesting mathematics in computing – category theory and type systems, algebras, lots of applications of graph theory, complexity analysis, and more. But writing a programming language involves understanding the most meaty parts of the computing stack, from the CPU and memory up through the operating system, in-memory data structures, processes, threads, the stack, all the way up to libraries and applications. They’re tools taken for granted, and you can write good software without necessarily worrying about how the languages and primitive tools you’re using work under the hood. Programming languages and compilers / interpreters can be black boxes for programmers starting out. It pushed my understanding of fundamental software concepts and helped me comprehend how a computer works at a deeper level. Making an interpreter for a new programming language is the most technically rewarding project I’ve worked on. Start small, get creative, ask questions.This post is organized into a few sections. I think (3) is best left for its own, more technical post. This post aims to answer questions (1) and (2) and provide some resources for you to get started on your own language. ![]() I want to make my own programming language – any advice?.Why did you make a programming language?.Most questions fall into three categories: Of all the projects I’ve made, I receive the most questions about the Ink programming language.
0 Comments
Leave a Reply. |