Author Topic: Developer survey: C# losing ground  (Read 13845 times)

0 Members and 3 Guests are viewing this topic.

Offline KarelTopic starter

  • Super Contributor
  • ***
  • Posts: 2539
  • Country: 00
Re: Developer survey: C# losing ground
« Reply #25 on: November 15, 2020, 07:35:20 am »
Be nice if that means they'll be replacing vba/.net/etc. with Python.

How? Python is extremely slow.

Also, that would mean we will have Python 2, Python 3, Python 4 and MS Python...

« Last Edit: November 15, 2020, 07:40:12 am by Karel »
 

Offline AlfBaz

  • Super Contributor
  • ***
  • Posts: 2187
  • Country: au
Re: Developer survey: C# losing ground
« Reply #26 on: November 15, 2020, 07:47:50 am »
Be nice if that means they'll be replacing vba/.net/etc. with Python.

How? Python is extremely slow.

Also, that would mean we will have Python 2, Python 3, Python 4 and MS Python...
We need to introduce Crocodile 1 to eat all the pythons
 

Offline Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11725
  • Country: my
  • reassessing directives...
Re: Developer survey: C# losing ground
« Reply #27 on: November 15, 2020, 08:32:04 am »
maybe C# is not good enough flute note to make the python sleep, i think we need to go back and polish the C++ note, thats the proven one. (Qt is our "The Last Hope")

Offline bd139

  • Super Contributor
  • ***
  • Posts: 23102
  • Country: gb
Re: Developer survey: C# losing ground
« Reply #28 on: November 15, 2020, 09:40:35 am »
Be nice if that means they'll be replacing vba/.net/etc. with Python.

How? Python is extremely slow.

Also, that would mean we will have Python 2, Python 3, Python 4 and MS Python...

It is quite slow. There is only Python 3 now :)

Go has eaten python’s lunch where performance is required now.
 

Offline SilverSolder

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Developer survey: C# losing ground
« Reply #29 on: November 15, 2020, 03:21:24 pm »
Meh. C# is slowly dying and I say that as someone who has been programming in it for nigh on 18 years. Ignore the metrics, ignore the marketing. The real sign is that most of the large enterprises which were primary customers for a large chunk of that period are chucking it out after being burned over and over again by massive costly breaking changes in the ecosystem and the associated abandonment by the open source contributors. The emperor changes clothes faster than a Eurovision presenter. On top of that the traditional userbase is being thoroughly gouged for cash by Microsoft on the self-hosting front to push them to the cloud so they can milk you for opex instead of capex. Now the issue is when you have the choice of moving to Microsoft's cloud or someone else's, someone else gets the business due to the better maturity and reliability ratings in the commercial due diligence reports. Then when you get there there's a whole lot of non C# ecosystem stuff treated as first class citizens which is sexy, works out of the box without tearing you a new arsehole every 5 minutes and gives you better ROI.

A fine example of the shit show that C# is, well the ecosystem. A little story broken down into bullet points about how to ruin a platform and trust with your customers.

1. 3MLOC C# web forms application dating back to 2002 and evolved since backed on SQL server on owned hardware.
2. Along comes Remoting/DNA fad from MS P&P. Chunks rewritten into semi distributed nightmare on advice.
3. Along comes WS-* fad from MS P&P. Chunks rewritten into even worse distributed nightmare on advice.
4. Along comes MVC from MS. UI rewritten using this and EF.
5. EF, WWF, Remoting, WS-* deprecated (yes all of them) and enough of MVC rewritten to break everything that's left (when they added async which is incidentally buggy as fuck even 10 years later with regular production deadlocks)
6. .Net core comes along. New approach is microservices (this is correct for this company). Huge swathes rewritten so it's portable to Linux, but deployed on windows while infrastructure is migrated.
7. Massive breaking changes in .Net Core while they consolidate the API with .Net standard. Huge changes required.
8. At this time they're pushing people to cloud so SQL licenses start going up 20% per year with some bigger jumps due to how they change core licensing.
9. Another set of massive breaking changes to the entire web pipeline which causes 3 months wall clock work for 3 people across 120 microservices.
10. Try to get this shit working in kubernetes on linux and you find that the certificate store implementation is STILL based on the shitty half arsed APIs written in 2002 which has an abstraction which doesn't make sense on any platform other than windows resulting in 2 month delay on a project while people work out how to do cert management with hashicorp vault in this environment which ends up in a whole chunk of sticky tape and string just to get it out of the door.
11. Along comes MSFT and says they're going to rebrand it all .Net 5.
12. Everyone goes FUCK YOU we've had enough of this shit. No new projects on .Net / C#

