Linked by Thom Holwerda on Mon 17th Jul 2006 10:55 UTC, submitted by Bernhard Spuida
General Development The Open Source IDE Sharpdevelop 2.0 has been released. This IDE not only allows you to code in c#, VB.NET, and boo, but also offers features you won't find elsewhere: conversion between the supported programming languages, support for .Net and Mono, Winforms, and GTK#. View the full feature tour or download Sharpdevelop and start into open source development for both Windows and Linux in one IDE.
Order by: Score:
Cross-platform version of VS2005
by rx182 on Mon 17th Jul 2006 11:30 UTC
rx182
Member since:
2005-07-08

That's what I had to say ;-)

They made it look exactly like VS2005. I think it's a great thing.

Reply Score: 1

karolus Member since:
2006-06-13

Realy ?
Could you please give me the link to linux version ?

Reply Score: 0

Daniel Grimm Member since:
2005-07-06

Actually, if it really is cross-platform, you should be able to use the .exe with Mono. But on the download page it states it needs Microsoft's .Net Framework.

Reply Score: 2

bspuida Member since:
2006-07-17

A clarification: "cross platform" generally means that the compiled output can run on various platforms.
SharpDevelop as such currently runs only on Windows, as mono for now still does not have a 100% winforms implementation though I'm sure this will come. And alas, there still are a few direct system calls that need to be got rid off.

But then - compile on one platform, run on another isn't half bad. Just imagine that you can just take any Visual Studio project and get it to run on Linux...

Reply Score: 2

jessta Member since:
2005-08-17

But Java is a confused language.
It is said to be fully object orientated, but has primitive data types.

In my opinion, C# is a much nicer version of what Java should have been.

So this is great news for those that like C# and null news for those who like java.

- Jesse McNelis

Reply Score: 4

evangs Member since:
2005-07-07

But Java is a confused language.
It is said to be fully object orientated, but has primitive data types.

In my opinion, C# is a much nicer version of what Java should have been.


Err... C# has no primitive data types? Funny that...

Reply Score: 1

somebody Member since:
2005-07-07

A clarification: "cross platform" generally means that the compiled output can run on various platforms.
SharpDevelop as such currently runs only on Windows, as mono for now still does not have a 100% winforms implementation though I'm sure this will come. And alas, there still are a few direct system calls that need to be got rid off.


Nonsense. If your tool is not crossplatform you get a lot more steps in your development.

- Compile on one platform
- Copy files somewhere where other platform can access it
- Find error
- Go back on development machine and correct error
- Hope that it works and copy again
- Repeat this desperation cycle of hope until it finally works

If tool is crossplatform
- Make it for first platform
- Transfer project to another platform
- Hack on it until it works

And please, DO NOT MIX CROSSPLATFORM AND HALF ASSED CROSSPLATFORM

But then - compile on one platform, run on another isn't half bad. Just imagine that you can just take any Visual Studio project and get it to run on Linux...

Yep, which would be valid only if you wouldn't access filesystem, etc. Most of the things need adaption for each and every OS. Those can't be crossplatform.

btw. Monodevelop more or less already runs on Windows and you can import VS project.

Reply Score: 4

JeffS Member since:
2005-07-12

Somebody:

"Nonsense. If your tool is not crossplatform you get a lot more steps in your development.

- Compile on one platform
- Copy files somewhere where other platform can access it
- Find error
- Go back on development machine and correct error
- Hope that it works and copy again
- Repeat this desperation cycle of hope until it finally works "


This is incorrect. You can download/install Mono for Windows, and use Mono, plus GTK#, as the target in SharpDevelop when devleping/compiling/testing/debugging.

Since the resulting executable was targeted to Mono/GTK#, it will run on Mono on Linux/BSD/OSX, etc without alteration.

I've done exactly that, and it was quite easy.

No, SharpDevelop itself is not cross platform. But using Mono as the compiler and target platform, SharpDevelop very easily produces cross platform Mono applications.

Personally, I prefer Java as it is fully cross platform, and has full open source implementations/products, and has multi vendor support.

Plus, NetBeans is pretty awesome. Everything works out of the box, it makes it easy to produce Enterprise apps (with EJBs, Servlet/JSP/struts, etc), and the Swing GUI looks and performs great.

Don't talk to me about Eclipse - I'm not into the self-torture of trying in futility to install and run the buggy, non-working plugins that are required to get any real world work done. Eclipse has some nice features and has an attractive GUI, and it's plugin architecture is interesting. But it's figgin hard and frustrating to use it for real world Java work.

