Le novità di C#

I team di sviluppo di Microsoft continuano a sfornare novità nei linguaggi .NET e anche questa volta non si smentiscono.

In Visual Studio 2015 sono state introdotte alcune novità al linguaggio C#, nella versione 6.0, che sono veramente interessanti.

Per approfondire nella maniera più corretta, vi segnalo due articoli:

http://www.winfxitalia.com/articoli/netfx46/novita-csharp-6.aspx (in italiano, dal sito ASPitalia.com)

http://www.codeaddiction.net/articles/15/10-features-in-c-that-you-really-should-learn-and-use (in inglese, dal sito CodeAddiction.net)

Windows 10 su MSDN Magazine di ottobre 2015

Mi è appena arrivato il nuovo numero (ottobre 2015) di MSDN Magazine e come al solito gli ho dato una veloce occhiata per capire su cosa puntavano gli articoli.

image

 

Infatti, MSDN Magazine, essendo la rivista ufficiale degli sviluppatori Microsoft, come è ovvio ha sempre un occhio di riguardo per le ultime novità sul mondo della programmazione e quindi già dall’indice degli articoli si può capire quali sono le ultime novità e cosa sta bollendo in pentola.

Questo mese MSDN Magazine offre una serie di articoli, oserei dire uno “special”, su Windows 10, come si può vedere anche dall’indice degli articoli:

image

 

Quindi, Windows 10 e Universal Windows Apps: un’accoppiata vincente.

Se avete la disponibilità di MSDN Magazine (ovviamente se avete sottoscritto un abbonamento, che in edizione digitale costa solo 25 dollari senza sottoscrizione MSDN, oppure gratuito se avete una sottoscrizione MSDN) vi consiglio di dare un’occhiata e di leggere gli articoli. In caso contrario, potete leggere gli articoli alla pagina https://msdn.microsoft.com/it-it/magazine/win10issue (tra qualche settimana potrete anche scaricare il PDF dell’intero numero).

Giusto per completare, vi informo che alla pagina https://msdn.microsoft.com/it-it/magazine/ee310108.aspx trovate anche tutti i numeri precedenti, scaricabili anche in PDF (i numeri del 2008 e precedenti sono in formato .CHM).

Buona lettura! Sorriso

Lean startup

La puntata #44 di dotNetPodcast riguarda l’approccio Lean per la gestione di una startup.

image

Ma cos’è una startup? Nella letteratura ci sono parecchie definizioni di startup, a seconda di come la si considera, “forse si fa prima a dire cosa NON è una startup: una startup non è una piccola azienda. Questo è il primo errore che si possa fare.

Questa è una delle numerose chicche che ho ripreso dallo speech di Felice Pescatore.

Vi consiglio di ascoltare questo podcast, soprattutto se volete avviare una nuova startup.

Gestire le directory con C#

Credo che questo sia il mio primo post su C# e quindi voglio iniziare da qualcosa di semplice. Bisogna pur partire da qualcosa, no?

Impariamo come si crea, come si sposta e come si cancella una directory.

Per lavorare sulle directory bisogna ricordarsi di due cose:

  • caricare il namespace System.IO
  • utilizzare la classe Directory

Vediamo quindi una possibile classe, molto semplice, che contenga le tre istruzioni di creazione, spostamento e cancellazione di una directory.

using System.IO;
class GestisciDirectory {
public static void Main {
Directory.CreateDirectory(“C:\\prova1”);
Directory.CreateDirectory(“C:\\prova2”);
Directory.CreateDirectory(“C:\\prova2\spostami”);
Directory.Move(“C:\\prova2\spostami”, “C:\\prova1”);
Directory.Delete(“C:\\prova1”, true);
Directory.Delete(“C:\\prova2”, true);
}
}

L’argomento “true” passato al metodo Delete serve per cancellare la directory in modo ricorsivo, cioè per eliminare anche tutto il contenuto.

Cartella "Preferiti" di Windows 10 (promemoria)

