Denhär sessionen var kanon, jag missade ett par minuter i början, och har inte Spec# helt aktuellt, men som jag fattade det är Contract Checking-delen det som kommer in i C#4.0 från spec#, mycket trevligt, det kan ju aldrig skada att få ytterligare en möjlighet att uttrycka sina intentioner. men precis som t ex när man skriver unittester så är det viktigt att välja rätt saker att styra upp betendet kring, annars kan det snärja dig längre fram.
Sen kommer PEX som ett imponerande extra verktyg. Det hjälper dig att kolla om du under alla omständigheter håller vad du lovar i både kontrakt och asserts. Jag tvivlar på att jag kommer att använda PEX dagligen, men i en del sammanhang kan det absolut vara till hjälp.
Sessionen som helhet rekommenderas varmt.
Visar inlägg med etikett PDC08. Visa alla inlägg
Visar inlägg med etikett PDC08. Visa alla inlägg
onsdag, november 05, 2008
Mer från PDC; TL58 Research: Concurrency Analysis Platform and Tools for Finding Concurrency Bugs
Har en stund över innan det mer intensiva valvakandet börjar i New York, så jag skriver några korta rader om ytterligare saker som fångade mitt intresse lite extra på PDC. Som en hjälp att söka i djungeln av sessioner.
Concurrency Analysis Platform and Tools for Finding Concurrency Bugs, rekommenderas varmt, hjälp för att hitta concurrency buggar genom att köra ditt testprogram med olika schedulering av trådarna i förhållande till varandra. Något som är mycket svårt att få fram på egen hand, ger dessutom möjlighet att debug'a den kombination som framkallade ett fallerat testfall. Både för native kod och för .NET.
Hmm, jag gör så att jag beskriver en session per post.
Concurrency Analysis Platform and Tools for Finding Concurrency Bugs, rekommenderas varmt, hjälp för att hitta concurrency buggar genom att köra ditt testprogram med olika schedulering av trådarna i förhållande till varandra. Något som är mycket svårt att få fram på egen hand, ger dessutom möjlighet att debug'a den kombination som framkallade ett fallerat testfall. Både för native kod och för .NET.
Hmm, jag gör så att jag beskriver en session per post.
tisdag, oktober 28, 2008
PDC 08 keynote tisdag
Massor av spännande saker visades, jag rapar upp ett litet urval av det som råkade fastna:
Som gammal MFC-programmerare blir man ju lite sugen på att skapa en ny MFC-app o se hur det ser ut med den nya ribbonskontrollen...
Släpps idag bl a en ribbonkontroll till WPF. Och en VisualStateManager, så man kan hantera visual state på samma sätt som i Silverlight.
Fortsätter om en stund, dax att rusa till nästa session.
Som gammal MFC-programmerare blir man ju lite sugen på att skapa en ny MFC-app o se hur det ser ut med den nya ribbonskontrollen...
Släpps idag bl a en ribbonkontroll till WPF. Och en VisualStateManager, så man kan hantera visual state på samma sätt som i Silverlight.
Fortsätter om en stund, dax att rusa till nästa session.
C# 4.0
Från PDC08 måndagen
Anders Hejlsberg höll en bra session om nyheterna i C# 4.0.
Jag tar och sliter ut min favorit från det han sa:
Dynamic den nya statiska typen i C# 4.0, fantastiskt trevlig i många sammanhang. Som object, men man kan anropa alla tänkbara metoder på den, det kompilerar, sen kan det naturligvis bli runtimefel. På så sätt kan man slipper en massa casts. Men man får o andra sidan ingen intellisence.
Med detta kommer en rad olika bindings mot olika språk. Mot .NET objekt så används .NET bindingen, som via reflection anropar invoke på metoden, alltså inget magiskt nytt, men snyggare och renare syntax.
Det finns även bindings mot COM, IronRuby, JavaScript, IronPython, så nu plötsligt blir det samma rena syntax oavsett språk :o)
dynamic game = GetGame(); //Game kan vara ett COM-objekt eller t ex ett
game.Play(); // JavaScripts-objekt
Anders Hejlsberg höll en bra session om nyheterna i C# 4.0.
Jag tar och sliter ut min favorit från det han sa:
Dynamic den nya statiska typen i C# 4.0, fantastiskt trevlig i många sammanhang. Som object, men man kan anropa alla tänkbara metoder på den, det kompilerar, sen kan det naturligvis bli runtimefel. På så sätt kan man slipper en massa casts. Men man får o andra sidan ingen intellisence.
Med detta kommer en rad olika bindings mot olika språk. Mot .NET objekt så används .NET bindingen, som via reflection anropar invoke på metoden, alltså inget magiskt nytt, men snyggare och renare syntax.
Det finns även bindings mot COM, IronRuby, JavaScript, IronPython, så nu plötsligt blir det samma rena syntax oavsett språk :o)
dynamic game = GetGame(); //Game kan vara ett COM-objekt eller t ex ett
game.Play(); // JavaScripts-objekt
måndag, oktober 27, 2008
Nyheter i .NETs typsystem
Första vanliga sessionen på PDC, en usel presentation, men ett intressant ämne. Det handlade om att bädda in interface i det konsumerande assemblyt. Om man som i talarens exempel ska automatisera excel via COM-interrop så är interropassemblyt 1,2 MB, men med den nya kompilatorswitchen slipper man deploya det stora interropassemblyt utan får istället en kopia av de lilla man använder i sitt eget assembly. I hans lilla exempel blev det 2 kB. Så det var nummer ett: inbäddning av typer. Den andra delen var typekvivalens eller type equivalence. Detta gör att om interfacet ändras så kan man ändå använda de gemensamma delarna. Gissningsvis har detta även kommit för att bättre kunna stödja dynamiska språk, walks like duke, sounds like a duke, it must be a duke...
Sammanfattningsvis, mycket kortfattat, så får vi verktyg för att hantera system där klient- och server-kod utvecklas och deployas oberoende av varandra. Trevligt. BTW, på keynoten annonserade Microsoft sin nya serviceplattform, Azure, men det kan ni säkert läsa om någon annanstans.
Sammanfattningsvis, mycket kortfattat, så får vi verktyg för att hantera system där klient- och server-kod utvecklas och deployas oberoende av varandra. Trevligt. BTW, på keynoten annonserade Microsoft sin nya serviceplattform, Azure, men det kan ni säkert läsa om någon annanstans.
First day of PDC
OK now I have finished the pre conference. This was about WCF. Juval Löwy tried to convince us that we should use WCF for all classes, that WCF is not about communication, but it's the new way of programming. Interesting. Ron Jacobs finished with some demos about how easy it is to make RESTful services with WCF 3.5.
Prenumerera på:
Inlägg (Atom)
