¿Por qué Quora eligió usar Python? ¿Qué retos tecnológicos afrontaron los fundadores cuando eligieron Python en lugar de PHP?

Estábamos seguros de que no queríamos usar PHP. Facebook está atascado en eso porque arrastra decisiones anteriores, no porque sea la mejor opción en este momento. Nuestra principal conclusión de esta experiencia es que la elección del lenguaje de programación es muy importante y su cambio es extremadamente costoso.
Programación (Informática) - Qué es, información, lenguajes
Python era un lenguaje que Charlie y yo conocíamos razonablemente bien (aunque ahora lo manejo mucho mejor que cuando lo empezamos). También consideramos brevemente C #, Java y Scala. Los mayores problemas con Python son la velocidad y la falta de verificación de tipos.
C # parecía bastante prometedor. Como lenguaje de programación, es genial, pero:
  • No queríamos estar en la pila de Microsoft. Estábamos preparados para aprender algo nuevo, y MS SQL Server en realidad parecía bastante bueno, pero sabíamos que tendríamos que integrarnos con un montón de código fuente abierto que solo tiene soporte de segunda clase para .NET, si es que lo admite. Además, la mayoría de los mejores ingenieros de estos días están acostumbrados al código fuente abierto.
  • No queríamos correr el riesgo de estar en Mono (una implementación de código abierto de C # / .NET). No está claro cuánto tiempo durará la financiación de ese proyecto, y me enteré de varios problemas de rendimiento. Además, parecía que todo lo demás en el ecosistema de C # supondría que estábamos en la pila de Microsoft.
Por muchas pequeñas razones, los programas Java son más largos y más difíciles de escribir que los programas equivalentes de Python. También es más difícil interoperar con cosas que no sean de Java. Scala tenía muchas de las desventajas de Java y JVM, aunque no era tan malo. El lenguaje parecía un poco demasiado nuevo y como si trajera algún riesgo innecesario (por ejemplo, quién sabe qué tan bueno será el soporte en 10 años).
Otros dos lenguajes en los que pensamos brevemente fueron OCaml y Haskell (ninguno tenía ecosistemas lo suficientemente grandes o bibliotecas estándar lo suficientemente buenas, y ambos eran potencialmente demasiado difíciles para algunos diseñadores / analistas de datos / no ingenieros que podrían necesitar escribir código).
Decidimos que Python era lo suficientemente rápido para la mayor parte de lo que tenemos que hacer (ya que empujamos nuestro código de rendimiento crítico a los servidores back-end escritos en C ++ siempre que sea posible). En cuanto a la verificación de tipos, terminamos escribiendo pruebas unitarias muy completas que vale la pena escribir de todos modos y lograr la mayoría de los mismos objetivos. También teníamos mucha confianza en que Python continuaría evolucionando en una dirección que sería buena para la vida de nuestro código base, después de haberlo visto evolucionar durante los últimos 5 años.
Hasta ahora, hemos estado bastante contentos con la elección. Hay un pequeño sesgo de selección, pero todos los primeros empleados que habían estado trabajando con otros lenguajes en el pasado estaban felices de hacer la transición a Python, especialmente los que venían de PHP. Desde que comenzaron las siguientes cosas han pasado:
  • Python 2.6 llegó al punto en que una cantidad suficiente de las bibliotecas que utilizamos eran compatibles con él, y realizamos una transición muy sencilla.

Deja un comentario