5 ms·
As a recovering C# programmer, I can safely say the cost of licensing and tooling is the main detriment, along with cross platform issues. Working on C# OSS me
by hkarthik 14y ago
As a recovering C# programmer, I can safely say the cost of licensing and tooling is the main detriment, along with cross platform issues.
Working on C# OSS means stealing licenses from your employer, buying an MSDN subscription on your own dime, or evangelizing enough to get an MVP award so you get all the tooling for free. The free Express editions of the tools have built in limitations that don't make them viable for building Big Data projects. Other options exist, but pale in comparison to Visual Studio so they don't get much use.
As for mono, the uptick for the OSS stuff just isn't there and even Xamarin is leaning on commercial offerings to become a viable business. Maybe as they get more successful they can sponsor some C# server projects, but that may be a ways off.
This is all unfortunate, as C# really is a great language.
- vyrotek 14y agoI'd love to know what you've moved on to. I'm still 'addicted' to C# these days and it pays the bills very well. For me, before C# it was PHP & Java and I have no interest in ever going back to those.
- ditoa 14y agoFor me there was not one identicle fit to cover C# however a mixture of Java, Scheme, C++(11) and Python covers pretty much everything. Some will argue having to know more languages, libraries, tools, etc. is a pain in the ass and to an extent that is true but I much prefer using a technology that is better tuned for a task that forcing C# into lots of different domains like I used to do.
- hkarthik 14y agoI've personally moved to Ruby and I'm slowly bringing Javascript and other JVM languages like Clojure and Scala into the fold. In addition, I've moved to vim as a text editor and tried to avoid IDEs where possible. The biggest thing to do is break your addiction to Visual Studio and the luxury tooling. That's harder for some programmers to do, but it opens a lot of doors with other stacks.
- dev360 14y agoI'm also an ex-C# dev, now doing Python, haven't looked back once.
- vyrotek 14y agoI have friends telling me to try python. I don't know how I will survive without curly braces. :)
- lucian1900 14y agoAfaict, the only real option is to ignore .NET entirely and only use Mono, just like one would do with any other proprietary runtime.
- noblethrasher 14y agoI have a license for the Professional edition but I for the most part I just use it as a text editor. So I have to ask, what limitations of the Express editions make them non-viable for big projects?
- cledet 14y ago* Static code analysis, profiling, and HLSL editing and debugging * Multi-unit testing framework and refactoring support * Third-party extensibility support Source: http://stackoverflow.com/a/13263786/204927 http://stackoverflow.com/a/13263786/204927
- CodeCube 14y agoHonestly, all of those things are still secondary to actually developing. You can write great code without doing static analysis and profiling it. And with the most recent version, NuGet is included even in Express. The biggest roadblocks to .NET development/adoption are not toolchain related IMO, they are platform related. If you want to bring up a farm of windows boxes, you're gonna pay.
- WayneDB 14y ago* You get enough static analysis so that broken code won't compile. * Testing can be done through other tools such as Nunit. * With VS2012, you get extensions developed by Microsoft, such as NuGet.
- spamizbad 14y agoIIRC, C# and the .NET compiler and runtime are free (as in beer). Outside of Monodevelop, I'm surprised nobody else has tried to re-roll a C#/.NET toolchain. With that said, most .NET developers probably prefer their .NET OSS projects to have visual studio files so its easier to link into their projects.
- tkellogg 14y agoActually, the VS project file format is standard. Mono supports both Visual Studio formats (.sln, .csproj, *.fsproj, etc) as well as Makefiles
- shousper 14y agoI'd actually be very interested in this. Recently went back to C# and have quickly remembered how painful .sln and .csproj files are to merge >_< Would love a solution that used something easier to merge, lol!