11 Replies - 2184 Views - Last Post: 16 June 2015 - 09:47 AM

#1 andrewsw  Icon User is offline

  • lashings of ginger beer
  • member icon

Reputation: 6340
  • View blog
  • Posts: 25,565
  • Joined: 12-December 12

Growth of C#

Posted 12 June 2015 - 09:36 AM

A recent post asked if C# was in decline. I think it is much the reverse and am interested in some more informed opinions to gain a perspective on where C# is, and where it is heading. My own experience is pretty limited to WinForms, WPF and an occasional glance towards ASP.NET, so please excuse the naivety of some of my questions!

Game Programming

I don't write games but is C# gaining traction as a gaming platform/language? Unity is cross-platform. There's also MonoGame. If people can write cross-platform games successfully in C# does this mean that it is stepping on Java's toes?

Desktops

WinForms and WPF are stable. I presume that companies will continue to invest in these for a long time to come; they want desktop apps to integrate with their databases and internal applications or web services?

There are Window 8/10 apps as well, but I see these as more for individuals with tablets and touchscreens. Am I mistaken?

Mobiles

I believe there are tools and frameworks to allow people to code in C# and migrate to Android (Java). This obviously benefits C# programmers, but Android/Java programmers won't have a reason to switch language, will they? (There's Windows Mobile phones as well, but these are a relatively small market.)

Personally, I'm quite positive about the future of C#.

Tiobe should be taken with a large pinch of salt, but here's a screenshot:

Posted Image

Is This A Good Question/Topic? 0
  • +

Replies To: Growth of C#

#2 Martyr2  Icon User is online

  • Programming Theoretician
  • member icon

Reputation: 5061
  • View blog
  • Posts: 13,656
  • Joined: 18-April 07

Re: Growth of C#

Posted 12 June 2015 - 11:45 AM

I would say that C# is steady with a slow growth pattern. It is not shattering the programming world but it is definitely maturing and is really the language of choice for .NET developers in large these days. It has a strong following in the ASP.NET world (which I use it for e-commerce platforms) and is certainly making VB.NET appear a little dated.

I don't expect it to crack into Tiobe's top 3. Java/C/C++ have been pretty much anchored there for quite some time. What will certainly be interesting is to see what happens when Python gets a bit closer.

I think C# has a long prosperous future as a language as long as Microsoft can quit dicking around with introducing all this sugar syntax they have been doing lately. And with the fact that Microsoft has begun opening up the .NET core it will help C# even gain a bit more popularity.

:)
Was This Post Helpful? 1
  • +
  • -

#3 Skydiver  Icon User is online

  • Code herder
  • member icon

Reputation: 5825
  • View blog
  • Posts: 19,843
  • Joined: 05-May 12

Re: Growth of C#

Posted 12 June 2015 - 12:06 PM

Not only opening up the core, but also having the lexer/parser through Roslyn and other endeavors like C# to native adds extra dimensions to the mindshare grab.
Was This Post Helpful? 0
  • +
  • -

#4 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon


Reputation: 6966
  • View blog
  • Posts: 14,572
  • Joined: 16-October 07

Re: Growth of C#

Posted 12 June 2015 - 01:25 PM

As long as there is Windows, there will be C#. First, let's get this out of the way: in spite of Mono, C# outside of Windows is basically doomed. Or, rather, hasn't changed much at all.

For Windows, though, C# is love. Any new toy Microsoft comes out with will start in both .NET and C#. C# is THE .NET language. (Equal to, if not greater than, that other primary .NET language, VB. ) Even as Microsoft tries to embrace Javascript/HTML5 Webby stuff, they still hold .NET for interop to the OS.

Even though it's an odd fit, C# will still find it's way into the MS app store. Fundamentally, the question is not about the growth of C#, but that of Microsoft itself. Answer one, you answer the other.
Was This Post Helpful? 2
  • +
  • -

#5 tlhIn`toq  Icon User is offline

  • Xamarin Cert. Dev.
  • member icon

Reputation: 6505
  • View blog
  • Posts: 14,357
  • Joined: 02-June 10

Re: Growth of C#

Posted 13 June 2015 - 06:43 AM

Quote

If people can write cross-platform games successfully in C# does this mean that it is stepping on Java's toes?

So what if it does?

Quote

WinForms and WPF are stable. I presume that companies will continue to invest in these for a long time to come; they want desktop apps to integrate with their databases and internal applications or web services?

Desktop applications do a lot more than just integrate to databases. Sure there are plenty of programs that do. But I'm sure there are a lot more that don't, from calculators to photography applications. Photoshop doesn't integrate to someone's db or web service for example. Countless programs are self contained. They run CnC mill machines, 3d printers... Hell I have a laptop that runs a desktop application connected to my sewing machine for doing embroidery. I've written software for monitoring outboard engines, amusement park photography, pallet loading, tombstone design... None of which used databases or web services.