So the UI is going in the direction of React and Electron and the back end is Go, Python or Node. And the storage engine is going postgres. And this is all on AWS. And the grass is greener. There's some poo dotted around on it but it's not up to your neck.

That's why C# is dying: Lots of people experienced with it don't want to get hurt any more.

This is the way MS works with every product they have, it seems -  keep changing stuff that works,  keep randomly changing the UI, keep adding fluff -  resulting in products that are rarely allowed to mature and become the truly cost effective "no brainer" choice that they so easily could have been.

Funnily enough, I am beginning to see that open source software is much, much better on this front.  E.g. I was playing with Audacity the other day, downloaded the latest version just to have the most recent fixes.  What did I find?  -  a very familiar product that hasn't changed much in UI terms,  but instead has real and useful improvements and enhancements that doesn't break existing paradigms.

It seems to me that when things are made "for profit", the temptation is simply too strong to turn the product into a fashion accessory that has to be replaced annually to stay "on trend", with the arrival of the new Colour of the Year and fresh faces on the catwalk!

 

Offline bobcat2000

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Developer survey: C# losing ground
« Reply #30 on: December 15, 2020, 05:32:54 am »
I think C# is doing very good considering the top 5 in the list are free.  You have to shell out $700 clams as minimum to buy a copy of Visual Studio from Microsoft.  I worked with some big companies.  They all use C#.  The smaller mom-and-pa ones all use the free stuffs like PHP.

 

Online Berni

  • Super Contributor
  • ***
  • Posts: 5370
  • Country: si
Re: Developer survey: C# losing ground
« Reply #31 on: December 15, 2020, 06:41:11 am »
Id say C# is great at doing what it was made for, easy desktop app development.

Microsoft always cared about the developers that make apps for there OS so they have been providing VisualStudio for the last 25 years as THE way of making Windows apps. Back then it mainly gave C++ and VB to its users. If you needed to make a big high performance app you used C++ if you just wanted a quick tool to automate some CSV file number crunching you used VisualBasic.

Now days VisualStudio provides a whole zoo of languages because Windows developers wanted to use them. Heck it even supports building and remote debugging for Linux. But at the forefront in VisualStudio are now C++ and C# (Well you can still use VB.net if you really want). Its popularity lead to .net languages becoming even cross platform.

Sure C# has some flaws but otherwise it is a very good high level language. It has plenty of features and library support while still being almost as performant as C++. Transition from C++ to C# is pretty smooth since it uses the same syntax and even porting code from C++ to C# is easy. And lets be honest what other languages apart from C++ and C# are you going to use to develop windows apps?
 

Offline newbrain

  • Super Contributor
  • ***
  • Posts: 1906
  • Country: se
Re: Developer survey: C# losing ground
« Reply #32 on: December 15, 2020, 08:15:34 am »
Id say C# is great at doing what it was made for, easy desktop app development.
Note that I'm not a C# developer in any way shape or form, and I only dabbed in the language many years ago (when it was new), so my experience, while not exactly zero, is very close to nought.

Two weeks ago, I designed (big word) and built a small HW watchdog from my Hyper-V server*.
I needed a service/daemon to kick it periodically, so I decided to write a Windows service.

In one afternoon I managed to write and test a Windows service that:
  • is perfectly integrated in the service life cycle (Start/Stop/Enable/Disable etc.)
  • reads and writes in separate threads to all available USB and real serial ports
  • uses Windows logging system with a custom log, visible in Event Viewer
  • is only about 100 lines of code (apart from some auto inserted boilerplate)

All of this in C# in Visual Studio Community.
I'm convinced that using any other language would not have been this easy and painless.
And, honestly, the language is quite interesting - though I'm sure I've used it in a very naïve and novice way.

* It hosts all of my remotely accessible stuff in a number of VMs, and I had experienced a couple of brown-outs that left it hanging.
   Since I was going away for more than one month, I wanted to make sure it got rebooted properly in case of a hang.
   It's based on a MKE04 Kinetis I had lying around, and it will reset the server (with escalation to a full power-off + power-on) if not kicked by disk activity plus messages on the serial.
Nandemo wa shiranai wa yo, shitteru koto dake.
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 23102
  • Country: gb
Re: Developer survey: C# losing ground
« Reply #33 on: December 15, 2020, 09:23:05 am »
It probably looks like it works. Watch out for threads and service shutdowns. Sometimes the two are fairly incompatible and will hang service manager. Never as easy as it looks unfortunately.

On the subject of C# I will never have to use it or Windows again now. I am so happy. Writing Go and Python  :D
 
The following users thanked this post: newbrain

Offline newbrain

  • Super Contributor
  • ***
  • Posts: 1906
  • Country: se
