InfoQ Homepage C# Content on InfoQ
-
AWS Introduces the .NET Annotations Lambda Framework in Preview
Recently, AWS introduced a new framework for writing .NET 6 Lambda functions called Lambda Annotations. This framework was built alongside the .NET 6 managed runtime for Lambda released last February.
-
ASP.NET Core 6 to Challenge Python and Node
ASP.NET Core 6 will allow developers to build REST APIs using a single-file model similar to basic Python and Node applications. Under this model, developers will no longer need to create a Program class, a Startup class, or Controller classes.
-
Mercury Brings Visual Basic to Feature Parity with C# and Adds Multiple Platform Support
RemObjects Mercury refreshes Visual Basic for .NET by adding support for current .NET features while also making it available for more platforms, including WebAssembly, iOS, Android, and Linux.
-
Effectful Effects - Unifying Bidirectional Communication between Software Components
Yizhou Zhang, assistant professor at the University of Waterloo, presented bidirectional algebraic effects, a new programming abstraction that subsumes current control flow patterns (e.g., exceptions, promises, generators) while supporting bidirectional control flows. With the new typed abstraction, all declared effects are handled, and no effects are accidentally handled by the wrong handler.
-
.NET News Roundup - Week of April 5th, 2021
The last week was an eventful one for the .NET community, with multiple releases from Microsoft - including the third preview for .NET 6, ASP.NET Core, MAUI, and EF Core 6. InfoQ examined these and a number of smaller stories in the .NET ecosystem from the week of April 5th, 2021.
-
C# 9 Released with Records, Init-Only Setters, and Pattern Matching Enhancements
Microsoft shipped out C# 9.0 as a part of the .NET 5 development platform release. .NET 5 is paired with C# 9.0, which brings many new features to the language. The new language features include records, init-only setters, top-level statements, pattern matching enhancements, target-typed new expressions, covariant returns and much more!
-
Microsoft Using Metadata to Enable Idiomatic Win32 Interop from Rust and Other Languages
In a move to make it easier to use Win32 APIs from any language, Microsoft has launched its Win32 Metadata project with the aim of generating complete Win32 language bindings through automated, idiomatic projections. The project includes initial projections for C#, C++, and Rust.
-
Infer# Brings Facebook's Infer Static Analyzer to C# and .NET
With Infer#, Microsoft extends the choice of static analyzers available within the .NET ecosystem by bringing Facebook Infer's inter-procedural static analysis capabilities to it.
-
Microsoft .NET Conf 2020: .NET 5, C# 9.0, F# 5.0, and More
At the 2020 edition of .NET Conf, streamed online last week, Microsoft released the much-awaited .NET 5, along with new major .NET language versions (C# 9 and F# 5), ASP.NET 5, and EF Core 5.0. New versions of Visual Studio 2019 were also released, with support for .NET 5 and improved Git tooling. The event also featured sessions covering tools and frameworks such as Blazor and Project Tye.
-
The Resurgence of Functional Programming - Highlights from QCon Plus
The Resurgence of Functional Programming track at QCon Plus featured several experts describing how functional programming makes developing software a joyful experience. They also told why and how object-oriented languages such as C# and Java are evolving by becoming more functional.
-
C# 9: Minor Improvements for Lambdas
Lambdas will be getting a small upgrade in C# 9 with two new features: discard parameters and static anonymous functions. Neither will change the way code is written, but they do clarify the developer’s intent.
-
C# 9: Range Operators in Switch Constructs and Pattern-Matching Expressions
Since C# was first introduced, developers have complained about the lack of a range operator in switch constructs. This made switches far less useful in C# than they were in VB. As part of the pattern-matching enhancements for C# 9, this limitation has been addressed.
-
C# 9: New `and`, `or`, and `not` Keywords for Pattern Matching
Though it may sound like our occasional April Fools Day joke, C# 9 is looking to add `and`, `or`, and `not` to its list of keywords. Specifically, for use in pattern matching.
-
C# Futures: Null Check Operator
In the June 24th C# Language Design Meeting, Microsoft made a subtle change to the parameter null checking syntax. By changing it from “Type parameterName!” to “Type parameterName!!” they effectively introduced a new ‘null check operator’.
-
C# 9: Type Inference for the New Keyword
In many situations, there is only one possible type allowed in a given place. And yet C# still requires you to explicitly list the type. Now that the Target-typed `new` expression proposal has been adopted into C# 9, such boilerplate code will no longer be necessary.