Zėŋōfōbìå

25 novembre 2009

Google inciampa sul linguaggio GO

Filed under: Linguaggi — Zeno @ 18:19

Google è probabilmente l’azienda che ha rivoluzionato la concezione che abbiamo dei computer, di internet e del business dotcom.

Il motore di ricerca di google ha subito mostrato di essere straordinariamente superiore a tutti i concorrenti, divario che ha saputo mantenere intatto negli anni, il servizio di posta che offre è straordinario, superiore a moltissimi prodotti commericiali, l’ambiente office che regala preoccupa Microsoft, che si sente minare uno dei capisaldi del suo predominio informatico.

Android è un’altra invenzione eccellente, molti produttori di telefoni si stanno muovendo in quella direzione, rinunciando ai sistemi proprietari, snobbando Microsoft Mobile.

Quando ho letto che Google annunciava l’uscita di un nuovo linguaggio, il Go, per l’appunto, mi sono fermato, mi sono seduto comodo e mi sono preparato mentalmente a rinunciare a tutto ciò che so di programmazione in C# per passare a qualcosa che certamente sarebbe stata una pietra miliare nella storia dei linguaggi.

E invece la mia delusione è stata pungente.

(more…)

Annunci

29 settembre 2009

AES in fumetti

Filed under: informatica — Zeno @ 21:58

Sono impressionato dalla chiarezza espositiva di questo fumetto che parla di AES!

Un fumetto in tre atti che mostra le caratteristiche di Rijandael (che ho scoperto finalmente che si pronuncia reindal, ho sempre emesso dei vocalizzi inquietanti finendo per dire: “beh, AES, ci siamo capiti, no?” :).

7 settembre 2009

Jon Skeet: MoreLINQ now at 1.0 beta

Filed under: C#, informatica — Tag: — Zeno @ 16:46

Jon Skeet pensa che LINQ to Object abbia bisogno di qualche aggiunta. Come dargli torto? :-)

La Beta 1 contiene un insieme interessante di estensioni a IEnumerable, di chiaro interesse.
(more…)

11 agosto 2009

C# e paradigma funzionale

Filed under: C#, Haskell, informatica — Tag:, — Zeno @ 11:25

Ho trovato un bell’articolo pratico su come implementare alcune funzioni di ordine superiore che si incontrano sempre nei linguaggi funzionali. In particolare faccio riferimento alle implementazioni di Haskell: Curry, Zip, ZipWith.

Ho aggiunto Map, Filter, FoldR e FoldL e qualche test case.

(more…)

5 agosto 2009

ItalianInflector

Filed under: C#, informatica — Tag: — Zeno @ 9:44

Ho esteso l’ottima libreria uNhAddIns per avere l’inflector in italiano.
In questo modo è possibile, dato un sostantivo singolare, ottenerne il plurale.

Segue la patch per la versione 696 di unhaddins:
(more…)

27 luglio 2009

Inizializzare gli array in C# 3

Filed under: C#, informatica — Tag: — Zeno @ 15:11

Supponiamo di avere la necessità di allocare un certo numero di oggetti in un array, ovviamente l’approccio standard è di usare un ciclo for:

Whatever[] whateverVector=new Whatever[1000];
for(int i=0;i < 1000;i++)
  whateverVector&#91;i&#93;=new Whatever(i);
&#91;/sourcecode&#93;

Esiste anche un modo diverso, più lento ma per certi versi più elegante, che usa la list comprehension di C#3: LINQ
&#91;sourcecode language='csharp'&#93;
Whatever&#91;&#93; whateverVector= Enumerable.Repeat(0, 1000).Select(i => new Whatever(i)).ToArray();

24 luglio 2009

L’apocalisse è vicina!

Filed under: informatica — Tag: — Zeno @ 9:25

Ho dovuto controllare che non fosse il primo aprile, ho dovuto rileggere due volte.
Microsoft contribuisce al codice di Linux importando i driver per Hyper-V: i Linux Integration Components.

Tratto da dal blog di Hank Janssen dell’Open Source Community di Microsoft:

Microsoft developed the Linux device drivers to enhance the performance of Linux when virtualized on Windows Server 2008 Hyper-V. My team and I were responsible for testing and validating the driver components that were contributed for this first release.

This code is designed so that Linux can run in an “enlightened mode” on top of Hyper-V (enlightened mode is roughly the Hyper-V equivalent of “paravirtualized mode” for the Xen hypervisor). Without this driver code, Linux can run on top of Windows, but without the same high performance levels. It is this device driver code that we are releasing today, directly to the Linux Kernel.

We’re not talking a few hundred lines of code here; we’re talking about roughly 20,000 lines of code.

Sempre di Janssen c’è una spiegazione tecnica di cosa siano i Linux Integration Component.

17 luglio 2009

AOP e Cache

Filed under: C#, informatica — Tag:, — Zeno @ 14:11

Certe volte accedere ad un dato è costoso, vuoi perché non è disponibile localmente, vuoi perché deve essere calcolato. In alcuni casi disporre di una cache locale può migliorare in modo significativo la velocità del programma. Con i linguaggi che dispongono delle dictionary viene comodo usarle per costruire una semplice cache locale: la chiave è il parametro della funzione, il valore è il suo risultato.
(more…)

10 luglio 2009

Dove il Perl incontra l’assoluto

Filed under: informatica — Tag:, , — Zeno @ 16:43

Stefano Rodighiero, autore di un bel libro introduttivo sul Perl, mi ha consigliato di guardare un webcast. L’autore è Damian Conways, un esponente di spicco nella comunità Perl. Il Titolo è abbastanza evocativo:
Temporally Quaquaversal Virtual Nanomachine Programming in Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces…Made Easy.

E’ un raro esempio di lucido esoterismo informatico, decisamente affascinante.

Si può leggere, nelle note di presentazione, dopo una prima parte molto vicina alle questioni specificatamente Perl, l’ipotesi di esistenza di quelle che vengono chiamate “variabili positroniche”.

Una “Variabile positronica” è una variabile il cui verso della direzione del tempo è opposto di quello delle variabili “elettroniche” che normalmente siamo abituati ad usare.
In pratica l’ipotesi è che questa variabile vada indietro nel tempo, quindi, va da sé, può essere inizializzata “dopo” che è stata usata…

In pseudo codice:

pos_variabile $posval
print $posval;
$posval=read_value_from_stdin();

Impossibile? Direi di no, visto che Damian Conways ne ha scritto un’implementazione per Perl.

Davvero fenomenale! :-)

12 maggio 2009

Quale linguaggio rende i programmatori felici?

Filed under: informatica — Tag: — Zeno @ 14:12

E’ il Perl, con il 60% degli utenti soddisfatti.
Almeno stando all’articolo di DoloresLab che tramite un’analisi dei commenti ai linguaggi estratti da twitter riesce a estrarre delle statistiche.

Se queste siano significative non saprei dirlo: in effetti è uno spoglio democratico, niente viene detto sulla capacità di discernere di chi posta il messaggio.

Parlare bene o male di un linguaggio è soprattutto un atto sociale, più che tecnico. Forse è della comunità dei linguaggi che si parla.
Se così fosse non avrei nessuna difficoltà a credere che le comunità del Perl e di Haskell siano più accoglienti di quelle del C#.

E’ opportuno comparare questi risultati con quelli di LangPop e con quelli di Tiobe, se non altro per vedere che è difficile trarre delle conclusioni definitive.

« Newer PostsOlder Posts »

Blog su WordPress.com.