Конечно, вы можете иметь оба. Помимо очевидных примеров Java, Python, а теперь и Ruby, вы могли бы написать собственный компилятор для любого из них, если бы вы действительно этого хотели. Я думаю, что есть плохо реализованный компилятор Ruby.
И наоборот, вы также можете написать переводчик для C, я думаю, что есть несколько из них.
Существуют технические причины, по которым динамический язык, такой как Ruby, трудно написать для компилятора, и использование интерпретатора для C сводит на нет основное преимущество написания C над такими языками, как Ruby. Это не значит, что это невозможно.
Короче говоря, вы можете написать компилятор или интерпретатор или оба для любого языка и платформы (нативной или виртуальной), которые вы можете получить или выяснить спецификации.