When making a compiler, you need to decide which of 2 types of language the compiler will be.
Toy language: This is when you make a programming language which doesn't fix an issue, but is for learning. Fun examples of these are Whitespace, Lolcode, and Brainfuck.
Programming language: These are the languages which aim to solve a problem or bring something new and unique to the table. These can be compared to languages like Swift, C++, and Python.
During your journey, it is inevitable that you will stumble over something which you have no idea about, but hopefully, one of these resources will aid you.
Coffeescript and Rubby