60 comments

[ 3.8 ms ] story [ 125 ms ] thread
VS plugin support is crucial for applications like GPU computing or Qt.
yeah i agree. I think sharp develop is coming along very well though. It will be interesting to see where they go with it. I am going to start using it for my personal open source projects, but for my commercial work for me and my teams I will stick with VS as we have MSDN licenses and support agreements in place.
Anything you find yourself missing when using it?
default support for MSTests would be nice as this is what I have written my tests in. There is an add-on for it, but it doesn't look that good. Its not real biggy though, it wouldn't take much effort to migrate my tests over to NUnit. TFS integration would be good too. For my personal projects I upload my source to Codeplex and I use the TFS integration for this.

Saying that I could just install the TFS shell extensions and check in/out code from explorer. Its not that much of a hardship.

At least for the build system I've written my own MSBuild targets for handling Qt which is much nicer than the Qt Add-in creating custom build rules for each and every file. It's not perfect, but works very well here.

The (modest) debugging improvements still let me keep the add-in installed, though.

(comment deleted)
Out of interest, how does this compare with the free editions of Visual Studio? Is there any compelling reason to use it over them?

I am genuinely interested; I don't do much (any?) C# at the moment.

(comment deleted)
Actually, SharpDevelop is not the same project as MonoDevelop: http://monodevelop.com/

MonoDevelop was forked from SharpDevelop but they diverged. Unity has MonoDevelop with Unity-specific patches and they are a little behind. Xamarin Studio is also MonoDevelop with proprietary stuff.

Speaking of the "linux version", linux distributions are very far behind in the package versions provided and the folks at Xamarin are only doing packages for OpenSuse. If you want to do development with Mono, Linux is unfortunately not a good OS to be on. Mind you, this is nobody's fault - it's just lack of interest.

Weird, so the best place to develop with Mono is actually on Windows????? What's the point of making it cross platform then?
Don't need no stinkin IDE, just a text editor and a compiler. You'll learn more than when using an IDE.
If you're a student / novice working on small projects, aiming to learn and improve yourself maybe. If you work in a production environment "learning" isn't a strong enough reason.
I would second this because with many many files and namespaces and stacks of dependencies and libraries, an IDE isn't a luxury - it is a necessity.
I worked for years without an "IDE", within Emacs, spanning multiple languages, including Java and Scala. I was defining snippets for boilerplate, I was using ctags for navigation and the agility with which you can jump around and edit text makes up for the lack of intellisense, etc...

Got used to IntelliJ IDEA for about a year ago. It's nice, but my actual work productivity hasn't increased. Seriously, I now use an IDE because I feel more comfortable within IDEA, as when you're using a text editor, you don't just use a text editor, but rather the entire Unix toolchain and I got tired of stressing out my memory. And btw, I still open Emacs a lot because I'm missing Emacs' macros and undo capabilities amongst others.

If you want an IDE, sure, use an IDE. Learning a new language with an unfamiliar IDE on the other hand is a really bad idea, since instead of learning the actual language, you end up dealing with the toolset.

You always need to learn the tools you're using. If you rely on autocomplete to learn those tools, you're going to write the kind of shitty software I loathe.
Autocomplete is not for learning "tools". It's for saving typing speed.

Features like "find references", "go to implementation", "find implementations", "show parameter list" are useful for understanding and navigating large code bases. They have nothing to do with how you write "shitty software" they have to do with how you navigate and understand the code base structure.

Writing shitty software has nothing to do with autocomplete.

FlashDevelop was also a fork of SharpDevelop. It was a very good base and the first mono IDE that was pretty solid to use and build upon. FD is/was arguably the best as3 coding environment in pre-Unity days.
I recently used it on a 2010-era netbook that couldn't handle the full VS2013 Express edition and it worked great. Not as many bells and whistles, but easy to use and quick to get up and coding.
It can be used with dot42 - C# to Android compiler. Visual Studio Express can't.
I've been following this for a while. I applaud the effort but there is no way they can keep up with VS. Also Xamarin forked SharpDevelop ages ago into MonoDevelop, but I don't know if any contributions flow back from MonoDevelop to SharpDevelop.
I don't think it necessarily has to keep up with VS as that will always be a loosing battle. I just think it needs to feature complete in its own way to make it a viable alternative, and I think they are at the point of achieving that.
If you aim for feature parity with a product from a company that can devote orders of magnitude more resources (and influence external requirements) than yours, you'll always lose.

The only way to win is to redefine the criteria by which your products are measured in a way that your product becomes the superior one and your huge competitor's can't immediately follow. In this case, you'd have to redefine what an IDE is supposed to do by building one that's much better in a significant scenario than VS.

Visual Studio is indeed very powerful, but its users have to pay the price with ever increasing complexity. There are far too many options available for a user at a given moment. Having constraints would be nice. Also, it would be nice for it to have a full-powered command-line interface for generation.
The main problem with Visual Studio for me is lack of portability - now with Mono, I want to be able to use FOSS tooling to make lovely C# apps, and so when something like this sprouts up it's like ooh, perhaps it'll be cross compatible. Nope. Surely if it's built in .NET it can't be that difficult to make it run on Mono, so why yet another Windows only .NET IDE?
It's built with WPF which mono doesn't support, I wouldn't expect to see it happen any time soon.
MonoDevelop is cross platform compatible and its decent but it's certainly no Visual Studio.
No. The word "alternative" implies a certain quality and that you can actually switch. Sorry but this isn't the case here. I've used SharpDevelop in the past but there is a world of difference between VS + R# and SharpDevelop.
I am with you, but I think that Roslyn has a really good change to change that. Sometimes I wonder how Roslyn will affect JetBrains' business. It should be pretty easy to re-produce quite a lot of core ReSharper features.
I caught a bit of the Build live stream yesterday. Showed some R# like code cleanup in the next version of VS.
It is an alternative, for certain users like me: I occasionally dabble in .NET development. If I had time to spend with Visual Studio, I can tell it would be the better tool, but SharpDevelop is free, fast, and has everything I know enough to use anyway.
Doesn't Microsoft offer a free, feature-limited, version of Visual Studio?
Yes, its called Visual Studio Express.

