I don't think there is a significant difference between these two url from the perspective of SEO. if you want to improve your SEO by telling search engine crawler the language you are using, using html meta tag is a better approach:
< meta http-equiv="Content-Language" content="en">
Furthermore, I don't think bothering users with "which language do you want to use?" is a good idea. you have never seen something like youtube/en/ or en.facebook.
of course, you can(should) let users configure their preferred language. However, you should get users' preferred language from Http-Header, which is decided by users' browser setting, and set the language as default when users access your site. (if you don't know what Http-Header is, discuss it with your programmer!) Therefore, users can browse your site with their preferred language without making unnecessary decision, which is annoying.
Recognizing users' preferred language with ip is an option, but it's not the best solution. A Chinese guy can browse your site with his own laptop when he is in the US. If you recognize his preferred language with Http-Header, he can still browse your site in Chinese even with ip in the US.