2010-06-08 9 views
6

Leí esto post anoche y me hizo pensar. Me gusta Python y "baterías", pypi y tal. Pero solo hice Python solo. Nunca lo intenté en un equipo.¿Python funciona en equipos más grandes?

¿Son válidos los puntos que menciona Ted? Si lo son, ¿cómo los enfrentan los equipos? ¿Python funciona en equipos o incluso en equipos grandes? O mata la productividad?

Personalmente veo los problemas que menciona cuando vuelvo a mi código anterior. Incluso cuando trabajo con otros módulos a veces necesito echar un vistazo dentro. Me gustaría escuchar gente con experiencia en esto.

+5

Parece que lo está haciendo mal. Por lo menos, incluso si el código que ha encontrado no se hace de esta manera, no hay nada que impida que un equipo de programadores documente correctamente su código (utilizando documentos, etc.) de manera que la documentación le diga lo que no dice el código en sí mismo debido a la falta de tipeo estático. Y dado que Python es un lenguaje interpretado y, a menudo, se ejecuta desde un intérprete, obtener la documentación de un método es tan simple como importar el método y escribir 'help ([method_name])'. (El problema sería conseguir que documenten su código correctamente, supongo). – JAB

+0

el autor del post no está acostumbrado al estilo de trabajo pythonic. él no menciona doc-strings. Leería doc-strings. Leería la documentación. Esperaría que un equipo que trabaja en una biblioteca de Python documente todo, o construya algo que pueda descifrar cómo usarlo, sin leer todo su código. Lo primero que vería, cuando empiece a usar una biblioteca, no son las firmas de función, son los casos de prueba y la aplicación principal "main.py" que contiene el código de inicio y apagado. –

+1

Como regla general, trato de no preocuparme por los problemas planteados por los bloggers que no pueden expresarse sin blasfemias. Piense en ello como un "olor a argumento". –

Respuesta

13

Python funciona bien en equipos. Si un idioma funciona en equipos grandes es en gran medida un factor de qué tan bien el equipo trabaja en conjunto, y tiene poco que ver con el idioma.

7

Actualmente trabajo en una gran aplicación de Django, y en mi trabajo anterior trabajé en un gran proyecto de Java (aplicación de escritorio, no en la web, pero aún apropiado para esta discusión), y estoy medio dividido entre estar de acuerdo y en desacuerdo con el autor.

Mientras disfruto de Python en Java, y tengo amplia experiencia trabajando con otros lenguajes de tipado dinámico como Ruby y Objective-C, todavía no estoy convencido de cuál es mejor (estático frente a dinámico). A veces, en Python-land, creo que sería mejor tener tipos estáticos y un compilador para evitar algunos errores; No me gusta el modelo tipo Java, pero Scala tiene un sistema de tipo decente que no interfiere pero evita muchos errores.

Dicho esto, creo que los éxitos/fracasos del uso de Python o Java tienen más que ver con la experiencia y los antecedentes de un equipo. Siento que este artículo debería estar mejor titulado "Extraerse de Java me pone nervioso", ya que el autor parece estar diciendo principalmente: "Tengo experiencia con Java. No entiendo/tengo experiencia con Python. más cómodo escribiendo código Java ". Creo que los desarrolladores experimentados de Python aprenden a trabajar con/alrededor de la mayoría de los "problemas" que percibe; Python no es Java y requiere un enfoque diferente para la programación.

también tuve que reír en esta línea un poco:

Java tiene un bien pensado jerarquía de excepciones comprobadas y tiempo de ejecución.

creo que la mayoría estaría de acuerdo en que la jerarquía de excepciones de Java es confuso en el mejor, y que comprueba excepciones fueron un experimento que vale la pena, pero no que en realidad no hacer el código más robusto (supongo que hacen si se utiliza correctamente, pero ¿cuántos programadores de Java usan las excepciones propiamente como?).

+0

la jerarquía de excepciones ha mejorado empezando por 5 – Justin

+0

java es una especie de mierda para el alto nivel de ruido y repetición que requiere. sin embargo, al blogger no le importa eso. –

0

De hecho, Python funciona en equipos grandes, pero si lo comparas con otros idiomas definitivamente tiene defectos. Por un lado, hay más herramientas relacionadas con el equipo para cosas como C# y Java. He trabajado en Eclipse en grandes proyectos en Python y Java, y la integración del equipo funcionó mejor en Java, específicamente en la generación de documentos y el formateo automático.

Pero lo que realmente me gustó de trabajar en un gran proyecto de Python fue su legibilidad. En Java iba a los codificadores mucho más a menudo para que les explicaran el código, pero Python era más fácil de entender. Por supuesto, esto también puede deberse a cómo se codificaron los dos proyectos, quién los codificó y mi aptitud en los dos idiomas.

1

He trabajado en equipos que usan Java y actualmente estoy trabajando en un equipo que usa Python.Considerando todo, diría que el código de Python es mucho más preciso y mucho más fácil de entender que el código de Java que produjeron mis otros equipos. Todo el "debería haber uno, y preferiblemente solo uno, una forma obvia de hacerlo", el mantra ayuda muchísimo.

Estoy de acuerdo con el punto del autor sobre PyDev ... mi equipo ha estado usando PyCharm durante los últimos meses y ha sido INCREÍBLE !!!

El punto del autor sobre las excepciones de Python, en mi opinión, no es muy bueno. En el mundo de Java, la mayoría de las excepciones comprobadas (excepciones que se enumeran después de la palabra clave 'throws' en las definiciones de métodos) generalmente solo se capturan y vuelven a lanzar como excepciones de tiempo de ejecución de todos modos. En general, se cree que Java ni siquiera debería haber verificado las excepciones y, en su lugar, usar un sistema de excepción más cercano al que Python tiene actualmente. See this article for more about Java's checked exceptions..

En general, creo que trabajando en equipo con Python vs. Java, prefiero Python. Trabajé en equipos que hacían Java durante 6 años y en un equipo que hacía Python durante 6 meses y he visto algunos beneficios de productividad masivos gracias a la sintaxis limpia y legible de Python.

+0

pycharm últimos meses? Ni siquiera está a la venta y solo hay un período de 45 días. – Kugel

+0

Sí, en los últimos meses ... hay una vista previa pública que es gratuita y están lanzando constantemente versiones nuevas. http://confluence.jetbrains.net/display/PYH/JetBrains+PyCharm+Preview –

Cuestiones relacionadas