Re: Developer survey: C# losing ground
« Reply #34 on: December 15, 2020, 09:33:13 am »
It probably looks like it works. Watch out for threads and service shutdowns. Sometimes the two are fairly incompatible and will hang service manager. Never as easy as it looks unfortunately.
Thanks!
Threads are joined when receiving the service stop event/callback/whatever is called, so it might hang there for a short time but will cleanly shutdown in the end (I tested it, though on another machine).
Nandemo wa shiranai wa yo, shitteru koto dake.
 
The following users thanked this post: bd139

Offline KarelTopic starter

  • Super Contributor
  • ***
  • Posts: 2539
  • Country: 00
Re: Developer survey: C# losing ground
« Reply #35 on: December 15, 2020, 10:48:28 am »
I worked with some big companies.  They all use C#.

In case of windows, yes, but that's a minority. The computerworld is much bigger than the desktopmarket.
Guess what's the most used operating system in the world. Hint, it's not windows...
 

Offline bobcat2000

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Developer survey: C# losing ground
« Reply #36 on: December 15, 2020, 05:11:39 pm »
Talking about minority.  I worked with a client who had an IBM server the size of a small refrigerator.  They were hiring people to do COBOL.  I was amazed to see this huge trunk of relic could still run 24/7 for so long.
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 23102
  • Country: gb
Re: Developer survey: C# losing ground
« Reply #37 on: December 15, 2020, 05:24:44 pm »
I am currently replacing three of those  :-DD
 

Offline SilverSolder

  • Super Contributor
  • ***
  • Posts: 6126
  • Country: 00
Re: Developer survey: C# losing ground
« Reply #38 on: December 15, 2020, 06:31:29 pm »

[...] I bet in a few years Windows would be MS Wine and a bunch of user land apps running on top of a locked down Linux [...]

It looks like MS is slowly moving that way, adding more and more Linux style functionality to Windows.
 

Offline bobcat2000

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Developer survey: C# losing ground
« Reply #39 on: December 15, 2020, 06:37:23 pm »
The bigger companies I worked for before cannot use the free stuffs from MS.  This may be one of the factor why C# is losing ground.

"... If you are an enterprise, your employees and contractors may not use the software to develop or test your applications, except for: (i) open source; (ii) Visual Studio extensions; (iii) device drivers for the Windows operating system; (iv) SQL Server development; and, (v) education purposes as permitted above.

An “enterprise” is any organization and its affiliates who collectively have either (a) more than 250 PCs or users or (b) one million U.S. dollars (or the equivalent in other currencies) in annual revenues, and “affiliates” means those entities that control (via majority ownership), are controlled by, or are under common control with an organization."
 

Offline bobcat2000

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Developer survey: C# losing ground
« Reply #40 on: December 15, 2020, 06:49:05 pm »
I am currently replacing three of those  :-DD

The machine was amazing.  What was even more amazing was that some college grads actually went there for the interview for COBOL programming.  The HR people were dead serious in the interview.
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 23102
  • Country: gb
Re: Developer survey: C# losing ground
« Reply #41 on: December 15, 2020, 07:07:47 pm »
The bigger companies I worked for before cannot use the free stuffs from MS.  This may be one of the factor why C# is losing ground.

"... If you are an enterprise, your employees and contractors may not use the software to develop or test your applications, except for: (i) open source; (ii) Visual Studio extensions; (iii) device drivers for the Windows operating system; (iv) SQL Server development; and, (v) education purposes as permitted above.

An “enterprise” is any organization and its affiliates who collectively have either (a) more than 250 PCs or users or (b) one million U.S. dollars (or the equivalent in other currencies) in annual revenues, and “affiliates” means those entities that control (via majority ownership), are controlled by, or are under common control with an organization."

They’re going to die. I’ve watched half the European finance sector with that restriction getting replaced with far more agile companies.
 

Online Berni

  • Super Contributor
  • ***
  • Posts: 5370
  • Country: si
Re: Developer survey: C# losing ground
« Reply #42 on: December 15, 2020, 07:17:14 pm »
I worked with some big companies.  They all use C#.

In case of windows, yes, but that's a minority. The computerworld is much bigger than the desktopmarket.
Guess what's the most used operating system in the world. Hint, it's not windows...

Yep if you include mobile OSes its Android.

And what languages do people develop for Android? https://www.geeksforgeeks.org/top-programming-languages-for-android-app-development/
- Java
- Koltin
- C#
- C++
..etc

Apart from Koltin (That is a special android only language) all of the others are languages that are used for developing PC apps from before Android even existed.

You can't say a language is dead just because its not commonly used on the most common OS (Tho C# is commonly used on android). Certain languages are good for doing certain things. For example, C++ is by far the most popular in making 3D game engines, but making one in pure python would be horrible. Just because Python is not usable for that and it has crappy performance doesn't automatically make it a bad or useless language. Trying to do the high level quick scripting tool job of Python using C++ would be a horrible experience.