I have to give MS big kudos for producing a very very nice language (C#), a very nice runtime (.Net CLR), and very nice dev tools (VS). And I congratulate MS for making C# and the CLI ECMA standards. And I give major kudos to the SharpDevelop team for producing a great, great IDE, that is almost as good as VS, and is fully free and GPL. Finally, I give major, major kudos to the Mono team for producing an awesome cross platform version of C# and the CLR, and for GTK#.

These represent great development tools.

Reply Score: 5

somebody Member since:
2005-07-07

This is incorrect. You can download/install Mono for Windows, and use Mono, plus GTK#, as the target in SharpDevelop when devleping/compiling/testing/debugging.

Nonsense. This would just mean moving my development on Windows and placing my desperation cycle to linux.

You either don't know what you talk about, or you have really simple needs. In each case, we differentiate.

Since the resulting executable was targeted to Mono/GTK#, it will run on Mono on Linux/BSD/OSX, etc without alteration.

And other parts, like Posix support (especially users and groups, Windows has no equivalent of GetUnixUser for example)? Drastically different on Windows.
Another is accessing the devices.
Yet another is IPC. (Well, you could say "use remoting" or "use serialization", but I need to connect it to non-.Net apps)
Filesystem incompatibility is just one of simple examples.

All those examples are usualy solved with ifdefs and carefull testing on each platform. Nothing OS specific can be generic as you say. Either like this, or you'll be writing "Hello world!" all your life

Installing and running Mono is just the first part of application being present on OS. Integrating app in that OS is something completely different. And another feature of your app is that app becomes a good citizen that behaves good with network and other platforms.

I've done exactly that, and it was quite easy.

As I already stated, you probably don't have a lot of needs.

No, SharpDevelop itself is not cross platform. But using Mono as the compiler and target platform, SharpDevelop very easily produces cross platform Mono applications.

As I already said.
Basic cross platform != Cross platform.

But real cross platform gets much easier when your development tool (yes, IDE) is runing as cross platform. Squashing bugs is so much easier.

If what you said would be true, MD would be always running on windows (and it took quite a while to get to some success). You could run banshee, beagle. Why do you think you can't do that?

Different OS, different lower dependacies to get thing done best.
Different dependancy, different approach.
Different approach, different code.

Don't talk to me about Eclipse -...

When did I do that??? I said I use MD.

I have to give MS big kudos for producing a very very nice language (C#), a very nice runtime (.Net CLR), and very nice dev tools (VS). And I congratulate MS for making C# and the CLI ECMA standards. And I give major kudos to the SharpDevelop team for producing a great, great IDE, that is almost as good as VS, and is fully free and GPL. Finally, I give major, major kudos to the Mono team for producing an awesome cross platform version of C# and the CLR, and for GTK#.

100% agree. A bit slow for my taste. But as long as I can combine it with C, I don't care. C# rocks.

These represent great development tools.

As I already stated, anything not cross platform is not for me and my needs. Get over it.

Edited 2006-07-17 17:01

Reply Score: 1

JeffS Member since:
2005-07-12

"As I already stated, you probably don't have a lot of needs."

You are correct. I've only ever done real basic stuff with mono / MD / SD. Just play stuff. Not as simple as "Hello World", but certainly not anything "real world" or particularily useful.

Mostly, I play around with the stuff both out of curiosity or simply to learn the language (C#).

All of your concerns about true cross platform development, and OS specific stuff, are very legitimate and worthy of consideration. I will have to admit that doing Mono stuff in SD is probably not ready for cross platform prime-time. Also, doind stuff with Mono on Linux is also not ready for cross platform prime-time (as Mono apps like Tomboy, F-spot, Beagle, etc suggest).

For true cross-platform development, there's Java. But even with Java, the WORA promise is not always completely fullfilled. There are still cross platform testing/tweaking concerns. Then there is QT, with is write once, compile everywhere. But even with QT, there are still OS specific concerns.

Reply Score: 1

somebody Member since:
2005-07-07

Questions go for all claiming about SD being cross platform

This is incorrect. You can download/install Mono for Windows, and use Mono, plus GTK#, as the target in SharpDevelop when devleping/compiling/testing/debugging.

sorry for another answer:) but I forgot to ask two questions on this one, and I simply can't resist.

What makes you think I couldn't do this with VS? It works there too, just as it does with SD. VS even supports more than one version of mono at the same time.
http://www.mono-project.com/Working_with_Mono_and_Visual_Studio

As for gtk#? Can't you use it with native .Net? I can. I could simply download http://forge.novell.com/modules/xfmod/project/?gtks-inst4win
and install with common .Net in Windows.

So what would make SD soooo cross platform? All of you were claiming diff between VS and SD is that SD is cross platform, which would lead to the assumption you claim VS is not. (fact: I don't use VS, I use MD)

p.s. I guess you just willfully took the blue pill

Edited 2006-07-17 18:01

Reply Score: 1

Awesome!
by Matto on Mon 17th Jul 2006 12:03 UTC
Matto
Member since:
2005-07-06

Looks fantastic!

I'm going to check it out ASAP.

Reply Score: 1

MonoDevelop is GTK-fork of SharpDevelop
by Velmont on Mon 17th Jul 2006 13:40 UTC
Velmont
Member since:
2005-07-07

Do anyone know if these two projects is working together? It would be kinda sad if they were both implementing the same features, instead of working together and getting a bit more done... :-)

I'm using MonoDevelop, and I like it. Although the completion (popups with methods etc) doesn't come up as often as I'd like.

Reply Score: 2

somebody Member since:
2005-07-07

Do anyone know if these two projects is working together? It would be kinda sad if they were both implementing the same features, instead of working together and getting a bit more done... :-)

No, they aren't. SD was pure GPL and MD wanted to be more free. Developers started pissing contest long ago and that contest ended in both sides going seaprate ways.

Problem with SD pure-GPL was that you could only develop pure GPL apps as required by its license.

I don't know under which license SD is now, but I vaugely remember hearing they changed the license. If they have or not, I can't say.

I'm using MonoDevelop, and I like it. Although the completion (popups with methods etc) doesn't come up as often as I'd like.

yep.

Reply Score: 1

bspuida Member since:
2006-07-17

Another clarification: the GPL allows the output of a GPL'd program to be used under whatever license the user desires - in this case, the compiled program written in SharpDevelop would be licensable any way you want. The point where disagreements with the MonoDevelop people (nice guys, great developers) arose was that changing the SharpDevelop source itself was governed by the GPL at that time. In brief, you couldn't just change the core or add AddIns under an incompatible license.

Nowadays, SharpDevelop is licensed under the LGPL, making things a bit simpler.

Reply Score: 3

somebody Member since:
2005-07-07

Another clarification: the GPL allows the output of a GPL'd program to be used under whatever license the user desires - in this case, the compiled program written in SharpDevelop would be licensable any way you want. The point where disagreements with the MonoDevelop people (nice guys, great developers) arose was that changing the SharpDevelop source itself was governed by the GPL at that time. In brief, you couldn't just change the core or add AddIns under an incompatible license.

First I'm mostly OSS devel. But I have no problems with commercial side either.

So, in that time. How could you even compile commercial add-in? You couldn't link against SD and not taint your work. Making any add-in would mean add-in being separated into two products. One for run-time and one for add-in?

This was making commercial work inherently harder than GPL work. But then again it seems SD guys got the message as you say in your next sentence.

Nowadays, SharpDevelop is licensed under the LGPL, making things a bit simpler.

Correction: not a bit, a lot:)

