The best language for beginners is going to be the one with the fewest things to understand.
Neither Functional nor OO languages are particularly easy in that way--completely straight-forward to grasp (although both can reduce to something pretty simple, but the fact that all that other syntax and functionality is hanging out there is actually an issue--it makes people want to understand it, they feel like they are missing something when looking at more complicated code, etc.)
I hate to say it, but the best languages were probably the old Basic and Pascal. Very few tricks--heck, basic didn't even have functions at first!
This lets you concentrate on understanding variables and program flow before being hit with stuff like objects, pointers and immutability.
That said, if your question wasn't just theoretical you might look into BlueJ. It's a Java IDE made exclusively for training. It doesn't require the hardest java syntax such as "public static void main()" and "System.out.print"--They are unnecessary because of the unique way it deals with objects. It also introduces students to UML and gives an instant understanding of Objects.