Con Windows 10 è arrivato anche il nuovo browser Microsoft Edge che cambia drasticamente la gestione dei Preferiti, in un modo che a mio avviso è assolutamente inadeguato e inefficace. Speriamo che in un prossimo aggiornamento di Windows 10 o di Edge ci sia qualche miglioramento, perché così proprio non va…

A futura (mia) memoria, il percorso dove sono nascosti i Preferiti è questo

C:\Users\Mario\AppData\Local\Packages\
Microsoft.MicrosoftEdge_8wekyb3d8bbwe\
AC\MicrosoftEdge\User\Default\Favorites\Links

dove ovviamente “Mario” è il nome del mio profilo (ma va?).

Un consiglio? Andate nella vostra cartella dei preferiti e trascinate tutto fuori in una vostra cartella. In questo modo potrete modificare i link nelle proprietà.

[VB] Leggere un file riga per riga con righe vuote

Con questo post riprendo una breve discussione di qualche anno fa, in cui il problema esposto riguardava lo scorrimento di un file di testo “riga per riga”, con la presenza di righe vuote.

Infatti, con il seguente codice, all’arrivo di una riga vuota, l’esecuzione esce dal ciclo:

do
   buf=str.readline
   …
loop while buf=nothing

 

L’altro difetto di questo frammento di codice, anche ammettendo che non esistano righe vuote all’interno delle “righe valide” è che deve esserci una riga vuota alla fine del file, altrimenti non viene rilevata la fine del file e il programma solleva un’eccezione.

La soluzione migliore è questa:

Using sr As New System.IO.StreamReader(nomeFile)
    Do Until sr.EndOfStream
        Try
            Dim sBuf As String = sr.ReadLine
            ‘ fai qualcosa (1)

        Catch ex As Exception
            ‘ gestisci l’eccezione
        End Try
    Loop
End Using

Infatti, l’uso di sr.EndOfStream permette di rilevare la fine effettiva del file, indipendentemente dal contenuto delle righe.

Attenzione che nella sezione Try (1) dovete inserire del codice per leggere il contenuto della riga e se questo contenuto consiste in una riga vuota, dovete scartare la riga (ovvero ignorarla).

Imparare F# giorno per giorno, anzi… day by day!

Un interessante progetto open source, su GitHub, permette di imparare il linguaggio F# giorno per giorno, nel senso che ogni giorno viene aggiunto del codice e la spiegazione del funzionamento di una specifica caratteristica del linguaggio.

Il progetto, che si chiama fsharpdaybyday, si trova al seguente indirizzo:

https://github.com/ccdschool/fsharpdaybyday

image

Il progetto contiene una cartella per ciascuna settimana e ogni cartella contiene 5 cartelle, una per ogni giorno feriale, con la spiegazione di una caratteristica del linguaggio F#.

Il progetto non è pensato per essere effettivamente un’applicazione eseguibile, anche se un po’ di codice applicativo c’è realmente, ma ha l’obiettivo di essere semplicemente un tutorial testuale da consultare direttamente nelle pagine del progetto GitHub.

La modalità di apprendimento “giorno per giorno” è probabilmente quella migliore per riuscire a padroneggiare un linguaggio di programmazione come F#, senza perdere il filo del discorso e senza disperdere energie.

Buona lettura!

Parlare in pubblico (podcast)

image_thumb[6]

Se nel vostro lavoro dovete parlare in pubblico, fare presentazioni, registrazioni audio e video e cose simili, come è capitato varie volte anche a me, vi consiglio di ascoltare questo podcast!

image

Lorenzo Barbieri, che conosco anche di persona e che apprezzo molto per la sua competenza e “umanità”, in questa presentazione è veramente strepitoso e tocca tutti i tasti dolenti.

image

Io ho ascoltato con vero piacere, anche perché alcune situazioni sono capitate anche a me, come quella volta che dovevo presentare un mio progetto al WPC ad Assago (mi pare nel 2010), avevo messo il portatile in “ibernazione” per non consumare la batteria. Al momento cruciale il portatile non ripartiva più… panico!

Vi assicuro che i suoi consigli sono assolutamente corretti e appropriati!

Buon ascolto.

Novità nel programma MVP Award