If the Windows desktop is such a niche market then why are so many companies creating so many apps exclusive for Windows while also charging thousands of dollars for a licence (sometimes for just an annual license). They must be crazy for making their app run on only such a niche platform. Imagine what sort of sales Altium Designer could make if they ported it from being Windows only to also supporting Android, add iOS into the mix and that is like 5x the user base easy!.... <sarcasem mode=off> Just like languages all have their place so do platforms. If you are creating a freemium casual game you most probably want it on Android and iOS, nobody will play that on a PC. If you are making an FPGA development tool you probably want to target a Windows PC since that's what engineers use. If you are making a more creative type application such as video editing you proabobly also want to support MacOS since that's what the target audience uses. If you are making a SQL server you proabobly want to target Linux because that's what most users will want to run it on. Use the appropriate platform for the job.
 

Offline bobcat2000

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Developer survey: C# losing ground
« Reply #43 on: December 15, 2020, 07:46:26 pm »
They’re going to die. I’ve watched half the European finance sector with that restriction getting replaced with far more agile companies.

The restriction is not a too big of factor.  They have money and need write off.  The problem is that they cannot use anything else.  The among of records they need to process is humongous.  It is either C++ or else.  I guess C# is the closet.
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 23102
  • Country: gb
Re: Developer survey: C# losing ground
« Reply #44 on: December 15, 2020, 08:02:00 pm »
They’re going to die. I’ve watched half the European finance sector with that restriction getting replaced with far more agile companies.

The restriction is not a too big of factor.  They have money and need write off.  The problem is that they cannot use anything else.  The among of records they need to process is humongous.  It is either C++ or else.  I guess C# is the closet.

I can’t name a single industry where this isn’t a self inflicted restriction because it’s run by people living with their head up in the clouds in an ivory tower. I regularly design and build 100k TPS size systems with data corpus in the tens of terabytes. And that’s with higher level languages such as python for example. I don’t buy this argument at all.

I’ve worked in defence (DV cleared), insurance and finance sectors which are the highest risk for ref.
 

Offline bobcat2000

  • Regular Contributor
  • *
  • Posts: 218
  • Country: us
Re: Developer survey: C# losing ground
« Reply #45 on: December 15, 2020, 08:39:57 pm »
That's why Python is on top of the list.
 

Online Bud

  • Super Contributor
  • ***
  • Posts: 7920
  • Country: ca
Re: Developer survey: C# losing ground
« Reply #46 on: December 15, 2020, 08:58:23 pm »
I am curious how you deal with version incompatibility in python? I just cant imagine how is python so great, as a *user* i have to track down  which version of python  each goddamn piece of shit was written in.
Facebook-free life and Rigol-free shack.
 

Offline bd139

  • Super Contributor
  • ***
  • Posts: 23102
  • Country: gb
Re: Developer survey: C# losing ground
« Reply #47 on: December 15, 2020, 09:05:36 pm »
Rarely an issue in practice. You usually pick the latest system python3 and pull all the dependencies in with pip and venv  :-//

Honestly I prefer Go now though. I like a typed, compiled language that farts out one static binary better. But not one with VM baggage. Nothing worse than trying to debug a C# app wedged in a container that takes 15 minutes to start while it pisses around doing JIT (!). Or having to write venv wrappers.
« Last Edit: December 15, 2020, 09:09:05 pm by bd139 »
 

Offline KarelTopic starter

  • Super Contributor
  • ***
  • Posts: 2539
  • Country: 00
Re: Developer survey: C# losing ground
« Reply #48 on: December 15, 2020, 09:56:59 pm »
I worked with some big companies.  They all use C#.

In case of windows, yes, but that's a minority. The computerworld is much bigger than the desktopmarket.
Guess what's the most used operating system in the world. Hint, it's not windows...

Yep if you include mobile OSes its Android.


Nope, also if you take Android out of the equation, Linux is the most used OS.
Think about your wifi-router, your television, your navigation system, many of them are running some form of Linux.
Most (internet)servers are running Linux. Even most of microsofts' azure instances are running Linux...

The desktop is the only place where Linux isn't king.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21608
  • Country: us
Re: Developer survey: C# losing ground
« Reply #49 on: December 15, 2020, 11:03:07 pm »
I am curious how you deal with version incompatibility in python? I just cant imagine how is python so great, as a *user* i have to track down  which version of python  each goddamn piece of shit was written in.

We stuck with Python2 for a long time, then about a year and a half ago we updated to Python3 once some of the modules we depend on had been verified as compatible. I don't recall hitting any other incompatibilities with minor version updates.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf