Am Rande notiert ...

Mi­cro­soft öff­net .NET-Quell­code. Ok, wäre noch bes­ser wenn es gleich eine Open Sour­ce Li­zenz ge­we­sen wäre (und mit GPL hät­ten sie sich sogar sel­ber ab­si­chern kön­nen), aber hey, auch diese Va­ri­an­te ist nicht un­cool – Mit­li­zen­sie­rung von Pa­ten­ten für die Re­fe­rence-Sour­ces ist schon mal eine gute Num­mer. Und Mono hat ein Stück Si­cher­heit mehr be­kom­men.

JSIL – .NET to Ja­va­Script com­pi­ler. Keine Ah­nung, ob ich das schon hatte, aber es ist eines die­ser ver­rück­ten Pro­jek­te die man ruhig zwei­mal lin­ken kann. Da wird wirk­lich der .NET IL Code über­setzt – man kann also Pro­gram­me im Brow­ser lau­fen las­sen, die ei­gent­lich nicht wirk­lich dafür ge­dacht waren. Zum Bei­spiel soll ein Teil von XNA lau­fen, so dass man Spie­le im Brow­ser lau­fen las­sen kann, die ei­gent­lich für die XBox sind.

BOO – Get­ting Star­ted. Nach lan­ger Zeit mal wie­der Boo an­ge­guckt und mir ge­fällt was dort pas­siert. Immer noch sehr stark an Py­thon an­ge­lehnt was die Syn­tax an­geht, bei der Se­man­tik aber deut­lich davon ab­wei­chend – zum Bei­spiel echte Ma­kros in ver­schie­de­nen Va­ria­tio­nen, so dass es wirk­lich eine er­wei­ter­te Syn­tax gibt. Oder auch das nur op­tio­nal ver­füg­ba­re Duck­typ­ing – eine Va­ri­an­te, die mir be­son­ders gut ge­fällt, denn Boo kom­bi­niert sta­ti­sches Typ­ing, Ty­pe-In­fe­rence und Duck Typ­ing in einer Weise, die wirk­lich für den Pro­gram­mie­rer alle Op­tio­nen offen hält. Dazu dann die gute In­te­gra­ti­on mit .Net und C# As­sem­blies. Ich glau­be, ich muss da mal etwas mehr mit her­um­spie­len, denn ge­ra­de als Pro­to­typ­ing Spra­che könn­te das recht prak­tisch sein – und im Mo­ment ten­die­re ich für ein paar Sa­chen eh mehr zu Mono als Run­ti­me, pri­mär wegen der dort ver­füg­ba­ren JIT Im­ple­men­ta­tio­nen (und mit Mono ja auch AOT Com­pi­la­ti­on, wo es be­nö­tigt wird).

Nan­cy­Fx/Nancy. Nancy ist dann schon deut­lich näher an Si­na­tra oder Sca­la­t­ra dran, geht aber ei­gent­lich von C# aus – aber viel­leicht kann man da ja auch ein­fach Mo­du­le in F# schrei­ben, die In­ter­ope­ra­bi­li­tät der bei­den Spra­chen ist ja sehr hoch (ver­gleich­bar zu Scala und Java).

Bis­tro. Das ist jetzt ein Web Frame­work für F#, in­spi­riert von Djan­go (unter an­de­rem). Lei­der nicht so schlank wie Sca­la­t­ra oder an­de­re Mi­kro-Frame­works, aber viel­leicht trotz­dem mal einen Blick wert.

Rap­t­orDB kling ganz in­ter­es­sant, ein klas­si­scher Key/Va­lue-Store für .NET der auf Mur­Mur­Hash auf­baut und vor allem auf Per­for­mance und Sto­r­a­ge-Sta­bi­li­tät aus­ge­legt ist. Könn­te für den einen oder an­de­ren Zweck ganz sinn­voll sein, spe­zi­ell da es auch sau­ber mit Threa­ding zu­sam­men­ar­bei­tet.

Ignit­eIn­ter­ac­tive­Stu­dio/SLS­harp. Nett – GLSL Shader in C# pro­gram­mie­ren, der IL-Code wird dann au­to­ma­tisch auf die GPU ge­la­den. High-Per­for­mance-Com­pu­ting an­yo­ne?

How I lear­ned to stop worry­ing and write my own ORM. Ein bi­schen Hin­ter­grund­in­for­ma­ti­on warum Dap­per ent­wi­ckelt wurde und wel­che Pro­blem­fäl­le es löst – im Prin­zip wird es dort ein­ge­setzt, wo bis­her aus Per­for­man­ce­grün­den di­rek­te SQL Zu­grif­fe über Linq „ge­tun­nelt“ be­nutzt wur­den, weil Lin­q2S­ql dort in­ef­fi­zi­ent ist.

dap­per-dot-net – Sim­ple SQL ob­ject map­per for SQL Ser­ver. Könn­te even­tu­ell ja ganz in­ter­es­sant auf der Ar­beit sein. C# bie­tet ja auch Linq an, aber nach deren Mes­sun­gen scheint Dap­per deut­lich auf Per­for­mance ge­trimmt zu sein.