Stigao sam malo da bacim pogled na nove funkcionalnosti koje nas očekuju u Majkrosoftovim razvojnim alatima. Jedna od njih je i takozvani LINQ, proširenje .NET jezikâ u sledećoj verziji (boga pitaj koja je to verzija, ja sam potpuno izgubljen u MS-ovom dodeljivanju novih verzija .NET-a, Visual Studia i C#-a). Ukratko, LINQ obezbeđuje sintaksu sličnu SQL-u usred C# programa, i to ne samo prema relacionoj bazi, već prema (uslovno) bilo kojoj kolekciji podataka. Da bi se ovo omogućilo, u C# se dodaju elementi funkcionalnog programiranja, lambda funkcije, lazy evaluation (koje MS u svom maniru “imamo novo ime, dakle imamo novu tehnologiju” zove “deferred execution”) itd.

Izuzetno zanimljiv intervju o LINQ-u i pozadini njegovog uvođenja možete videti na ovoj lokaciji. O njemu priča Anders Hejlsberg, siva eminencija koja stoji iza legendardnih alata TurboPaskal, Delfi i C#. Predavanje je nadahnuto i informativno, bez obzira na to što se Anders ne dotiče ni tastature ni table, tj. cela priča je usmena. Uzgred, pripazite jer zip fajl sa videom ima preko 100Mb.

Nažalost, Majkrosoft se i u ovoj priči postavio arogantno, izmišljajući toplu vodu (kao što su pre toga C#-om izmišljali Javu) i pravo je zadovoljstvo videti brdo MS zealota kako u komentarima na intervju balave na LINQ koji 2007. omogućava C#-u nešto što npr. Python ima već odavno (a verujem da se slične stvari mogu uraditi i u 20-30 godina starim LISP-ovima i srodnim živuljkama). Da ne govorim o konstantnom budženju C#-a iz verzije u verziju: i C# se, nalik VB-u i Delphi Pascalu od pre desetak godina, lagano pretvara u Frankenštajna haotične i nečitke sintakse sa brdom feature-a koje svi koriste a niko ne razume. C# postaje moćno oružje na raspolaganju svima, pa i početnicima za zloupotrebe - otprilike kao leteći buldožer sa balističkim raketama u rukama deteta.

Bez obzira na sve, meni godi saznanje da se industrija kreće u pravcu koji i mene lično intrigira - funkcionalno programiranje, skript jezici i pragmatičan pristup kodiranju.