Quote

There are Window 8/10 apps as well, but I see these as more for individuals with tablets and touchscreens. Am I mistaken?

Yes. And No. I think you're referring to 'metro' apps. But Windows 8 & 10 run actual desktop programs, not just 'apps'. I differentiate the two as 'programs' and 'apps', but that's hardly an industry standard. Touchscreens have been around for decades. Point of Sale systems I wrote years ago used them. Today's *multi-point* touchscreens that recognize gestures are new. The ability to swipe 3 fingers from left to right as a way to open the preferences is new. But gesture recognition isn't a requirement, its a feature you can use if its appropriate to your program and hardware. Right now I'm working on a desktop program that controls a DSLR camera then does a bunch of fancy stuff with the photo, then sells to the customer. It runs on Win7, Win8, Win10. It can also use a built-in webcam if it happens to be running on a laptop or tablet. But a tablet is not required. Gestures are not required. It uses a database for sales records, but if it weren't for that requirement it wouldn't need a database. It uses a web service to report sales at the end of the day, but if it weren't for that feature it wouldn't need web services. The real purpose of the program has no need for either.

You're right about taking those statistics with a HUGE grain of salt. VB.NET out pacing C#?? Yeah, right. Maybe for high school students or something. But not in the actual Software Development industry. No serious developer or company works in VB.NET. Sure its a full .NET language, but it doesn't get treated as one. And so many developers come from other members of the C family (C, C++, C#, Objective-C)... its just easier to translate. Even lots of JAVA is indistinguishable from C#. So you have all those languages that are easy to slide in and out of, be part of a contiguous learning path, use as examples, and so on. Then there's VB.NET sitting all to its lonesome, being more of the next step for Microsoft Excel scripters.
Was This Post Helpful? 0
  • +
  • -

#6 Curtis Rutland  Icon User is offline

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 5101
  • View blog
  • Posts: 9,283
  • Joined: 08-June 10

Re: Growth of C#

Posted 16 June 2015 - 07:47 AM

Quote

No serious developer or company works in VB.NET


I think AdamSpeight2008 might have something to say about that.

Quote

but it doesn't get treated as one


Truth be told, VB.NET is just as capable of a language as C#. It's got some features that C# doesn't, like the with statement, and XML Literals (which were admittedly a bigger deal in the past, when XML was more "everywhere").

I feel like the only reason people are less willing to use it than C# is because it replaces a lot of symbols with keywords. It feels wordy, but it's not too much worse than a comparable C# program. And a lot of people see it as the "easier" language, which isn't true. It just seems that some are so disdainful of this language for very little reason. It's not the nightmare that VB6/VBA/VBScript was.

Regardless, I hope C# keeps taking notes from F#. I'm still not using it in production (since nobody else is willing to learn it) but it's ridiculously expressive. I've converted libraries over and reduced total code by half or more. You have to wrap your brain around a particular style (Functional programming is a truly different paradigm than OOP+Procedural/EventDriven), but it's amazing what you can do. Two things I think C# could learn from it to make it truly great: 1) pattern matching, and 2) native tuple support.

That got off track, I guess. Anyway, I think this sentiment is a natural consequence of C# getting "older" and more mature. It stopped being the "new hot enterprise language" years ago. Especially since now there's so many options, C# doesn't stand out as much as it used to. It's functional aspects are being matched or trumped by other languages (Java finally including something relatively comparable to LINQ, for example, though I certainly wouldn't call it trumping). People aren't seeing it as "the next cool thing" anymore and once a language is past that, somebody's bound to start a "death watch". Just because it isn't "cool" anymore doesn't mean that it's dying.

C# is so deeply embedded in some companies that we'll be seeing it in use for literally decades to come.
Was This Post Helpful? 3
  • +
  • -

#7 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 13398
  • View blog
  • Posts: 53,472
  • Joined: 12-June 08

Re: Growth of C#

Posted 16 June 2015 - 07:53 AM

View PostCurtis Rutland, on 16 June 2015 - 09:47 AM, said:

Quote

No serious developer or company works in VB.NET


I think AdamSpeight2008 might have something to say about that.

.. as would I. My past three jobs were big ass companies and the majority ran on VB.NET. Any more my view is .NET is .NET regardless of C# or VB.NET flavoring, and 'language shaming'(?) is antiquated.
Was This Post Helpful? 0
  • +
  • -

#8 tlhIn`toq  Icon User is offline

  • Xamarin Cert. Dev.
  • member icon

Reputation: 6505
  • View blog
  • Posts: 14,357
  • Joined: 02-June 10

Re: Growth of C#

Posted 16 June 2015 - 08:19 AM

I agree its just as capable, and said that.

Quote

Sure its a full .NET language, but it doesn't get treated as one.
Adding to that I freely acknowledge some areas where VB.NET made certain things easier. For example VB.NET has direct access to a Keyboard namespace that has been left out of C# either by accident or design.

My reason for the C# favoritism is as I said, learning path. People with experience in any other C-flavor or JAVA can make use of C# rather easily.

I apologize for coming off as 'anti-VB.NET'. I really need to shift that more towards 'pro C#' versus 'anti-VB'. There is a lot of ground between preferring one thing and putting down something else. Sorry for that.

If there are big companies out there doing major products in VB.NET I think that's great. Clearly I've just never run across them. I've never run across a live armadillo either despite years of living in the South, but that doesn't mean they don't exist. It just means that in the circles I work everyone does some flavor of C. Then again a diesel mechanic sees the entire world as running diesel because that's all they see so it can seem that way. Just because its all you see all day long doesn't mean its all that exists; and I forget that some times.

Again, sorry if I rubbed anyone the wrong way.
Was This Post Helpful? 3
  • +
  • -

#9 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 13398
  • View blog
  • Posts: 53,472
  • Joined: 12-June 08

Re: Growth of C#

Posted 16 June 2015 - 08:43 AM

Naw - no wrong rubs, but just a counter-point.

I think I've gotten to the point of having run the halls of enough languages, for enough time, that I don't get too worked up with people's languages of choice.. like the OS flamewars when I was younger. "eewwww.. you use WHAT for an OS?! n00000b!"

Oh the follies of youth. :D


Was This Post Helpful? 0
  • +
  • -

#10 Curtis Rutland  Icon User is offline

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 5101
  • View blog
  • Posts: 9,283
  • Joined: 08-June 10

Re: Growth of C#

Posted 16 June 2015 - 09:21 AM

The only language I still "flame" is PHP, and that's mainly because it's standard library is a mess. I don't judge/flame the people that use it (other than the ones that will stick their fingers in their ears and say "PHP is the best language in the world", which there are ridiculously few of), but I can't help hating on an actually badly-designed language.

:P
Was This Post Helpful? 0
  • +
  • -

#11 tlhIn`toq  Icon User is offline

  • Xamarin Cert. Dev.
  • member icon

Reputation: 6505
  • View blog
  • Posts: 14,357
  • Joined: 02-June 10

Re: Growth of C#

Posted 16 June 2015 - 09:37 AM

View PostCurtis Rutland, on 16 June 2015 - 10:21 AM, said:

I can't help hating on an actually badly-designed language.

But isn't that really the source of irritation with all languages: That they aren't really 'designed' languages? Most of them are 'evolved' languages.

From a quick search I found this article stating that PHP really started out of one guy's need & work thus the name Personal Home Page. Anything after that is evolution not design, and thus it all starts falling apart.

Not really too different than spoken languages. English is really a mash up of many languages, then evolved up over a few hundred years and settlement of other countries. Many popular languages including French and Russian have many English words from technical fields because they were invented in English speaking countries.

We can see that with PHP starting out as a small personal need project and then moving on to the foreign lands of big sites, then commercial needs, etc.

There is an evolutionary path in: C... C++... C#... Objective-C... Swift(?)...
Just like:
Shakesperian English, Old English, 1800th century English, Modern British English, Australian English, American English

At least with programming languages there is an effort every 20 years or so to actively clean-up the language and form a new version that has more rules than exceptions.
Was This Post Helpful? 0
  • +
  • -

#12 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon


Reputation: 6966
  • View blog
  • Posts: 14,572
  • Joined: 16-October 07

Re: Growth of C#

Posted 16 June 2015 - 09:47 AM

View PostCurtis Rutland, on 16 June 2015 - 10:47 AM, said:

And a lot of people see it as the "easier" language, which isn't true. It just seems that some are so disdainful of this language for very little reason. It's not the nightmare that VB6/VBA/VBScript was.


There are still VB6 users... I always considered VB.NET kind of a bait and switch. They convinced the entire VB community that VB.NET was a simple .NET upgrade path. The reality is, it was a completely different language with some wording retained.

Right after .NET's introduction I went to a Microsoft conference. When asked, I'd say about 90% of the developers in the room had opted of VB.NET. I had opted for C# because I not only preferred the syntax but because I thought that VB.NET was so different from VB6 that it would actually be an adoption impediment. I recall the early days of VS, VB.NET had a weird case bug and the class view didn't work so well.

However, for the .NET world today, VB.NET vs C# is really a matter of taste.


View PostCurtis Rutland, on 16 June 2015 - 10:47 AM, said:

I hope C# keeps taking notes from F#.


Agreed. I love F#. It's my favorite language that no one seems to use. I have a number of production interfaces written in F#. Yes, no one else can maintain them. I can live with that. I use the interactive shell to prototype code, even code that will ultimately be converted to C#. I find I use Linq in C# a lot more after doing F# for a while. :P
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1