What version of C# are you using?
-
Its hard to fix things that aren't broken...
Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
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
-
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
4.5.1 though the next project will be .Net Core 2. Oh joy.
-
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
The latest build of C#. VS 2017.
-
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
Marc Clifton wrote:
:elephant:'ing archaic.
A new emoji! :omg:
Jeremy Falcon
-
GKP1992 wrote:
Though the "cool" features don't come in play much.
My favorites are the null continuation and tuple features. :jig:
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
-
It's a few weeks old now. Can't believe you did not notice.
I am not the one who knocks. I never knock. In fact, I hate knocking.
Been here off and on. A new icon looks good on CP. :thumbsup:
Jeremy Falcon
-
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 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
-
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
2017/7 I like the ValueTuple struct facility, and am enjoying exploring the other features the way a one-eyed cat looks in a seafood store :
«While I complain of being able to see only a shadow of the past, I may be insensitive to reality as it is now, since I'm not at a stage of development where I'm capable of seeing it. A few hundred years later another traveler despairing as myself, may mourn the disappearance of what I may have seen, but failed to see.» Claude Levi-Strauss (Tristes Tropiques, 1955)
-
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
-
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?
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.
-
4.5.1 though the next project will be .Net Core 2. Oh joy.
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.
-
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