Sono un programmatore Python che apprende C # che sta cercando di smettere di preoccuparsi e adorare C # per quello che è, piuttosto che confrontarlo costantemente con Python.
Sono coinvolto in un punto: la mancanza di chiarezza su dove sono definite le cose, come descritto in questo Domanda di overflow dello stack . In breve: in C #, using foo
non ti dice quali nomi da foo
vengono resi disponibili, che è analogo a from foo import *
in Python - una forma che è scoraggiata all'interno della cultura di codifica di Python per essere implicita piuttosto che l'approccio più esplicito di from foo import bar
.
Sono rimasto piuttosto colpito dalle risposte Stack Overflow a questo punto dai programmatori C #, che in pratica questa mancanza di chiarezza non ha molta importanza perché nel tuo IDE (presumibilmente Visual Studio) puoi passare il mouse sopra un nome e viene detto dal sistema da dove viene il nome. Per esempio:.
Now, in theory I realise this means when you're looking with a text editor, you can't tell where the types come from in C#... but in practice, I don't find that to be a problem. How often are you actually looking at code and can't use Visual Studio?
Questo è rivelativo per me. Molti programmatori di Python preferiscono un approccio di text editor alla codifica, usando qualcosa come Sublime Text 2 o vim, dove tutto riguarda il codice, oltre a strumenti da riga di comando e accesso diretto e manipolazione di cartelle e file. L'idea di dipendere da un IDE per capire il codice a un livello così elementare sembra un anatema. Sembra che la cultura C # sia radicalmente diversa su questo punto. E mi chiedo se devo solo accettarlo e accettarlo come parte del mio apprendimento di C #.
Questo mi porta alla mia domanda qui: lo sviluppo C # è effettivamente inseparabile dall'IDE che usi?