script net from eficiencia asp and c# .net python dynamic-languages

net - python vs c# 2017



Aprendiendo Python para un desarrollador.NET (8)

El IronPython en Acción de Foord y Muirhead es un libro asombrosamente bueno, perfectamente adecuado para enseñar Python a personas de .NET así como para enseñar .NET a personas de Python. Puede ser parcial, ya que era un crítico técnico y Foord es un amigo, pero en el pasado tuve otros casos en los que un amigo escribió un libro y yo lo revisé, y terminé decidiendo que el libro estaba mal. Decirlo públicamente (manera de perder amigos, pero, simplemente no puedo decir una mentira, ¡al menos en lo que concierne a Python! -)

Edición : si tiene prohibido mudarse a IronPython (que probablemente sea compatible con sus aplicaciones heredadas, por cierto), hay mejores respuestas: Mark Pilgrim''s Dive into Python a menudo se considera la mejor introducción en Python para el desarrollador experimentado, y la mía Python in a Nutshell ha sido elogiado como la forma más rápida a bordo para los desarrolladores de superestrellas. Por supuesto, estoy predispuesto a favor de estos: Mark es un colega, y mi esposa fue un editor de tecnología clave para su libro (y el mío también), y obviamente también estoy predispuesto a favor de mi propio libro; ). Pero entonces, tiendo a estar sesgado hacia muchos de los mejores libros de Python, ya que he tenido una mano en su edición, o soy amigo de sus autores, o ambos ;-).

He estado haciendo desarrollo activo en C # desde hace varios años. Principalmente construyo aplicaciones empresariales y marcos internos en la pila .NET.

Nunca tuve la necesidad de usar ningún otro lenguaje de alto nivel convencional además de C # para mis tareas, ya que .NET es la plataforma estándar que utilizamos.

Hay algunas aplicaciones heredadas de Python que me han pedido que soporte para seguir adelante, no tengo ninguna exposición a Python y a los lenguajes dinámicos en general (aunque he hecho un poco de JavaScript).

Esperaba obtener alguna orientación / consejo para ayudarlo a aprender un idioma como Python para la mente estática.

EDITAR: ¡Usar IronPython no es una opción!



Hay un gran obstáculo inicial para sentirse cómodo con la escritura dinámica. El primer paso es cuando miras el código de Python y te das cuenta de que las variables no están definidas en ninguna parte, simplemente las creas de la nada, lo que se siente como saltar sobre un acantilado. Hay un breve momento antes de que su ala delta alcance el aire correctamente.

Y luego tomará tiempo antes de que confíe en sus nuevas alas dinámicas, y probablemente solo pueda conseguirlas haciendo acrobacias aéreas con ellas. Aprende cómo Python maneja las referencias, diviértete con los métodos de parcheo de monos, patea varios animales. Intenta aprender algunos trucos feos.

Y aunque no puedes usar IronPython para esto, no hay razón para que no puedas usarlo para aprender Python.


Lo más difícil a lo que me enfrenté al usar Python proveniente de Java fue envolver mi cabeza apropiadamente alrededor de lo de Duck Typing ... Al principio pensé que era simplemente horrible y solo vestí los pelos de atrás en mi cuello.

El siguiente es el alcance por convención, pero ese es bastante fácil. Y la importancia de los espacios en blanco me dio algunos golpes.

Sin embargo, una vez que te relajas en la concisión del lenguaje y la velocidad del desarrollo, aprendes a apreciarlo mucho más. Después de un tiempo pensé que era lo mejor que me había pasado! :-)

Aquí hay algunas cosas que me ayudaron mucho:

Primero comencé con este book y obtuve los conceptos básicos del idioma, y ​​para el uso diario, la Tarjeta de referencia rápida de Python fue muy útil. También la console será tu mejor aliada para probar cosas rápidas y solidificar tu aprendizaje.

Para los IDE, provenir del mundo eclipse PyDev fue una elección natural para mí, pero había muchos más para elegir. Pero si está más familiarizado con el entorno de Visual Studio, las herramientas de Python para Visual Studio también son bastante buenas.

Buena suerte, espero que encuentres Python tan divertido como lo hice yo.


Para un desarrollador experimentado que aprende Python, Dive Into Python es un muy buen libro.

El libro de programación de Python de Wesley Chun adopta un enfoque más "innovador", que puede ser un poco lento para un desarrollador experimentado. Pero permitió comparaciones muy sencillas de la sintaxis básica y los operadores en comparación con otros idiomas. El estilo de escritura de Wesley es muy fácil de leer, y sus proyectos de ejemplo no son lo suficientemente triviales como para ser realmente interesantes.

El libro de cocina de Python es una excelente referencia para aprender a programar de una manera "pitónica". Este libro contiene cientos (?) De ejemplos de cómo resolver problemas comunes cotidianos con Python. En general, la serie "Libro de cocina" lo expondrá a los idiomas del idioma más rápido que cualquier otro libro.

Cada vez que necesito aprender un nuevo lenguaje de programación, comienzo a usarlo para todas las tareas de ''mantenimiento diario'' que surgen, todas las pequeñas cosas que normalmente resolvía con un script de shell o con herramientas comunes de Unix. Comienzo a usar el Nuevo lenguaje para resolver esos problemas. Ya que tienes experiencia con .NET, IronPython es probablemente una buena manera de aprovechar ese conocimiento mientras aprendes Python. Incluso si solo instala IronPython en un recinto de seguridad personal ... y lo usa para todas sus tareas diarias de codificación de trabajo, eso puede ser una excelente manera de aprender la sintaxis y los modismos de Python.


Recomendaría solo leer un libro al respecto. Un libro para principiantes. Contendrá muchas cosas que ya sabes, pero no te perderás nada con respecto al uso de un lenguaje dinámico. Puedo indicarle que se sumerja en Python , que parece ser muy amigable, o el Tutorial de Python que parece ser muy preciso (así es como aprendí).


Recomendaría usar IronPython para ayudarte a aprender. Es una implementación de Python en el framework .NET. Así que puedes usar / aprender Python con acceso a la biblioteca de clases .NET.

Un buen lugar para comenzar es descargar IronPython y mirar IronPython en Acción , que es un muy buen libro que analiza Python en el marco .NET.

EDITAR: Dado que IronPython no es una opción, ignore esta respuesta. Gracias aunque


Vas a experimentar un poco de choque cultural desde C # hasta el interior de Python, patito salvaje. La falta de tipos e inteligencias puede ser bastante desalentadora. Menos mal que tienes experiencia en JavaScript. También debes saber que las reglas de bloqueo de Python sensibles a la sangría pueden ser muy confusas para la inexperiencia (generalmente, o te encanta o lo odias :-)

Aparte de eso, el mayor desafío al pasar de un idioma a otro suele ser el marco. Conocer todas las clases y funciones, simplemente toma tiempo, desafortunadamente.