by DotNetNerd
16. November 2008 09:23
Udover at inkludere features fra dynamiske sprog som er et af hovedområderne Microsoft arbejder med til C# 4.0 kommer der også nogle flere features inspireret af F# og funktionel programmering. Tupler og en Zip funktion til Enumerable klassen kan man læse om på codebetter idag.
Især tupler har jeg savnet indimellem, så jeg er spændt på at se hvordan de lykkedes med at integrere dem i C# med hensyn til dekomposition, da det er det sprængende punkt for hvor anvendelige de bliver. Zip funktionen ser også ud til at blive en ok tilføjelse, men de fleste opgaver den løser kan man trodsalt løst rimeligt simpelt i forvejen, og om ikke andet ville det være simpelt nok at skrive den selv som extention method.
Alt i alt er det imidlertid rart at læse at de samarbejder med F# teamet for at gøre sprogene mere kompatible, og derved gøre det lettere at skrive moduler i de to sprog der kan bruges sammen. Idag er det en rimelig stor hemsko at man skal gøre en indsats for at ens API fra et F# modul kun anvender typer der er tilgængelige i andre sprog hvis modulerne skal bruges sammen.
by DotNetNerd
9. November 2008 15:22
Lidt af min søndag er gået med at kigge på videoer af hvad Microsoft arbejder på til .NET platformen, og i den forbindelse er jeg fladet over et par fede demoer som jeg lige vil gøre opmærksom på.
Først og fremmest vil jeg anbetale at se Anders Hejlsbergs snak ved PDC om C# 4.0 hvor han faktisk også til sidst runder nogen af de ting de arbejder på til version 5.0. Helt kort kan jeg fortælle at 4.0 hovedsageligt handler om dynamic execution, og 5.0 handler om dynamic compilation. Det er virkelig interessant at se, og det giver nogle gode ideer til hvad de nye features kan bruges til igennem de demoer han viser frem.
Udover C# snakken fandt jeg en channel9 video om project Jasper som er en overbygning til entity frameworket der gør det muligt at lave iterativ RAD udvikling baseret på et dynamisk opbygget EDM schema. Det i sig selv virker rigtigt interessant, især når man tænker i hvad man kan lave i samspil med dynamiske sprog.
Jasper indeholder desuden kontroller til at lave simple CRUD websider til at manipulere data, sådan at man slipper for at skrive den sædvanlige databinding logik. Jeg er selv lidt skeptisk omkring den fremgangsmåde, da en del af logikken baseres på navngivningskonventioner hvilket gør at det virker lidt skrøbeligt. Det er imidlertid stadig interessant at se, og om ikke andet kan det være enormt nyttigt til at udvikle prototyper.
UPDATE: så kom der også lige et hotfix til VS som gør at man kan arbejde med debug/release versioner af javascript libs som eksempelvis JQuery :-)