What version of C# are you using?
-
Tim Carmichael wrote:
Regardless of the version, are you capable of performing the tasks assigned? Yes, newer version may have newer features, but are they necessary to perform the task?
In the short term these questions are reasonable. In the long term? Not so much. The more any IDE/framework/package/library/etc ages, the less likely it is to upgrade cleanly when jumping multiple versions. Old features are deprecated and later removed, etc., forcing extensive rework. As Murphy says, pretty much anything that can go wrong, will go wrong. "well, just re-write it!" Every time someone says that I roll my eyes. It's rarely that simple. All too often the organization is either behind or barely keeping up on current things, so adding a rewrite in just doesn't fit. Ideally I agree with re-writing, but my idealism died a long time ago ... On the other hand, starting with a relatively new version of everything is a good choice. It puts off the need to upgrade longer than starting with older version(s). When the newest version becomes stable (in the case of Microsoft, after the 2nd service pack is released :) ) compile the program in the new version. If the compile is clean, keep it. If it's not clean, look at the problems and triage. Another reason for keeping current is hiring. Need new people? Good luck finding someone good who wants to work in technology that is 3 to 5 revs back. Been there, it truly sucks to find an excellent candidate with all the right skills and great references ... who looks at me like I'm nuts when I tell 'em what versions that company mandated. :doh: My current project is VS2015, C# 6, .NET 4.6. Once the project goes to Production, we'll evaluate if going to VS2017/C# 7/.NET 4.6.2 is a good idea. We will not upgrade in mid-development -- there's nothing in the newer version we need although we know we don't need the headache of a mid-stream upgrade. Once the product goes to production we'll evaluate the newer versions. It is likely that the next project will be VS2017/etc., although at this time CORE is not on the plate as we don't need it.
So, we went from DLL Hell, to IDE Hell, to IDE+C# Version Hell... Since the first one affected USERS, it had to be fixed. But I cringe at the versioning going on with .NET and C# versions. And how old projects never recompile cleanly on a new VS version. Thankfully we have VMs. But I totally understand managing the build cycles and defining how/what we support. Otherwise you get a mismatch of requirements for the products across the enterprise. So much complexity...
-
So, we went from DLL Hell, to IDE Hell, to IDE+C# Version Hell... Since the first one affected USERS, it had to be fixed. But I cringe at the versioning going on with .NET and C# versions. And how old projects never recompile cleanly on a new VS version. Thankfully we have VMs. But I totally understand managing the build cycles and defining how/what we support. Otherwise you get a mismatch of requirements for the products across the enterprise. So much complexity...
Honestly, C# isn't that bad. My biggest headaches were trying to staff a Java project where the client mandated all components were versions 3 to 6 years old. Kept finding good people who had no interest in working with old technology. As both a consultant and an FTE, I agree with that. We need to focus on building and maintaining our resume so that we remain marketable. Working in "ancient" technology doesn't often help in finding that next contract/job.
-
R. Giskard Reventlov wrote:
next project will be .Net Core 2
Writing for Linux, Android, iOS, or MacOS? Otherwise, there is no reason to specify .NET Core 2.0 or NET Standard 2.0. If the program runs on Windows only, then the full .NET Framework is the best choice. That said, I use .NET Standard 2.0 for my new library projects, so they are portable to other OSs, since I am associated with projects for iOS, Android, and Linux.
Hey! it's bright and shiney and new - don't need any other reason to use it! :-)
-
If you use C#? Where I work, we're still on C# [edit] 4 [/edit] 5, with C# 6 or 7 "not in the foreseeable future." X| :elephant: 'ing archaic. Just found out the remote build only targets C# 4. :laugh:
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
I am still using the version of C# that is installed with Visual Studio 2015/SP3 for my military simulation development. For all intents and purposes, whether it is for business, game development, serious simulations, or scientifics, and internals, there is nothing really critically important in any of the new C# versions coming out. Most new features are either different ways of doing the same things that were being done previously or some fine-tuned optimizations, few of which will be really noticeable. That being said, if a new version of C# is released with a feature that is sorely needed for a specific requirement than an upgrade should be considered. Other than that, upgrading simply allows the developer to say he or she is using the latest version...
Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com
-
If you use C#? Where I work, we're still on C# [edit] 4 [/edit] 5, with C# 6 or 7 "not in the foreseeable future." X| :elephant: 'ing archaic. Just found out the remote build only targets C# 4. :laugh:
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
If you use C#? Where I work, we're still on C# [edit] 4 [/edit] 5, with C# 6 or 7 "not in the foreseeable future." X| :elephant: 'ing archaic. Just found out the remote build only targets C# 4. :laugh:
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
What about security? Where I am working, we absolutely need to keep up with the latest versions of the .NET runtime and JVM because of security issues in older versions (yes, and patch the newer versions). I am currently working with VS 2015 update 3 but will move to 2017 as the software engineering organization moves to it.
-
If you use C#? Where I work, we're still on C# [edit] 4 [/edit] 5, with C# 6 or 7 "not in the foreseeable future." X| :elephant: 'ing archaic. Just found out the remote build only targets C# 4. :laugh:
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
C# 7.1. But I'm doing a "staff upgrade" on myself. The thing about new language features is not so much what one feature can add, but how together they change the way you code and think about solutions.
-
abmv wrote:
Its hard to fix things that aren't broken...
What's broken is we're all using VS 2015 but the remote build process is still building with C# 4. So, if you don't remember to set the "use C# version" under build -> advanced to 4.0, it's easy to write a lot of code using C# 5 or 6 features, only to discover the remote build fails. Or worse, as in my case, you find a snazzy open source package that uses C# 6.0 syntax.
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
abmv wrote:
Its hard to fix things that aren't broken...
What's broken is we're all using VS 2015 but the remote build process is still building with C# 4. So, if you don't remember to set the "use C# version" under build -> advanced to 4.0, it's easy to write a lot of code using C# 5 or 6 features, only to discover the remote build fails. Or worse, as in my case, you find a snazzy open source package that uses C# 6.0 syntax.
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
Our build server is set up for C#5, but I just include the latest Microsoft.Net.Compilers nuget package into my project and the build server uses that version to build my code. So, I have never had to change the build server and can always use the latest version of C#.
-
Our build server is set up for C#5, but I just include the latest Microsoft.Net.Compilers nuget package into my project and the build server uses that version to build my code. So, I have never had to change the build server and can always use the latest version of C#.
Member 12512543 wrote:
Our build server is set up for C#5, but I just include the latest Microsoft.Net.Compilers nuget package into my project and the build server uses that version to build my code.
That's sneaky. I will have to try that. :)
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
Marc Clifton wrote:
:elephant:'ing archaic.
A new emoji! :omg:
Jeremy Falcon
Jeremy Falcon wrote:
A new emoji!
Enjoying the :sunshine: too much? ;)
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
I freelance, so I'm using 7.1 :)
"'Do what thou wilt...' is to bid Stars to shine, Vines to bear grapes, Water to seek its level; man is the only being in Nature that has striven to set himself at odds with himself." —Aleister Crowley
Brady Kelly wrote:
I freelance, so I'm using 7.1
Aye, as do I with my side-freelance projects. :)
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
You think you have it rough, try using C# 7 while your projects target .NET Framework 2.0 or 3.0 ...
Mario Z wrote:
You think you have it rough, try using C# 7 while your projects target .NET Framework 2.0 or 3.0 ...
Ugh. :(
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
I am still using the version of C# that is installed with Visual Studio 2015/SP3 for my military simulation development. For all intents and purposes, whether it is for business, game development, serious simulations, or scientifics, and internals, there is nothing really critically important in any of the new C# versions coming out. Most new features are either different ways of doing the same things that were being done previously or some fine-tuned optimizations, few of which will be really noticeable. That being said, if a new version of C# is released with a feature that is sorely needed for a specific requirement than an upgrade should be considered. Other than that, upgrading simply allows the developer to say he or she is using the latest version...
Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com
Steve Naidamast wrote:
here is nothing really critically important in any of the new C# versions coming out.
Well, I'm noticing some open source projects that specifically target C# 7, like MoreLinq, though I suppose NuGet would resolve that, but I like to be able to build the latest OS code.
Steve Naidamast wrote:
or my military simulation development
Then again, the military probably frowns on using open source packages?
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
Jeremy Falcon wrote:
A new emoji!
Enjoying the :sunshine: too much? ;)
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
Hah. Actually yeah. As I get older I realized living too much behind a computer makes your life worse not better. Well, that and I'm looking for a job... again. Because my last contract crapped out. So when in job hunt mode I tend not to do stuff like visit CP. I like the :sunshine:!
Jeremy Falcon
-
What about security? Where I am working, we absolutely need to keep up with the latest versions of the .NET runtime and JVM because of security issues in older versions (yes, and patch the newer versions). I am currently working with VS 2015 update 3 but will move to 2017 as the software engineering organization moves to it.
Member 11354034 wrote:
What about security?
The IT department hasn't a clue. Oh sure, things are "secured" all over the place, requiring hoops to get access to a particular database or internal website. But that's about the extent of it. I'll have to add that to the "why we should upgrade the build server" reasons. Thanks!
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
C# 7.1. But I'm doing a "staff upgrade" on myself. The thing about new language features is not so much what one feature can add, but how together they change the way you code and think about solutions.
RandyBuchholz wrote:
The thing about new language features is not so much what one feature can add, but how together they change the way you code and think about solutions.
Yes!!!!
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
Steve Naidamast wrote:
here is nothing really critically important in any of the new C# versions coming out.
Well, I'm noticing some open source projects that specifically target C# 7, like MoreLinq, though I suppose NuGet would resolve that, but I like to be able to build the latest OS code.
Steve Naidamast wrote:
or my military simulation development
Then again, the military probably frowns on using open source packages?
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
Marc: The new projects you mention that are targeting a specific C# platform are actually targeting that version of the .NET Framework that has that level of C#, since they are one and the same. As a result, you would have to install that version of the .NET Framework for the version of C# you are looking for...
Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com
-
Marc: The new projects you mention that are targeting a specific C# platform are actually targeting that version of the .NET Framework that has that level of C#, since they are one and the same. As a result, you would have to install that version of the .NET Framework for the version of C# you are looking for...
Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com
Steve Naidamast wrote:
As a result, you would have to install that version of the .NET Framework for the version of C# you are looking for...
Yes, that thought occurred to me as I was driving to the grocery store. :)
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
Steve Naidamast wrote:
As a result, you would have to install that version of the .NET Framework for the version of C# you are looking for...
Yes, that thought occurred to me as I was driving to the grocery store. :)
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
HOWEVER, if you have Visual Studio installed, BE VERY CAREFUL how you upgrade the .NET Framework. You must use an update specific for the Visual Studio version you are using or you could have serious issues with the IDE. I learned this the hard way... :(
Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com