Great to hear (no joke), but not interested in SD as I stated before. It is not cross platform. Too many steps in cross platform development to be acceptable.

If developers of SD get the "it is not cross platform" message then all I can say is, SD would be worth thinking over. Although I doubt I could leave MD for it. MD is already following the right track from begining, and leaving it for something new, now that it is really becoming viable tool would be like waiting for Linux to be grandma ready from 95' and leave now for some completely new OS and wait another 10 years.

Reply Score: 1

SharpDevelop
by agentj on Mon 17th Jul 2006 15:07 UTC
agentj
Member since:
2005-08-19

I use SharpDevelop instead of Visual Studio 2005 at work (among of other tools), because it's damn fast and it doesn't eat much resources.
I think that Mono is future for applications - if there's compatible API and ABI, they can run anywhere if code doesn't use stupid hacks. Path conversion is not an issue - it can be done on the fly if required.

Reply Score: 2

dogen
Member since:
2005-11-13

If you want to know how to code a .NET project, check out SharpDevelop's source code. It's a beautifully designed and implemented project.

Reply Score: 3

AS a .NET Developer
by fretinator on Mon 17th Jul 2006 19:04 UTC
fretinator
Member since:
2005-07-06

Most people want ASP.NET applications (people that pay my salary, that is). I wonder when WebForms will come to SharpDevelop? I still do some WinForms, but it is definitely decreasing.

Reply Score: 1

Hopefully gets ported soon
by Tweek on Tue 18th Jul 2006 02:25 UTC
Tweek
Member since:
2006-01-12

I hope this gets ported soon, finally REAL code completion.

I have searched low and high for half decent code completion on linux, and came up pretty short. VIM had a few plugins that looked promising but they never really amounted to much unfortunatly. I wish someone with skill could create a real code completion library so many editors could use them...

No, tag files do not count

Reply Score: 2