Using queue rather than stack?

Hi! I am a computer science student and recently I learnt recursion which is a very important concept in Programming. So I learnt this thing that in computer science and in recursion as well, the famous data structure 'Stack' is used. Whenever a function is used or the principles of recursion are applied, stack is used. My question is that is it possible that we could have done it by using queue rather than stack? I mean I know programming languages are designed in such a way to implement the functionality of stack but can we design a language which actually used queue in all these functions?