Sono appena stato rinominato Microsoft MVP per la categoria .NET (prima sono stato per vari anni in quella di Visual Basic, poi per un anno in F# e infine .NET che include tutti e tre i linguaggi) che da ottobre 2015 c’è un nuovo cambiamento:

https://mvp.microsoft.com/en-us/pages/mvp-award-update

image

Come si può vedere nella pagina sopra indicata e nell’immagine, ora la categoria .NET sarà inclusa in una più ampia categoria “Visual Studio and Development Technologies”. Nella stessa pagina potete vedere altri raggruppamenti di varie tecnologie in 10 categorie principali.

La strategia di Microsoft e in particolare del programma MVP Award è quella di non rinchiudere gli MVP a una categoria troppo ristretta. Chi si occupa di un linguaggio ha anche a che fare sempre con Visual Studio (compreso Visual Studio ALM) e potrebbe anche occuparsi di sviluppo web con ASP.NET (in VB e C#, oppure JavaScript), con la sicurezza (Developer Security), magari sviluppa applicazioni multipiattaforma per dispositivi mobili (Xamarin) e così via.

Ecco quindi che nella mia categoria potrò spaziare in argomenti più vasti e trasversali a molti aspetti inerenti lo sviluppo di applicazioni su diverse piattaforme.

Great job!

Small Basic 1.2

E’ stata rilasciata la nuova versione (1.2) di Small Basic:

http://blogs.msdn.com/b/smallbasic/archive/2015/10/01/small-basic-1-2-released-with-kinect-support-and-bug-fixes.aspx

Le novità riguardano il supporto a Kinect e alcune correzioni di bug.

Alcuni anni fa ho scritto un articolo pubblicato su ioProgrammo… prima o poi scriverò ancora qualcosa, perché credo che sia un ottimo linguaggio di programmazione adatto alla didattica.

Cos’è U-SQL? (suggerimento: Big Data)

Confesso che lavoro con grandi moli di dati e ho sempre avuto qualche problema nel trattarli: ovvero, come fare ad importarli in una tabella di SQL Server senza diventare matti? Access con grossi volumi di dati diminuisce rapidamente di prestazioni e il file non è nemmeno esaminabile con Notepad perché è troppo grande.

In questi casi ho lavorato sulla singola riga: caricamento della riga, scomposizione in diversi campi utilizzando le variabili, scrittura di un nuovo record. Funziona ma è molto lento.

Sono rimasto sbalordito, quindi, da questo post:

http://blogs.msdn.com/b/visualstudio/archive/2015/09/28/introducing-u-sql.aspxv

Con questo linguaggio si può fare un grande lavoro con istruzioni come questa:

image

Che dire? Al lavoro con U-SQLSorriso

Microsoft MVP per l’8^ volta!

Ancora una volta sono stato rinominato Microsoft MVP: quest’anno è l’ottava nomina di questo prestigiosissimo premio!

MVP_Horizontal_FullColor

Con questo post ringrazio Microsoft Corp. e personalmente Cristina Gonzales Herrero, MVP Lead per EMEA, e la sua più stretta collaboratrice nell’ambito del programma MVP, Marjorie Di Clemente.

Molti si congratulano con me per la nomina “anche se non so cosa vuol dire”… Visto che molti “non addetti ai lavori” non conoscono il programma Microsoft MVP mi riprometto in un prossimo post di spiegare meglio di cosa si tratta.

Per il momento lasciatemi gioire del mio 8° traguardo!  Sorriso

Nuove funzionalità di C# 6.0 (VS 2015)

In Visual Studio 2015 è inclusa la sesta versione di C#, una versione che ci offre sul piatto d’argento numerose nuove funzionalità molto interessanti.

In questo articolo trovate alcuni esempi delle 15 nuove caratteristiche più interessanti:

15 Cool New Features in C# 6.0
http://immortalcoder.blogspot.in/2015/09/15-cool-new-features-in-c-6.html

L’articolo è in inglese, ma gli esempi sono semplici e ben formulati, quindi non dovrebbero esserci problemi di comprensione anche da parte di chi non conosce benissimo la lingua.