4 ms·
Under-30 dev here. Been programming in C# for the past 3.5 years now, and loving every minute of it. I find VS and the associated tools be a far more producti
by rjbwork 12y ago
Under-30 dev here. Been programming in C# for the past 3.5 years now, and loving every minute of it. I find VS and the associated tools be a far more productive and enjoyable experience than the Linux/Unix toolchains I was forced to use in undergrad, and C# to be a completely amazing language. The two warts, for me, are MSBuild (powerful, but obtuse at times, but still better than make) and PowerShell (again, powerful, but obtuse at times).
I also really like how .NET has first-rate libraries for the Azure ecosystem. It really makes doing some very technically difficult/interesting things easy on Azure.
As for others, I work with 2 developers who have made the jump from Java/JavaScript to working in C#/.NET because it is just a plain-old better experience.
As for relevancy and devs, C# is huge in enterprise, as I'm sure you know. I don't think they're really fighting to maintain relevancy there, and I would suggest that since the advent of MVC and Azure, they are growing in relevancy in the SaaS space.
- pmelendez 12y ago>"Under-30 dev here. Been programming in C# for the past 3.5 years now, and loving every minute of it." Mid 30's here. I work mostly on C++ but I have to jump into C# code once in a while. I agree that C# is a very productive language and I love how it never gets in your way ("Do you say you don't want to use a common interface for your generics? Use dynamic!"). My only "complaint" is that C# is so indulgent that it gets boring at times, which might actually be a feature.
- to3m 12y agoC# is oft underrated, in my view. It's very quick to code in, is part of a large (if Windows-centric) ecosystem, and has been generally fairly tastefully designed. Compared to other languages you might compare it to, its designers aren't afraid to be a bit avant garde at times (unlike Java), it's got static typing (unlike Python), it's got garbage collection (unlike C), and... well, I know Go programmers hate it when people drop the G-bomb. But it's got that too. Unlike Go.
- pmelendez 12y agoG-bomb?
- andrewchoi 12y agoI assume he means generics.
- to3m 12y agoMaybe... :) I was a little circumspect because the usual response to any suggestion that a lack of generics might be some kind of problem is - generally - not positive. But my point is merely that C# has this thing, and Go doesn't. If I knew enough about Go to say instead that it lacks something else that C# has, I'd have done that...
- hueving 12y ago>It really makes doing some very technically difficult/interesting things easy on Azure. Doesn't that just mean Azure has horrible APIs that are impossible to work with without the 'magic tooling'?
- rjbwork 12y agoMaybe, TBH I've never tried using their services in any other way.
- tracker1 12y agoI've been using some Azure bits with node.js without much issue... I'd say that C# is probably my second favorite language, and that I really like JS as my first. Which really doesn't fall in line with a lot of people, but that's where I stand... I actually like each for their differences. Part of my own reasons for moving away from C# and much more into the node ecosystem has been in terms of licensing and avoiding lock in. Now that MS is going a much more open route, I'm willing to actually consider some pieces in that direction again. VS can be very nice to work with, my single largest issue has been how systems have been designed with it, far above and beyond issues with the underlying platforms or the language. The tooling is very nice. However my experiences with "Enterprise" projects leaves a bitter taste in my mouth. More often than not, I've seen "Enterprise" (quotes intentional) projects that seem to add complexity for its' own sake. Writing code that is unit tested in Java or C# are just plain painful compared to say JS/node. I find that comes down to differences between a static platform and a dynamic one though. I think MS is rightly pushing for greater Azure deployment of server-side applications. The desktop is dying for most people, and mobile is not going away. By opening the tools, and providing better integration, they allow for a transparent deployment to Azure which is a rented platform which will receive more consistent revenue. It's simply good business.