Тут есть два основных подхода:
1) Вы делаете свой синтаксис с автоматической трансляцией и генерацией дополнительного кода в другой язык, например в js или c.
2) Вы делаете виртуальную машину, которая выполняет ваш язык. Тут нет привязки к базовому языку, поэтому вы можете сделать такие штуки, как переменные универсального типа, супер-мега-динамичность и т.п. Однако вам придётся реализовать вашу машину на любом другом языке.
Ну и также можно почитать про строгую/нестрогую, статическую/динамическую типизации, компиляцию/интерпретацию. Это всё условные вещи, но помогают понять, что вы хотите от своего языка.