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 foo
no le dice de qué nombres foo
está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í. using
no 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).