Ok so I am familiar with developing Form and Console applications on Windows using Visual Studio .Net with C#, but where do I start when it comes to Linux distro's like Ubuntu, is there an equivalent?

How would one go about matching what they can do in a Windows environment with .Net and C# in a Linux environment without .Net coding in something like Java or C/C++?

I am aware of Eclipse, does eclipse have a form designer or do you have to code the design of any Gnome/Unity forms manually? Can I use eclipse to write the Linux equivalent of a console application, that you just double click on to run?

I also know about Mono, but the idea is that I want to learn how to develop software without using anything in the Microsoft stack and am not sure where to start.

What is the standard language/framework used to develop these types of applications on Linux?

As I become more proficient with Visual Studio, C# and .Net, it has struck me that without these Microsoft tools, I am nothing. I am only capable of developing for the Microsoft OS and this scares me. This isn't some anti Microsoft thing, Microsoft makes some incredible Software/Hardware/Operating Systems/IDE's, but it is generally a bad idea to put all of your eggs in one basket so if I want to learn how to develop Terminal and Gnome/Unity form applications where in the world do I start?

I have used Linux on and off for years, but Windows has been my primary OS. However I have watched Linux get better and better and as much as I love Windows 7, I am dubious about Windows 8 (I for one will sorely miss my start menu)! Obviously MS aren't going anywhere anytime soon and I could spend the the next couple of decades developing for .Net without any issues but just because you can get away with something doesn't always mean it's a good idea.


2 Answers 2


I'm a bit rusty with desktop apps. My first choice would be Glade and PyGlade. Since you come from a Windows background, I'd suggest MonoDevelop as a starting point, as it has a decent GUI designer and can target Gnome. I understand you want to distance yourself from Microsoft-related technologies and that the Mono runtime is not deployed on every Linux distro automatically, but you may want to start somewhere and this can bring you more immediate results. I never did GUI stuff on Eclipse, but NetBeans' GUI designer is excellent.


Although Mono can run certain Windows-built .NET apps, you can also grab MonoDevelop and make Gtk+ applications specifically for Linux using .NET - no Microsoft stack involved.

I don't know much about GUI applications in other languages for Linux, but for Terminal applications, you can use pretty much every language that exists, from C++ to JavaScript to Python to Perl.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.