5 ms·
Same feeling. I've started C# by myself around 2008 first with the command line compiler then VS 2008. My skills matured at the same time the language evolve,
by tasogare 7y ago
Same feeling. I've started C# by myself around 2008 first with the command line compiler then VS 2008. My skills matured at the same time the language evolve, and while I always lag a few years behind the new features I still can keep up to date.
Now, for someone new the features set, the various keyword overloads and the magic syntactic sugar can make it hard to tame. Back then, It was mostly a (slightly) better Java. It has evolved into something totally different, that often tries to mimic F# while still keeping the familiar curly-race syntax, which makes things awkward at time. C# is my main language, but sometime I feel like there should be a fork, with a legacy C# that keep being ported to new frameworks and platforms, and a new branch where feature creep can continue go wild.
- GordonS 7y ago> sometime I feel like there should be a fork, with a legacy C# You don't have to use language features you dislike. If you want to prevent them being used, you can set the c# language level to an old version using the LangVersion element in your csproj file. if working in a team, your team members are unlikely to thank you!
- UK-Al05 7y agoThink it's more about preventing use of older features which you don't want. Not stopping use of the new stuff.
- GordonS 7y agoThat's not how I read the parent post at all?
- ygra 7y agoDepends. If people on the team are using different versions of Visual Studio or the compiler, they will be thankful that they can still build the code. For us, the language features we can use internally are dictated by our own compiler to translate the code to JS and Java and yes, a null check is somewhat verbose compared to ?., but in such cases it can be important to restrict the language level, even if you could locally use a newer one. We're also, for compat reasons, building the code on the build server with basically VS 2010 to ensure that there's nothing in it that .NET 4.0 can't handle. Customers can sometimes be very_ conservative and value this kind of thing.
- moron4hire 7y agoYou can set the language level in your project settings. It's under the assembly information.
- GordonS 7y agoWas on mobile and messed up italics in my parent comment (can't edit it now), it should have read: If you want to prevent them being used, you can[0] set the c# language level to an old version using the LangVersion element in your csproj file. [0] if working in a team, your team members are unlikely to thank you!