You can get web, windows (8.x) app, desktop, TFS, and windows phone versions.

http://www.visualstudio.com/en-us/products/visual-studio-exp...

And what are the artificial limitations of VS Express for C# projects? What can this alternative do that VS Express can't?
You don't get a lot of the more advanced/business/enterprise-y features like advanced debugging features, very little code metrics, only the more basic unit testing things, no MSDN subscription benefits, no Azure credits.

You can still still use Nuget, write unit tests, debug, all of the basic stuff you need to write programs for .NET. The Unreal Engine 4 source works just fine with VS 2013 Express. Xamarin Business and its Visual Studio plugin works just fine in express. You can still connect to TFS, Perforce, or Git repo.

edit: to clarify that this is for VS Express compared to VS Pro/Premium/Ultimate not compared to Sharp Develop.

edit2: removed that it supports add-ins like Resharper.

> The word "alternative" implies a certain quality and that you can actually switch.

It implies that to you maybe, but I don't think you can say that's the universal understanding of the word and how it should be used.

Google "define alternative" and this becomes clear: - adjective 1. (of one or more things) available as another possibility or choice.

For me, SharpDevelop is a great alternative to Visual Studio. Sure VS has a lot more features and the latest versions look pretty sleek (I love the dark theme). But I have used SharpDevelop very recently (not just in the past) as the IDE of choice on many professional projects too (emphasis on 'choice' because it's a choice you can make to use it, as per the definition). It is a genuine alternative, in that it's available as another possible IDE you can choose to use.

I would argue that an alternative doesn't even have to be that good (think alternative medicine); so it doesn't imply "a certain quality" either. However, in the case of SharpDevelop, I do believe it IS a quality tool made available by the open source community.

At least for C++ native development, a development tool comparison with Visual Studio is just misplaced. Alex Ionescu, a ReactOS NT kernel developer, in one question at a Montreal conference last year was asked about the operating system's attained level of compatibility for applications in general and about Visual Studio in particular. His answer was that Visual Studio will be the last piece, as it so intricately fused into the OS internals. It would be insane to pretend to be able to compete (in every aspect) against something like Visual Studio which can use undocumented resources not available to anyone but to Microsoft's own toy!
This is nice, but no... it will never replace VS. I'm sorry if I sound arrogant, but if anyone disagrees than they either never used VS or don't know its potential. I'm no MS fanboy, but VS is simply the best IDE.
No, it isn't. It's the best IDE for C# on a windows OS. Important to have those qualifiers.
I would really love to have a better alternative for C++ development.
As a Linux user, and someone who really dislikes having to boot into Windows in general, even I must admit that there is nothing close to Visual Studio for developing in C++.
I disagree. Unless you have some trivial C++ project (<100KLOC) you have to buy the plugin from whole tomato for a 1000$ for VS to be at all usable (at least last time I had to use VS - has this changed?). Power tools and a couple of other plugins and you just about get the functionality that other IDEs have built in. As nice as various specialised things like remote debugging on xbox, compile on the fly etc. are - overall it's pretty sluggish and limited when it comes to customisation.

Opinions, opinions, opinions...

Usually calling something the best is entirely subjective, but I believe due to the closed ecosystem surrounding Visual Studio, competitors don't stand a chance regardless of how bloated and cumbersome it is.

It's also interesting how analogous that situation is to many others concerning walled gardens in computing.

Yeah, I agree. VS is still better, which is why I said in the article I wont use sharpdevelop in my professional work, but for someone who doesn't want too or can't afford to buy into VS then sharpdevelop is a much better option than VS Express imho.
It looks interesting - and I will certainly give it a go the next time visual studio's WPF designer is running at a snails pace, but it doesn't really seem like there is much to differentiate it - it mostly looks like a feature-by-feature clone of visual studio.
I use it for python and I managed to build a compiled .NET app with SD and IronPython, and for this feature I will always use SharpDevelop.

But I still like PTVS because it supports autocomplete.

I have such fond memories of SharpDevelop. In 2006 I was reaching the limits of the MS Access form designer for an internal database I'd created. I requested VS Express be installed on my machine but the request was ignored - enter SharpDevelop, a dream because it didn't require admin rights to install.

Soon I had a VB.NET (shudder, but at the time...) app up and running and using an Access DB as the backend. I compiled it and distributed in a shared network folder for the rest of the team.

Utter hack, of course. But the company was working on a SAP-based system that was going to replace everything, so it didn't matter. I spoke to an old co-worker last year and what do you know - the SAP system still isn't working correctly and my old app is still in use. I almost feel guilty...

Awesome that this stuff is still around.

I remember working at place in the mid-2000s that needed desktop apps but didn't pay for Visual Studio (pre-express days) so this is what we chose. We built lots of good stuff with it.

Looking through that feature list it looks there are still some reasons to use it over VS express, I'm going to download it tonight and check it out. Working with it before I remember it being very stable and easy to use.

It's unclear if this supports C++ though. The Downloads page says C# only if I read correctly, however the screenshot for a new project shows C++ and many other project types....

Anyone know? I'd love to make a Cocos2d-x project so others can have an alternative to VS.

PlantUML can't be beat IMHO for UML diagrams. It's the Markdown for UML.