7

I started using LINQ (Language Integrated Query) when it was still in beta, more specifically Microsoft .NET LINQ Preview (May 2006). Almost 4 years have passed and here we are using LINQ in a lot of projects for the most diverse tasks.

I even wrote my final college project based on LINQ. You see how I like it.

LINQ and more recently PLINQ (Parallel LINQ) give our jobs a great boost when it comes to more programming power and less lines of code leading us to more expressive and readable code.

I keep thinking what could be the next big language improvement for C# after LINQ.

I know there are some promissing language features coming as Code Contracts, etc, but nothing having the impact that LINQ had.

What do you think could be the next big thing?

Jakub Konecki
  • 45,581
  • 7
  • 87
  • 126
Leniel Maccaferri
  • 100,159
  • 46
  • 371
  • 480
  • 1
    You sure that you're not overstating the 'impact' that LINQ had? It's good and all, but it's far from make or break when it comes to language features. – Steven Evers Mar 08 '10 at 01:51
  • 1
    @SnOrfus - Yes, I'm sure LINQ had a great impact on how to work with data in C#. Not only LINQ simplifies the process of writing code but it also gives you the power of a query language (SQL) inside the programming language. I've always liked to work with databases and data in general so LINQ came as present from God. Not to mention that LINQ also brought a lot of other language capabilities that were developed to enable it. – Leniel Maccaferri Mar 08 '10 at 01:56
  • Are you talking about the System.Linq library, or the parsing of statements like "var managers = from m in Employees where m.IsManager = true group by m.LastName[0];" I agree the library is awesome, but I hardly ever use the syntactical sugar. – Jeff Meatball Yang Mar 08 '10 at 01:57
  • @Jeff Meatball Yang - Yes Jeff, System.Linq is the one I'm writing about. – Leniel Maccaferri Mar 08 '10 at 02:02
  • 1
    +close, we have enough of these "favourite feature" threads already. – Aaronaught Mar 08 '10 at 03:15
  • @Aaronaught - I think my point in this question has nothing to do with favorite feature. The point is about a feature that could impact the way we write code with C# just as LINQ has done in the past 4 years or so. – Leniel Maccaferri Mar 08 '10 at 03:48
  • 1
    Right, and obviously everybody's flavour of the month is exactly what they think is going to turn the world upside down, otherwise they wouldn't be wasting their time learning it. This question has no objective answer; it doesn't even have a subjective-yet-technical answer, it's pure warm-fuzzy "what's hot" bikeshed bait. – Aaronaught Mar 08 '10 at 04:07
  • @Leniel - While I voted to close this question as subjective, I'll give you my opinion: we are moving closer to "self-aware" code, where the code we write is actually just data being fed into a more generalized container/runtime, and sooner or later, we'll have binaries that can change themselves in response to the inputs they receive - they will "learn" - in a radically different way that we currently implement learning algorithms. – Jeff Meatball Yang Mar 08 '10 at 04:44
  • @Jeff Meatball Yang - Really interesting Jeff your point of view. – Leniel Maccaferri Mar 08 '10 at 04:49

3 Answers3

8

Reactive Extensions

The Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators. Using Rx, developers represent asynchronous data streams with Observables, query asynchronous data streams using LINQ operators, and parameterize the concurrency in the asynchronous data streams using Schedulers. Simply put, Rx = Observables + LINQ + Schedulers.

sjngm
  • 12,423
  • 14
  • 84
  • 114
Josh
  • 68,005
  • 14
  • 144
  • 156
  • I would agree, but they really aren't a language feature, just a really cool library built on the current version of C#. – Jeff Meatball Yang Mar 08 '10 at 01:53
  • I had already read about Reactive Extensions. I think it's cool. Maybe it can be the next big thing. Who knows... – Leniel Maccaferri Mar 10 '10 at 00:13
  • I haven't fully wrapped my head around it yet but some of the scenarios I heard on Scott Hanselman's podcast sounded very interesting. – Josh Mar 10 '10 at 03:14
  • A good post from Phil Haack about Reactive Extensions: http://haacked.com/archive/2010/03/26/enumerating-future.aspx – Leniel Maccaferri Mar 27 '10 at 04:27
  • Almost 3 years have passed and just now I decided to play with Reactive Extensions. Here's a nice Rx Workshop with a series of 6 videos at Channel 9: http://channel9.msdn.com/Series/Rx-Workshop/Rx-Workshop-Introduction – Leniel Maccaferri Oct 13 '12 at 17:41
  • Yeah I was totally wrong anyway. Next big thing turned out to be the TPL language extensions. :) – Josh Oct 14 '12 at 03:09
3

ParallellFX specifically. Concurrency generally.

anthony
  • 40,424
  • 5
  • 55
  • 128
0

I would love to see syntactic customization a la Boo's access to the compiler pipeline.

Restore the Data Dumps
  • 38,967
  • 12
  • 96
  • 122