C# Visual Studio vs Python e la pace dei sensi

Dopo aver fatto un po’ di esperienza con python mi sono buttato su c#. Dopo aver provato vari framework grafici con python i vari gtk, tk, ecc, ho concluso che lo sviluppo di applicazioni grafiche è un casino. C# è perfetto per le applicazioni grafiche (e non solo),  ci sono strumenti a creare soluzioni complesse e graficamente accattivanti (vedi WPF). Se python permette di cazzeggiare alla grande a causa del incapsulamento quasi inesistente e dell’erditarietà multipla, con c# ci sono concetti da assimilare un po’ più complessi. Di base i concetti sono sempre i magnifici tre: incapsulamento, ereditarietà e poliformismo e se sapete di cosa sto parlando i problemi saranno pochi.

La differenza veramente importante tra c# e python  credo che risieda nell’ ereditarietà. In C# niente ereditarietà multipla per le classi che è invece concessa per le interfaccie. L’erditariètà multipla non mi è mai dispiaciuta e in python l’ho usata di buon grado. Il fatto di non avere più a disposizione questo strumento deve per forza di cose farci cambiare il modo di fare progettazione e inizialmente ci può lasciare spiazzati.

Altre differenze riguardano l’incapsulamento quindi l’accesso ai tipi. Non si fa troppa fatica a districarsi tra i vari public private protected ecc. Modi per fare poliformismo ce ne sono a bizzeffe.

Visual Studio è un IDE straordinario, utilissimo l’ object viewer che permette di scoprire praticamente tutto di qualsiasi assembly lo uso praticamente sempre. E’ possibile realizzare il diagramma delle classi da quelle esistenti, figata.

Per concludere per me è stato più complicato sopperire a quello che non c’è ovvero l’ereditarietà multipla delle classi. Per il resto ci sono davvero gli strumenti per fare di tutto.

Consiglio per gli acquisti: C# 6 Guida completa di Antonio Pelleriti. E’ il libro con cui mi sto formando e tutte le funzionalità sono spiegate egragiamente. Forse avrei preferito un approfondimento maggiore su come intrecciare in modo corretto tutta la marea di roba che mette a disposizione questo linguaggio, compito che ho sopperito con il learning by doing e cercando caso per caso sul web.

Annunci
Questa voce è stata pubblicata in C#. Contrassegna il permalink.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...