ANN: Future of .NET

  • Thread starter Thread starter Thomas Scheidegger [MVP]
  • Start date Start date
T

Thomas Scheidegger [MVP]

PDC PR:
http://www.microsoft.com/presspass/press/2005/sep05/09-13PDC05Day1PR.mspx

The Language Integrated Query (LINQ) Project is a set of language innovations
for the Microsoft .NET Framework that makes it simpler for developers to access data.
LINQ comprises a set of language extensions to C# and Visual Basic ...


..NET Framework:
http://msdn.microsoft.com/
Codename "LINQ": Bring T-SQL and XML into C# and Visual Basic (September 13, Announcement)

Future Versions
http://msdn.microsoft.com/netframework/future/


C# 3.0
http://msdn.microsoft.com/vcsharp/future/


VB.NET 9.0
Latest from PDC:
http://msdn.microsoft.com/vbasic/
See the future of Visual Basic and Project 'LINQ'

Future Versions
http://msdn.microsoft.com/vbasic/future/


The LINQ Project
http://msdn.microsoft.com/netframework/future/linq/
 
C# 3.0 is looking very good... automatic type inference from
initializers (var x = new Foo()), an ML-style notation for lambda
expressions (x => x+1), in-line initialization for property values and
collection items, anonymous types whose properties are inferred from
the init expression... I'm a kid in a candy store! :)

Not sure about the embedded query language, though. It looks good on
paper but do we have to use SQL-backed data to use these constructs?
 
C# 3.0 is looking very good... automatic type inference from
initializers (var x = new Foo()), an ML-style notation for lambda
expressions (x => x+1), in-line initialization for property values and
collection items, anonymous types whose properties are inferred from
the init expression... I'm a kid in a candy store! :)

Yeah, it also makes C# look more and more like Clipper; when do we get code
blocks ? :-)
Not sure about the embedded query language, though. It looks good on
paper but do we have to use SQL-backed data to use these constructs?

I gather that this syntax woks with in-memory lists as well.

Joanna
 
I gather that this syntax woks with in-memory lists as well.

Confirmed, I've read some more papers and those are really regular C#
operators that work on any type that supports them. Cool!
 
Joanna,
Yeah, it also makes C# look more and more like Clipper; when do we get
code
blocks ? :-)

I realise you were joking but we actually have codeblocks in Vulcan.NET
which is currently in development. And managed DBF/CDX support (good for
PDAs) along with lots more Clipper/xBase/Visual Objects features, all in
..NET. More info here: http://www.vulcandotnet.com.
 
Thomas said:

I downloaded this v3 spec and started to read it using wordpad. My brain
began to fog.

For learning v1 of C#, I read "Progamming In The Key Of C#" by Charles
Petzold to start the replacement of Java and C++ from my brain. Next, I
used "Programming Windows With C#" by Charles Petzold to advance to the
next level when programming my first application.

Recently, I finished a quick read of "Inside C#" by Tom Archer. I flag-
ged the topics of "Attributes" and "Security" as re-reads because my
brain did not fully understand. The topics of "Documentation with XML",
"Using COM from C# Applications" and "Using .NET Components in Unmanaged
Code" were skipped as not applicable at the present time nor in the near
future.

Previously, I had skimmed through the changes from v1 to v2 of C#. "Ge-
nerics" looked good. "Anonymous methods" looked like a complicated addi-
tion to overcome a little typing to add a delegate method. Unknown about
adding "yield" to "Iterators", but it looked like a bandage. "Partial
types" looked good.

For changes from v2 to v3, I'm overwhelmed with the list, that is:

1. Implicitly typed local variables
2. Extension methods
3. Lambda expressions
4. Object and collection initializers
5. Anonymous types
6. Implicitly type arrays
7. Query expressions
8. Expression trees

