"Vender" codificando mi próximo proyecto en un idioma desconocido

8

Quiero codificar mi próximo proyecto de trabajo en un idioma con el que no estoy familiarizado (python). Desde mi punto de vista, puedo pensar en muchas razones por las que es una buena idea (sobre todo porque suena divertido). Sin embargo, mi gerente probablemente me preguntará por qué. Estoy un poco perplejo con las ventajas desde su punto de vista.

EDITAR : normalmente codifico en C #

EDIT2 Mis razones para querer codificar en otro idioma;

  1. Hará que un proyecto fácil sea mucho más difícil, así que aprenderé más y será más interesante
  2. Acabo de leer un libro sobre python. Quiero la oportunidad de aplicarlo en una aplicación comercial, así que lo entiendo correctamente
  3. Aumentará mi conjunto de habilidades y me hará más empleable
  4. Python se ve divertido
Tom Squires
fuente
1
¿En qué idioma lo escribirías habitualmente?
RYFN
1
"Se me ocurren muchas razones" ¿Cuáles son? ¿Cómo se traduce esto en ventajas y desventajas comerciales (costo, esfuerzo)?
P.Brian.Mackey
55
¿Por qué no ver si puedes usar IronPython ? De esa manera, al menos todavía puede usar .NET
Jetti
Aparte de que suena divertido, ¿cuáles son tus razones para querer usar Python?
SoylentGray
1
Codificar un proyecto para el trabajo utilizando idiomas desconocidos, etc. es un riesgo. También presenta problemas de mantenimiento a largo plazo (¿cuántos idiomas necesitarán saber los futuros empleados?). Debe haber fuertes ventajas específicas del proyecto para superar desventajas como esa: el lenguaje debe ser particularmente adecuado para el proyecto. Y si no tienes experiencia en el idioma, no estás en un buen lugar para juzgar eso.
Steve314

Respuestas:

8

Prefiero elegir un idioma que sea mejor para la tarea que tengo que cumplir. ¿Qué tipo de proyecto ? Esto no solo sería beneficioso para su empresa sino también para usted (elegir la herramienta incorrecta puede causar problemas más adelante).

Si Python es algo que podría entrar en la estrategia de su empresa / grupo y desea aprenderlo, sería sincero con su gerente y le diría que desea hacerlo en Python para aprender Python. Entonces podrá elegir si la relación costo / beneficio está bien.

Por cierto, ¿cuál es la alternativa? (es decir, el idioma 'predeterminado')?

Matteo
fuente
15

¿No debería abordarlo desde el punto de "qué debería hacer que sea mejor para la empresa" en lugar de "qué quiero hacer y cómo puedo convencerlos de su valor"?

Eoin Carroll
fuente
10

Probablemente no debería arriesgarse con el tiempo / dinero de su empleador para su propio beneficio ... solo un pensamiento.

Aprenda Python en su propio tiempo; luego, si es apropiado, argumentará para usarlo de forma natural.

jheriko
fuente
5

Parece que solo quieres "divertirte" en el tiempo de la compañía.

Elegir un idioma sin ventajas convincentes para resolver el problema en cuestión, tomar más tiempo y dejar una pesadilla de soporte detrás de usted. ¿Qué le gusta a su gerente?

No tienes justificación para hacer esto. Si quieres jugar con un nuevo idioma, está bien, pero hazlo a tu propio ritmo antes de intentar convencer a tu jefe de que te permita usarlo y elegir una combinación de proyecto / idioma que realmente agregue valor.

Para dar un contraejemplo: -

Una vez usé PERL para hacer automáticamente una conversión de una gran base de código de Delphi. Ya había pasado algún tiempo jugando con PERL en casa, el código no se admitió más allá del final del proyecto y la funcionalidad RegExp incorporada en PERL me hizo varias veces más eficaz que escribir la misma funcionalidad en Delphi a pesar de mi conocimiento de PERL Fue bastante limitado.

