Past, present and future of
C# and .NET
Kathleen Dollard
Director of Engineering, ROICode [email protected]
Coding: 2 Advanced: 2
“In the beginning there was…” Take a look back at over 15 years of .NET and C#
evolution and look into the future driven by enormous underlying changes. Those changes are driven by a shift in perception of how .NET fits into the Microsoft
ecosystem.You’ll leave understanding how to leverage the .NET Full Framework,
.NET Core 1.0, .NET Standard at the right time. Changes in .NET paralleled changes in
the languages we’ll reflect on how far C# and Visual Basic have come and how they’ve
weathered major changes in how we think about code. Looking to the future, you’ll
see both the impact of functional approaches and areas where C# probably won’t go.
The story would not be complete without cruising through adjacent libraries – the
venerable ASP.NET and rock-star Entity Framework that’s recovered so well from its
troubled childhood.You’ll leave this talk with a better understanding of the tool
you’re using today, and how it’s changing to keep you relevant in a constantly
morphing world.
Coding: 2 Advanced: 2
“In the beginning there was…” Take a look back at over 15 years of .NET and C# evolution and look into the future driven by enormous underlying changes. Those
changes are driven by a shift in perception of how .NET fits into the Microsoft
ecosystem.You’ll leave understanding how to leverage the .NET Full Framework,
.NET Core 1.0, .NET Standard at the right time. Changes in .NET paralleled changes in
the languages we’ll reflect on how far C# and Visual Basic have come and how they’ve
weathered major changes in how we think about code. Looking to the future, you’ll
see both the impact of functional approaches and areas where C# probably won’t go.
The story would not be complete without cruising through adjacent libraries – the
venerable ASP.NET and rock-star Entity Framework that’s recovered so well from its
troubled childhood.You’ll leave this talk with a better understanding of the tool
you’re using today, and how it’s changing to keep you relevant in a constantly
morphing world.
Coding: 2 Advanced: 2
“In the beginning there was…” Take a look back at over 15 years of .NET and C#
evolution and look into the future driven by enormous underlying changes. Those changes are driven by a shift in perception of how .NET fits into the Microsoft
ecosystem.You’ll leave understanding how to leverage the .NET Full Framework,
.NET Core 1.0, .NET Standard at the right time. Changes in .NET paralleled changes in
the languages we’ll reflect on how far C# and Visual Basic have come and how they’ve
weathered major changes in how we think about code. Looking to the future, you’ll
see both the impact of functional approaches and areas where C# probably won’t go.
The story would not be complete without cruising through adjacent libraries – the
venerable ASP.NET and rock-star Entity Framework that’s recovered so well from its
troubled childhood.You’ll leave this talk with a better understanding of the tool
you’re using today, and how it’s changing to keep you relevant in a constantly
morphing world.
Coding: 2 Advanced: 2
“In the beginning there was…” Take a look back at over 15 years of .NET and C#
evolution and look into the future driven by enormous underlying changes. Those changes are driven by a shift in perception of how .NET fits into the Microsoft
ecosystem.You’ll leave understanding how to leverage the .NET Full Framework,
.NET Core 1.0, .NET Standard at the right time. Changes in .NET paralleled changes in
the languages we’ll reflect on how far C# and Visual Basic have come and how they’ve
weathered major changes in how we think about code. Looking to the future, you’ll
see both the impact of functional approaches and areas where C# probably won’t go.
The story would not be complete without cruising through adjacent libraries – the
venerable ASP.NET and rock-star Entity Framework that’s recovered so well from its
troubled childhood.You’ll leave this talk with a better understanding of the tool
you’re using today, and how it’s changing to keep you relevant in a constantly
morphing world.
Coding: 2 Advanced: 2
“In the beginning there was…” Take a look back at over 15 years of .NET and C#
evolution and look into the future driven by enormous underlying changes. Those changes are driven by a shift in perception of how .NET fits into the Microsoft
ecosystem.You’ll leave understanding how to leverage the .NET Full Framework,
.NET Core 1.0, .NET Standard at the right time. Changes in .NET paralleled changes in
the languages we’ll reflect on how far C# and Visual Basic have come and how they’ve
weathered major changes in how we think about code. Looking to the future, you’ll
see both the impact of functional approaches and areas where C# probably won’t go.
The story would not be complete without cruising through adjacent libraries – the
venerable ASP.NET and rock-star Entity Framework that’s recovered so well from its
troubled childhood.You’ll leave this talk with a better understanding of the tool
you’re using today, and how it’s changing to keep you relevant in a constantly
morphing world.
Coding: 2 Advanced: 2
“In the beginning there was…” Take a look back at over 15 years of .NET and C#
evolution and look into the future driven by enormous underlying changes. Those changes are driven by a shift in perception of how .NET fits into the Microsoft
ecosystem.You’ll leave understanding how to leverage the .NET Full Framework,
.NET Core 1.0, .NET Standard at the right time. Changes in .NET paralleled changes in
the languages we’ll reflect on how far C# and Visual Basic have come and how they’ve
weathered major changes in how we think about code. Looking to the future, you’ll
see both the impact of functional approaches and areas where C# probably won’t go.
The story would not be complete without cruising through adjacent libraries – the
venerable ASP.NET and rock-star Entity Framework that’s recovered so well from its
troubled childhood.You’ll leave this talk with a better understanding of the tool
you’re using today, and how it’s changing to keep you relevant in a constantly
morphing world.
My other talks at SDDConf
• Session: C# 6 & below • Session: C# 7 & above
• Session: Visual Studio Tips and Tricks
• Workshop: I will make you a better C# programmer
Independent?
What do I know about this history stuff?
• Trained as a research chemist
• X-Ray crystallographer & electrochemist with interest in active sites of proteins
• Worked in the Microsoft languages space since about 1996
• Previously, Clipper, Fortran, C, C++, FORTH, BASIC, 4GLs
• Microsoft MVP since 1998, recognized for community work since 1980’s
• I care a lot about community and people in it
• Do NOT work for Microsoft
• Do respect a lot of people that work at Microsoft (and other places)
• Have been giving language feedback since VB4 beta
• Contributed at every MVP summit and a number of private design meetings
C++
Circa 2000
Visual Basic
Circa 2000
Road ahead
Circa 2000
OTHER THINGS WERE ALSO
HAPPENING AT THE END
OF THE LAST CENTURY
AND THEN CAME…
- JAVA
- .NET
- JAVA
- .NET
- JAVA
- .NET
• Strongly and statically typed with manifest • Object oriented, class based • Semi-interpreted (JVM)
• Garbage collected (traced)
• Curly braces
• Strongly and statically typed with manifest • Object oriented, class based • Semi-interpreted (MSIL)
• Garbage collected (traced)
• Curly braces (C#)
- • Reflection
- • Reflection
- JAVA
- .NET
- • Arbitrary precision (library)
- • Unsigned ints, decimal (now imaginary, etc.)
- • All types have common root
- • Primitive types do not have common root
• Primitives wrapped for methods • Primitive and reference types
• All types: methods, properties, interfaces • Value and reference types • Defined operators (inclusion of new types)
• Enumerations are bit manipulation of integers
• Delegates
• Enumerations are class based
• Wrappers and adapters
THE RACE WAS ON…
EFFECT ON .NET
• Different goals
• C# • Visual Basic
EFFECT ON .NET
• Different goals
• C#:
Convert Java programmers
• Visual Basic: Keep existing VB developers