Soy un programador de Python que está aprendiendo C # que está tratando de dejar de preocuparse y simplemente ama C # por lo que es, en lugar de compararlo constantemente con Python.
Estoy atrapado en un punto: la falta de información explícita sobre dónde se definen las cosas, como se detalla en esta pregunta de Stack Overflow . En resumen: en C #, using foono le dice de qué nombres fooestán disponibles, lo que es análogo a from foo import *Python, una forma que se desaconseja dentro de la cultura de codificación de Python por ser implícita en lugar del enfoque más explícito from foo import bar.
Me sorprendieron bastante las respuestas de Stack Overflow a este punto de los programadores de C #, que era que, en la práctica, esta falta de explicidad realmente no importa porque en su IDE (presumiblemente Visual Studio) puede pasar el cursor sobre un nombre y se lo dirá El sistema de donde proviene el nombre. P.ej:
Ahora, en teoría, me doy cuenta de que esto significa que cuando buscas con un editor de texto, no puedes saber de dónde provienen los tipos en C # ... pero en la práctica, no creo que eso sea un problema. ¿Con qué frecuencia estás mirando el código y no puedes usar Visual Studio?
Esto es revelador para mí. Muchos programadores de Python prefieren un enfoque de editor de texto para la codificación, usando algo como Sublime Text 2 o vim, donde se trata del código, además de herramientas de línea de comandos y acceso directo y manipulación de carpetas y archivos. La idea de depender de un IDE para comprender el código a un nivel tan básico parece anatema. Parece que la cultura C # es radicalmente diferente en este punto. Y me pregunto si solo necesito aceptar y aceptar eso como parte de mi aprendizaje de C #.
Lo que me lleva a mi pregunta aquí: ¿el desarrollo de C # es efectivamente inseparable del IDE que usa?
using MyType = MyNamespace.MyType;:?
global::y trabajar desde allí. usingno pone a disposición nada que no fuera antes; solo facilita el acceso (ya que se necesita menos escritura para usar una clase en particular).