Python es de proposito general, por lo que en teoria puede llegar a hacer todo lo que sea computable en un tiempo razonable. Juegos en python claro que si.
si una llamada recursiva crea copias del metodo para almacenar las variables de éste. creo que consumiría demasiada memoria, y mucho esfuerzo por parte del cpu.
aunque pensándolo mejor, bastaría con implementar el método con iteraciones y asunto arreglado. no?
Pues tienes razón, pero implementar MergeSort con iteración si esta difícil, ademas repito, depende de que vas a ordenar, para saber si vale la pena optimizar el programa.
En mi opinión Java es muy solicitado para trabajar, por que cuenta con muchas herramientas para poder trabajar en equipo con los demás desarrolladores.
Pues mas que nada para ser Desarrollador Web necesitarías meter una carrera o curso para el diseño de estas. No solo para que aprendas a programar en los lenguajes que te dijeron en los post de arriba, si no que es lo que el consumidor busca, la forma de ordenar las cosas para una mejor visibilidad, etc.
No entiendo lo de ordenamiento por combinación. Tecnicamente mergesort no hace ninguna combinación.
Se implementa con recursividad por que para el programador es mas natural de leer y entender, ahora la mayoría de nuestras ordenaciones son cosas pequeñas que no rebasan el millón, por lo que usar recursion no afecta en mucho, ademas de que depende del compilador el tiempo y memoria de consumo final.
Dijkstra decía que Basic atrofia la mente de un programar, te recomendaría Java que es lo mas usado hoy en día, y que permite trabajar y aprender bien, pero sin tener que aprender conceptos mas difíciles como es requerido en C/C++.