nX07 Posted March 11, 2008 Share Posted March 11, 2008 I'm starting to learn development for windows using C# and the .NET framework. With that said, I want to know if I could run my programs on Linux. Of course it would require the .NET Framework, so is there an edition that is for linux? If not, would programming in something like C++ that does not rely on the .NET framework be suitable? Any insight on the questions or the topic in general is greatly appreciated. Thanks! Link to comment Share on other sites More sharing options...
TokiToki Posted March 11, 2008 Share Posted March 11, 2008 Take a look at Mono http://www.mono-project.com/ Link to comment Share on other sites More sharing options...
Borbus Posted March 11, 2008 Share Posted March 11, 2008 Mono is one of a few non-MS .net framework implementations. There is a MS version for FreeBSD and OS X. However, I would just program in C++ or even Java. C# and Java are so similar, I'm not sure what advantages C# is supposed to have... Java is already truly cross-platform which cannot be said for C#. Link to comment Share on other sites More sharing options...
night_stalker_z Posted March 11, 2008 Share Posted March 11, 2008 Mono does not support Windows Form 2 or later so it might be a problem if your doing GUI work. Java is probably more suitable if you want to do Windows and Linux programming. Link to comment Share on other sites More sharing options...
UKer Posted March 11, 2008 Share Posted March 11, 2008 Take a look into http://www.mono-project.com/GtkSharp - GTK# allows for you to use your .NET skills and to develop multi platform. Link to comment Share on other sites More sharing options...
nX07 Posted March 12, 2008 Author Share Posted March 12, 2008 Cool, thanks for the replies thusfar everyone. If anyone has anymore input, please feel free. :) Link to comment Share on other sites More sharing options...
xcguy87 Posted March 14, 2008 Share Posted March 14, 2008 I was in the same situation as you, knowing only .NET languages for Windows. I then moved over to linux and started developing. I first tried the mono project, but I found that I wasted more time determining what worked on each platform then actual development. Many of the common .NET framework functions haven't been ported to mono yet, so they don't work everywhere. Once that have been ported don't always behave correctly. Graphical applications also don't look 'native' to the system. Also I have seen the GTK# development framework not work correctly on several installations of MonoDevel. In my opinion, JAVA is the real way to go if you want to do cross-platform development and don't mind slower performance then native code, but it is very comparable to the slower performance of .NET applications (they both use JIT compilers i believe). Programs that you write in JAVA are much more stable cross platform then programs written for the .NET frameowrk/mono. The only drawback with JAVA is that the GUI builders don't always work correctly, and their harder to use then the Visual Studio editor. A big advantage however, is that your GUI applications (with a few tweaks) look almost as good as native applications on most of the major platforms (including OS X). I suggest using Netbeans if you want a complete JAVA development package including a visual editor (and if you have a decent machine as Netbeans seems to eat memory). I also like eclipse, but getting a visual editor into eclipse was difficult since VE (the visual editor) was removed from the latest packages. Link to comment Share on other sites More sharing options...
Recommended Posts