Presentamos Python


6

La empresa con la que solía trabajar cuenta con dos desarrolladores que trabajan a tiempo completo y un puñado de profesionales independientes. Están en el proceso de contratar a un nuevo desarrollador líder para intentar llevar el orden y la administración al desarrollo.

Pero, actualmente, uno de los desarrolladores ha visto la luz de Django (la compañía solo ha desarrollado en PHP hasta la fecha) mientras que al otro desarrollador le preocupa que la introducción de un nuevo lenguaje (Python) sea una mala idea en este momento.

¿Cómo deberían abordar la introducción de esta nueva tecnología? Obviamente, con solo uno de los desarrolladores que realmente conocen Python, no habrá redundancia cuando ese desarrollador esté ausente o abandone la empresa.

¿Deberían molestarse en presentar Python, o deberían buscar soluciones solo PHP hasta el momento en que el equipo realmente tenga más de un Pythonion? Sin un líder de equipo, las decisiones tienen que recaer sobre ellos.

14

Recientemente, introduje Python en mi empresa, que realiza trabajos de consultoría para la Oficina de correos. Hice esto esperando hasta que hubiera un proyecto para el cual yo sería el único programador, y luego obtuve el permiso para hacer este nuevo proyecto en Python. Luego hice otro pequeño proyecto en Python con resultados igualmente impresionantes. Además, utilicé Python para todas mis tareas pequeñas desechables ("¿puedes analizar las estadísticas en estos archivos en un archivo CSV organizado por fecha y sitio?", Etc.) y tuve un tiempo de respuesta rápido para todas ellas.

También evangelicé a Python un poco; Hice todo lo posible para NO ser desagradable al respecto, pero ocasionalmente describía por qué me gustaba tanto, hablaba sobre los proyectos personales para los que lo uso en mi tiempo libre y por qué es increíble para mí, etc.

Eventualmente comenzamos otro proyecto y convencí a todos para que usen Python. Me encargué de señalar a todos una gran cantidad de documentación, incluidas las páginas web específicas relacionadas con lo que estaban trabajando, y cada vez que tenían una pregunta, les explicaba cómo hacer las cosas correctamente explicando el enfoque Pythonic de las cosas, etc.

Esto ha funcionado muy bien. Sin embargo, esto podría ser algo diferente de lo que estás describiendo. En mi caso, comencé con proyectos moderadamente pequeños y Python solo se usa para nuevos proyectos. Además, ninguno de mis compañeros de trabajo eran realmente gurús de Perl o PHP; todos sabían esos idiomas y los habían usado por un tiempo, pero no les tomó mucho esfuerzo volverse más productivos en Python de lo que habían sido antes.

Así que si estás hablando de nuevos proyectos con personas que actualmente usan PHP pero no son súper expertos y no les gusta ese lenguaje, entonces creo que cambiar a Python es una obviedad. Sin embargo, si está hablando de trabajar con una gran base de código PHP existente con muchos programadores de PHP muy experimentados que están contentos con su configuración actual, entonces cambiar de idioma probablemente no sea una buena idea. Probablemente estés en algún punto intermedio, así que tendrás que sopesar las compensaciones; espero que mi respuesta te ayude a hacer eso.


0

Bueno, python es un lenguaje de alto nivel ... no es difícil de aprender y si los chicos ya tienen conocimientos de programación, debería ser mucho más fácil de aprender ... me gusta django ... creo que debería ser un buen intento de use django ..


4

Si el mandato del nuevo cliente potencial es poner la casa en orden, la situación actual debería simplificarse lo más posible antes. Si tuviera que ordenar las cosas, no me gustaría tener que administrar un proyecto continuo de conversión de idiomas además de todo lo demás, o al menos me gustaría alguna opción al iniciar el proyecto. Al hacer su recomendación, ¿pensó en la complejidad gerencial adicional que entrañaría llegar a la mitad de una conversión?


0

No creo que se trate de un lenguaje de programación como tal.

¿Cuál es el nivel de competencia de PHP en el equipo del que está hablando? ¿Están haciendo código de espagueti o usando algún marco estructurado como Zend? Si este es el primer caso, entiendo completamente el interés del chico en Python y Django. Esto es lo último, es solo una exageración.


2

@darkdog:

El uso de un nuevo lenguaje en código de producción es mucho más que la sintaxis sencilla y capacidad de alto nivel. Desea estar familiarizado con las API principales y sentir que puede solucionar algo a través de la lógica en lugar de tener que revisar la documentación.

No estoy diciendo que la transición a Python sería una mala idea para esta empresa, pero estoy con John: mantenga las cosas simples durante la transición. El nuevo líder apreciará tener voz y voto en tales decisiones.

Si realmente desea presentar Python, considere escribir algunas extensiones o utilidades en Python vertical o en el marco. No alterará sus iniciativas principales, por lo que será una oportunidad baja/sin riesgo para probar los méritos de un cambio.


1

Creo que el lenguaje en sí mismo no es un problema aquí, ya que Python es un lenguaje de alto nivel realmente agradable con documentación completa buena y fácil de encontrar.

Por lo que he visto, el framework Django también es una gran idea para el desarrollo web, brindando el mismo aumento en el rendimiento del desarrollador Rails es promocionado para ofrecer.

El verdadero problema está en el nivel de mantenimiento y gestión.

Cómo va a fragmentar este proceso el mantenimiento entre PHP y el código de Python.¿Es necesario migrar el código existente de una plataforma a otra? ¿Qué problemas resolverá Python y Django que tiene en su flujo de trabajo de desarrollo actual y marcos, etc.


0

Me encanta Python y Django, y utilizo ambos para desarrollar nuestras aplicaciones básicas de webapps.

Dicho esto, es difícil hacer un caso de negocio para cambiar a este punto. Específicamente:

  • Cualquier nueva plataforma es arriesgado en comparación con quedarse con el
  • Tendrás la fragmentación desarrollador probado y verdadero que usted ha mencionado
  • Es mucho más fácil encontrar los programadores de PHP que los programadores de Python

Además, como otros carteles mencionan, si el problema está más relacionado con el código de espagueti que con el propio PHP, existen numerosos y agradables marcos de PHP que podrían usarse para refactorizar el código.

Dicho esto, si este desarrollador está entusiasmado con python, detenerlos directamente es probablemente desmoralizante. Mi sugerencia sería animarlos a desarrollar Python, pero no a las partes críticas de la aplicación. En cambio, podrían escribir algunos scripts de utilidad, alguna pequeña aplicación interna que necesita hacer, etc.

En conclusión: no recomiendo cambiar de PHP, pero sí recomiendo que el desarrollador se interese de alguna manera en el trabajo.


1

Realmente se trata de horarios.Para mí, el descanso debería ser con un proyecto específico. Si decides que tu dirección es Django, entonces comienza nuevos proyectos con eso. Antes de comenzar un nuevo proyecto con un nuevo lenguaje/marco, asegúrese de tener tiempo programado para ponerse al día en esta nueva dirección, o ponerse al día antes de usar en proyectos nuevos.

Evitaría ir con una herramienta del mes. Asegúrese de que quiere que sea su dirección y dedique algo de tiempo/recursos a aprender lo suficiente para tomar una buena decisión.