Hmm. I thought the rationale for developing C# was to create a software
language of a lesser complexity than C++, that is, change to single in-
heritance from multiple, eliminate the clutter and confusion of pointers,
and provide garbage collection to eradicate memory allocation/dealloca-
tion leaks. And, while maintaining some degree of equivalence for those
who need to be adept in both C++ and C#. However, complexity of C# and
divergence from C++ is on the rise in C# , for good or bad depending on
your perspective.

For someone like myself who learned object-orientation using Smalltalk,
C# looks to be on the road to language bloat heading towards complexity
and away from simplicity.

Doug
 
Larry Lard said:
In particular,
<http://msdn.microsoft.com/library/en-us/dnvs05/html/vb9overview.asp>,
to which I can at present only say "Wow. I mean, just wow".

No ... read it twice ... /no/ smileys.

Can you *please* explain to me how these things as supposed to
"improve" Visual Basic as a language?

Dim x = 3

This just strikes me as a tremendous leap backwards. Does it really
save (or gain) you /anything/ of practical value?

Select .. From .. Where? Why?? How does this help in application
development, other than making you even more reliant on the
"performance" of the underlying Framework classes?

"Anonymous" Types? I've only just got used to dealing with properly
constructed hierarchies of polymorphic types. Why would I want a
function to return "something" that I've never heard of?

Regards,
Phill W.
 
Phill. W said:
No ... read it twice ... /no/ smileys.

Can you *please* explain to me how these things as supposed to
"improve" Visual Basic as a language?

Dim x = 3

This just strikes me as a tremendous leap backwards. Does it really
save (or gain) you /anything/ of practical value?

Yes, it's of practical value when using 'Select...From...Where...'.
Select .. From .. Where? Why?? How does this help in application
development, other than making you even more reliant on the
"performance" of the underlying Framework classes?

It's useful for the same reasons why people use SQL. There is no need for
writing your own algorithm for filtering, sorting, etc. data any more.
"Anonymous" Types? I've only just got used to dealing with properly
constructed hierarchies of polymorphic types. Why would I want a
function to return "something" that I've never heard of?

That's not a typical scenario where anonymous types are useful.
 
I realise you were joking but we actually have codeblocks in Vulcan.NET
which is currently in development. And managed DBF/CDX support (good for
PDAs) along with lots more Clipper/xBase/Visual Objects features, all in
.NET. More info here: http://www.vulcandotnet.com.

Thatr is totally excellent coolness !!! I might even try to get to play with
that :-)

Joanna
 
I knew that I had already seen that before.... I was in doubt but now
seems I'm not the only one...

Yes, they look like codeblocks, hope they works the same... I miss them
a lot :D

Saludos,

Martín Trejo Chávez
http://chilli-coder.blogspot.com

Paul Piko escribió:
 
Dim x = 3

I tend to agree with you here - moving too far away from strongly typed.
What type is that? Integer, Double?

Rob.
 
Rob Nicholson said:
I tend to agree with you here - moving too far away from strongly typed.
What type is that? Integer, Double?


'Integer'. It seems that the VB team assumes that every VB programmer is
aware of number literals' types :-).
 
'Integer'. It seems that the VB team assumes that every VB programmer is
aware of number literals' types :-).

Yeah :-) It's also like assuming the Integer is a fixed size. About all I
assume is that it's at least 32 bits but could grow bigger.

Rob.
 
Rob Nicholson said:
Yeah :-) It's also like assuming the Integer is a fixed size. About all I
assume is that it's at least 32 bits but could grow bigger.

No, it can't grow on either C# or VB.NET. It's precisely specified in
both languages.
 
Jon Skeet said:
No, it can't grow on either C# or VB.NET. It's precisely specified in
both languages.

In VB6, which is VB.NET's predecessor according to Microsoft, 'Integer' has
been specified as 16-bit number. Nevertheless the name 'Integer' is mapped
to a 32-bit type in VB.NET. Thus I would not put my money on 'Integer'
referring to the same 32-bit type in .NEW (.NET's successor which may
include "new versions" of VB and C#).
 
Back
Top