When creating a new programming language, start by making examples to define how it will look and function.
Select a language for your compiler that you are comfortable with, and consider libraries to simplify parsing and generating output.
Include key components like a tokenizer, parser, and generator in your compiler, and focus on type checking and editor tooling for a better user experience.