September 2006 Blog Posts

Lambda expression, extension method e currificazione

Come ho avuto modo di descrivere tempo fa in un articolo, la currificazione è una caratteristica che alcuni linguaggi di programmazione mettono a disposizione e che permette di invocare una funzione, che ha N parametri, specificando un numero M di valori con M <= N.Facciamo un esempio con una sintassi astratta: Add(x, y) = x + yprint Add(10, 20)  // 30print Add(10)       // fn(y) = 10 + y Se Add, che ha due parametri, viene invocata con un solo valore allora anzichè ritornare il risultato, ritorna una funzione che attende un solo argomento in cui un valore è già vincolato. Non che abbia una...

posted @ Thursday, September 21, 2006 7:01 PM | Feedback (4)

Polo di ricerca Microsoft a Torino

Ieri ho appreso con gioia che Microsoft aprirà un polo di ricerca presso il Politecnico di Torino (http://www.apogeonline.com/webzine/2006/09/14/22/2006091422833). Inizialmente dovrebbe composto da una trentina di scienziati che si preoccuperanno di studiare algoritmi da applicare alle neuroscienze e alla genetica.Sono doppiamente contento perchè il centro nascerà nella regione in cui vivo e sono nato.E' inoltre possibile che Microsoft apra in futuro un Innovation Centre sempre in Italia. Speriamo che il tutto possa aiutare un po' il mondo della ricerca nel nostro paese.

posted @ Thursday, September 21, 2006 1:45 PM | Feedback (0)

Programmazione concorrente

Da tempo Microsoft sta lavorando per cercare di incorporare nei linguaggi di programmazione costrutti per la programmazione concorrente. Penso sarà l'obiettivo di Microsoft una volta rilasciato LINQ. A tal proposito segnalo un paio di risorse: Software Transactional Memory Joins che sostanzialmente implementa sotto forma di libreria .Net le funzionalità di programmazione concorrente proposte da Polyphonic C#

posted @ Monday, September 18, 2006 6:21 PM | Feedback (0)

Microsoft Research Accelerator Project

Accelerator Project è un progetto di Microsoft Research (http://research.microsoft.com) finalizzato alla costruzione di una libreria .Net capace di semplificare la scrittura di codice per GPU (Graphic Processing Unit), oggi piuttosto complessa e legata alle singole schede. Le GPU, per loro architettura, sono particolarmente adatte al cosiddetto data parallel array computation, ovvero quando la medesima computazione può essere svolta potenzialmente in parallelo su un "array" di dati. La libreria fornisce le astrazioni necessarie per farlo in modo indipendente dall'architettura HW della GPU.Fornisce anche un modo per sfruttare in modo relativamente semplice le capacità computazionali della GPU, più performante della CPU in...

posted @ Tuesday, September 5, 2006 8:41 AM | Feedback (0)