Perspektivering af sprog og sprog features i .NET!

Jeg har tidligere lovet mig selv, at jeg skal skrive en masse artikler omkring LINQ i fremtiden, men det har jeg altså efterhånden haft planlagt siden jeg startede på "borgen".

Alle som ikke udvikler .NET, og ikke kender til LINQ eller dets styrker, har meget svært ved at forstå hvor gennemført og lækkert det integrerede forspørgsels sprog rent faktisk er. LINQ er det bedste der er sket i programmeringssprog siden Microsoft byggede en CLR (og måske også lige generiske typer).

LINQ burde efter min egen mening få selv den mest fanatiske Linux udvikler til at kaste sig frådende over .NET! (Jeg har været til Open Source days, og ja...de er lidt fanatiske, men nu meget søde).

Man lægger ikke mærke til skiftet fra Før-LINQ til LINQ før man er tilbage i noget der ikke kan det samme som LINQ. Jeg skulle lave en custom metode til at sortere tal med, i VBScript. Jeg erkender blankt at det var noget forfærdligt kode at se på - men desværre var der ikke andre muligheder.  En lignende metode med LINQ ville være elegamt, lidt kedelig men super nem at lave.

Nye sprogfeatures er ofte nemmere at forholde sig til end et helt nyt navn eller produkt. Tænk hvis der blev ændrede syntaks for hver gang der kom en ny version af sproget - det skete lidt med LINQ!. Med alle de nye og spændende sprogfeatures ligger der igen noget tids arbejde i få sin kode tilpasset og muligvis refaktoreret, men det synes jeg er kan være helt forsvarligt da det ofte ikke kræver mere arbejde end sidst man gjorde det, men mindre. Det kan blive til en positiv refaktorering!

At man får sin kode til at fylde mindre fordi nye sprogfeatures tillader, mener jeg dog ikke nødvendigvis er en god idé. Det er en balancegang imellem at gøre sin kode hurtig, læselig også simpel som overhovedet muligt. Nogle udviklere lider af det her "akademiske syndrom" hvor alt skal være så teknisk advanceret som muligt, og fred være med det, men det bliver uden mig på teamet. Jeg har tidligere kigget på Umbraco's kildekode, og det var ikke super pænt (v. 3 tror jeg), men det har altid virket som en drøm og det har endda gjort hvad det fik besked på. "Maden smager ikke bedre fordi den bliver serveret på en guld tallerken".

639672979_f0ab6b45bc

Er der er For Meget Støj ?

Jeg har i det forgangne år været til mange teknologi session er og selv har holdt en pæn slat. Efter en tur til både JAOO, PDC og TechEd får man ganske simpelt for meget af "nu skal i bare se min....den er kæmpestor". Nu skal jeg selvfølgelig også passe lidt på fordi, at det har selvfølgelig været nogle enormt gode ture og jeg har lært en masse, men mine ben er fortsat plantet solidt i græsset!

Når vi nu skal holde os til emnet, så kan jeg slet ikke se alle de sprog muligheder blive brugt. Nu havde jeg fornøjelsen af at være til F# præsentation i slutningen af Sommeren og selvom det var en god præsentation kan jeg den dag stadig ikke se hvorfor jeg skulle kaste mig over det - "uhhh, det er funktionelt og vi det er ikke mutable". Hop i havet!

Det samme gør sig gældende for samtlige Iron sprog - IronPython, IronRuby, IronScheme etc. I mine øjne behøves der ikke være 30 forskellige sprog - vi kunne evt. nøjes med 5 - som i modsætning til idag så kunne blive til "first class citizens" i vores elskede Visual Studio. Vi ved jo alle sammen godt at en af grundene til, at både VB og C# er så store sprog er fordi vi har værktøjet til at gøre det! Uden godt værktøj er en teknologi ingenting!

For mig ser det ud som om vi gør de store sprog bredere og bredere men samtidig giver vi også mulighed for at lade folk vælg det sprog de mener er det rette til en specifik opgave! Det vil sige at jeg bør bruge VB.NET fremfor C# når jeg skal arbejde med LINQ to XML, pga. XML literals ? Og når jeg skal stå i min professor kittel så finder jeg lige F# frem. Jamen det gør jeg da gerne...i mit næste liv!

Hvis det bare er til at fjolle rundt med, så gør hvad du vil, men skal du rent faktisk leve af det du koder så hold dig til et par af dine velkendte sprog og lad være med at miks alt muligt sammen. Gør det så simpelt for dig selv som muligt!

Hvorfor tror i f.eks at BlogEngine er så populært ?

Nu nævnte jeg Umbraco tidligere og det vil jeg gøre igen: Havde Niels i tidernes morgen ikke implementeret XSLTi hans open source CMS, så ville endnu flere sikkert have benyttet det, men XSLT implementeringen har samtidig gjort Umbraco til et yderst fleksibelt produkt...eller rettere...et værktøj! Nu bruger bla. Heinz.com og Peugeot.com Umbraco, så produktet har aldrig nogensinde fejlet. Tværtimod! Det er ikke pænt af mig at sige noget dårligt om Umbraco - jeg kan jo bare selv kode det om hvis jeg vil :0)

3069197117_3e530c26a8

 

Huks nu De Målgrupper.

Husk at jeg hold mig til de målgrupper der er beskrevet her: https://blogs.msdn.com/danielmf/archive/2009/01/02/perspektivering-af-microsoft-teknologier.aspx