Microsoft ha annunciato un'iniziativa chiamata DreamSpark, che sostanzialmente consente agli studenti di utilizzare gratuitamente alcuni prodotti Microsoft per lo sviluppo di applicazioni.
Purtroppo l'iniziativa non è ancora disponibile in Italia, ma dovrebbe esserlo a breve.
Tra i prodotti è incluso SQL Server 2005 Developer Edition, che consente di provare anche le funzionalità di Analysis Services e Integration Services che non sono comprese nella versione Express (che è sempre stata gratuita). Se uno studente potrebbe non avere ancora le motivazioni (se non le conoscenze e soprattutto i dati...) per sviluppare un sistema di analisi multidimensionale... molto probabilmente potrebbe avere dati da analizzare con gli algoritmi di Data Mining di SQL Server 2005 (e tra poco 2008). I dati possono riguardare i propri hobby o le proprie passioni (una per tutte: correlazione tra vittorie di una squadra di calcio e la sua formazione...) e magari si trovano e/o recuperano dalla rete gratuitamente.
Dico queste cose perché oggi come oggi... è impossibile trovare qualcuno con le conoscenze adatte (analisi dei dati, data mining, capacità analitica, basi statistiche e conoscenze tecnologiche adeguate). Il mercato non è ancora maturo, ma prima o poi lo diventerà e in ogni caso la mancanza cronica di offerta non potrebbe soddisfare alcun tipo di domanda (in realtà esistono aziende che si occupano di prodotti di data mining, ma non esiste un'expertise diffusa sui prodotti Microsoft). Insomma, se siete studenti, quando DreamSpark sarà disponibile in Italia, almeno uno sguardo per vedere se è roba che può interessarvi io lo darei. Suggerisco per cominciare l'uso di Excel 2007 con Data Mining Add-In...
Pochi giorni fa in una chiacchierata ho fatto alcune considerazioni che mi hanno portato a scrivere questo post che qualcuno potrebbe considerare provocatorio, ma dal mio punto di vista non lo è affatto.
Il messaggio è destinato a chi ancora oggi sceglie come ambiente di sviluppo Visual Basic 6.
Dieci anni fa uscì sul mercato la versione finale di Visual Basic, la numero 6. Fu anche l'ultima versione di un ambiente di sviluppo che, con .NET, avrebbe visto un rinnovamento completo (anche se non definitivo). In realtà, per molti Visual Basic 6 fu semplicemente uno dei tanti miglioramenti seguiti a Visual Basic 3. Molti usarono Visual Basic 6 esattamente come usavano Visual Basic 3. Altri ne apprezzarono i miglioramenti, qualcuno ne scoprì alcune capacità solo alcuni anni dopo.
Nel 2000 arrivò .NET, o per lo meno fu annunciato, visto che la prima versione fu rilasciata nel 2002. La migrazione non fu cosa semplice, e infatti molti si rifiutarono di passare al nuovo ambiente. In questi dieci anni ho visto molte applicazioni scritte in Visual Basic 6 morire di morte naturale e passare a nuova vita in .NET, in C# o Visual Basic (o in qualunque altro linguaggio .NET, è poco importante). Ma, e questo è il motivo per cui scrivo, in questi dieci anni (e in particolare negli ultimi 5) ho anche visto nuovi progetti creati in Visual Basic 6. Sempre meno, ma più di quanti sarebbe sensato (per me) vedere.
Tra pochi giorni ci sarà il lancio di Visual Studio 2008. Visual Basic ha perso il suffisso .NET, ma solo perché ormai si dà per scontato che sia tale. Nonostante gli appelli, nessuna nuova versione retro-compatibile con Visual Basic 6 è stata rilasciata da Microsoft. Nessuna speranza, nonostante gli appelli, che ciò possa avvenire in futuro.
Se con .NET 1.0 e Windows Forms un programma scritto in Visual Basic 6 poteva non sfigurare, oggi la situazione si fa complicata. Troppe tecnologie sono diventate inaccessibili a chi è rimasto ancorato al passato. Windows Presentation Foundation (WPF) è l'elemento più importante. Siamo solo agli inizi di quello che sarà un vero cambiamento nell'interfaccia utente Windows che siamo abituati a usare quotidianamente, ma chi ostinatamente non accetta il nuovo oggi è esattamente nella stessa posizione di chi, conoscendo soltanto il Cobol, con l'avvento di Windows pretendeva di continuare a programmare in Cobol in un ambiente a finestre che richiedeva un modello di programmazione orientato agli eventi.
WPF è solo lo strato più visibile di un grande cambiamento che investe (e investirà) non solo l'intera infrastruttura, ma anche i paradigmi di programmazione oggi più diffusi. Pensate a un modello di programmazione più dichiarativo che iterativo, a ragionare per servizi anziché per componenti, a immaginare una reale componentizzazione nel processo di realizzazione del software, a servizi di infrastruttura che non sono usati esternamente al bisogno, ma che diventano la struttura portante di un sistema informativo in cui l'applicazione custom non è più il collante di oggetti diversi ma essa stessa il risultato di un'architettura dove la personalizzazione avviene su alcuni componenti "annegati" in un ambiente eterogeneo.
Siete spaventati? Non dovreste. Quando avete iniziato a programmare, la novità non vi spaventava. Perché deve farlo oggi?
Comunque la pensiate, signori programmatori Visual Basic 6, per voi questa è l'ultima chiamata.
La distanza che vi separa dai moderni ambienti di sviluppo è grande, ma tutto sommato potete ancora riconoscere qualcosa di familiare negli strumenti che avete oggi a disposizione. Domani, probabilmente, questa distanza sarà definitivamente incolmabile.
Pensateci. Provateci.
Altrimenti, tra poco, dovrete appendere la tastiera al chiodo.
Venerdì 29 febbraio io e Paolo faremo una sessione su LINQ in occasione del lancio di Visual Studio 2008 a Milano. La nostra sessione sarà alle 9.30 e confesso che mi sembra impossibile riuscire in un'ora a fare un riassunto efficace: in questi giorni stiamo completando il libro Programming Microsoft LINQ, che uscirà a maggio in inglese e probabilmente verrà anche tradotto in italiano (ma non sappiamo ancora quando). Chi vuole saperne di più potrà venire alla prossima DevCon... ma... ancora qualche giorno e potremo darvi tutti i dettagli.
Chi non vuole aspettare può leggere (è gratis) il libro precedente, Introducing Microsoft LINQ, che è basato sulla Beta 1 e quindi un po' obsoleto rispetto ad alcune sintassi e soprattutto per certi nomi di tipi e metodi. Tuttavia, è ancora completamente valido per comprendere i concetti di base e avere un primo orientamento. Se qualcuno vorrà farci domande e magari confrontarsi con noi sull'impatto che LINQ ha nelle applicazioni reali, saremo felici di incontrarvi e discuterne insieme. Una mail preventiva può aiutarci a definire un punto di incontro, il momento di fine sessione non è mai il migliore a causa della fretta di smontare dal palco per lasciare il posto alla sessione successiva...
Il recente Service Pack 1 di Windows Vista offre dei miglioramenti su una delle operazioni fondamentali di un sistema operativo: la copia dei file.
Questa era una notizia nota, ma finalmente (è proprio il caso di dirlo) Mark Russinovich ci offre una spiegazione più tecnica e dettagliata dei cambiamenti introdotti in Windows Vista che in certe situazioni hanno peggiorato le prestazioni (migliorandole in altri contesti - e qua si capisce quali), insieme alla descrizione dei miglioramenti introdotti in Windows Vista SP1 (con qualche compromesso in alcune situazioni).
La lettura è molto interessante perché quello della copia dei file è un meccanismo che è molto cambiato in Windows Vista rispetto alle precedenti versioni di Windows. Ovviamente, quello che è stato fatto in Vista SP1 è presente anche in Windows Server 2008.
Bene, adesso che il SP1 è arrivato, qualche azienda in più comincerà ad adottare Vista. Forse, non avevano tutti i torti ad aspettare...
Segnalo questo whitepaper molto introduttivo, Introducing LINQ to Relational Data, che riassume le principali differenze tra LINQ to SQL e LINQ to Entities. Ne consiglio la lettura soprattutto a chi non ha mai provato LINQ to Entities (o entrambi).