mcottle
fuente
+1 para el contraejemplo. Algunas cosas se pueden hacer más rápido en un lenguaje como Python que en C #.
Caracol mecánico
4

¿Hay algún indicio en su empresa de que abandonará la pila de Microsoft o un deseo de escapar de estar totalmente encerrado? Tener desarrolladores con conocimiento en otras áreas facilitaría esto.

Hay sugerencias para usar solo un idioma en particular si hay un beneficio específico para el proyecto. Esto siempre parece difícil de hacer cuando no has aprendido un idioma. ¿Cómo sabes lo que no sabes? Claro que puede investigar o preguntar sobre SO y cerrar su pregunta o, en el mejor de los casos, recibir una respuesta 'depende'.

Puede ayudarlo a desarrollar nuevas técnicas para manejar los problemas actuales.

Puede haber una ventaja de ser una tienda de dos idiomas cuando se trata de reclutar talento. Su próximo programador puede tener una preferencia de Python, pero también está dispuesto a hacer un trabajo de C #.

Muchos lugares se quejan de que sus desarrolladores se fijan en sus formas y no quieren aprender cosas nuevas. Comience un pequeño proyecto y demuestre que está ansioso por aprender, pero dispuesto a trabajar dentro de los parámetros de lo que ayuda a su empresa.

JeffO
fuente
3

Algunas ventajas (dependiendo de qué tipo de proyecto desea realizar y cuál sería el lenguaje alternativo;)

  • OOP limpio con tipeo dinámico (tan inherentemente genérico)
  • bueno para la creación rápida de prototipos
  • Mezclable con otros idiomas.
  • código abierto y popular
  • portátil
  • Potentes construcciones de lenguaje y kits de herramientas / bibliotecas
  • bueno para scripting de internet
  • gestión automática de memoria
  • Divertido y rápido para aprender y usar

Aparte de eso, piense por qué quiere aprender Python, y probablemente también encontrará varios beneficios para su empresa. Si no, Python no es adecuado, y no debes elegirlo.

DaveFar
fuente
Buena respuesta, pero "bueno para la creación rápida de prototipos": siempre me avergüenzo de esto, hay muchas cosas diferentes que quizás quieras prototipar ... No digo que Python no sea adecuado para algunos, pero puedo pensar en situaciones en las que incluso C sería mejor simplemente debido a limitaciones de rendimiento (sí, esto también puede aplicarse a los prototipos, por ejemplo, si desea editar en tiempo real algún video y la parte en tiempo real es clave para la función).
jheriko
3

¿Dónde está el valor para su empresa?

Mis razones para querer codificar en otro idioma; 1) Hará que un proyecto fácil sea mucho más difícil, así que aprenderé más y será más interesante

Y en el proceso, haga que el proyecto tarde más y aumente el riesgo de un fracaso total. Aquí no hay un beneficio claro para la compañía, solo costos / riesgos.

2) Acabo de leer un libro sobre python. Quiero la oportunidad de aplicarlo en una aplicación comercial, así que lo entiendo correctamente

No hay beneficio para la compañía aquí, a menos que Python sea una tecnología que quieran adoptar de todos modos.

3) Aumentará mi conjunto de habilidades y me hará más empleable

... y es más probable que consigas un trabajo en otro lado?

4) Python se ve divertido

Lo mismo ocurre con el esquí acuático. Ambos son irrelevantes para la empresa.

OK, hay beneficios de que el personal disfrute de su trabajo, pero ningún gerente va a aceptar la idea de que divertirse es más importante que hacer el trabajo requerido de manera eficiente y con un riesgo mínimo.


Aprenda Python en su propio tiempo en sus propios proyectos. Cuando sea bueno en eso, y cuando haya reunido una sólida evidencia para reforzar su caso, hable con su gerente sobre si le conviene adoptarlo. (Y prepárate para una respuesta pragmática de "No" o "Todavía no").

Stephen C
fuente