Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Hi I've recently switched from Windows 7 to Ubuntu 12.10 and love the OS. However I have had trouble deciding which programming Language would be the all-around best for Ubuntu programming. I have no problem learning a harder language, I already know a good amount of C++ and C#. I really like C# but I've heard it doesn't mix well with Ubuntu.

What would be the best-integrated languages for Ubuntu, and good IDEs for them?

share|improve this question

closed as not constructive by hexafraction, Anwar Shah, fossfreedom Mar 29 '13 at 21:43

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

As with anything in Linux: it is YOUR choice. It really depends on what you want to do :) – Rinzwind Mar 29 '13 at 18:54
A programming language is a means to an end. First you have to know what you're going to program. That the answer might change based on whether you want to write a web service or a device driver. "What is a good language to develop $SOMETHING_SPECIFIC on Ubuntu. " is a better question. – Kaz Mar 29 '13 at 19:04
But I had wanted to add that a question like this does make sense for certain platforms. Some platforms are built around a toolchain which makes some language preferred for that platform. E.g. apps in some browser-based system might best be written in Javascript, HTML and CSS. Or Android apps in Java. But Ubuntu is a rich operating system where many ideas converge from different corners of computing. – Kaz Mar 29 '13 at 22:35

@ShockWave: I would say python, via quickly Ubuntu provides some pretty neat tools to get you started. c++, via qtCreator, is also a good choice.

share|improve this answer
+1 Python with Quickly is often overlooked. – Aaron Mar 29 '13 at 18:57
From the comments here it seems like python is a good choice so I'll look into that. PS. I have QT Creator but how do i get an executable from it. As in, how will launch the app without using Terminal? – Brady Mar 29 '13 at 19:31
@ShockWave You should probably post your QT-Creator question on a separate question, it would be easier to find. I don't have much experience with the IDE myself, and am unsure how to answer. – Snyper Mar 29 '13 at 19:54
@ShockWave Linux folks tend to like Python and from what little I have seen there is a good reason for that. However, I used to program a lot and I loved C# and GTK# for Linux development. You should consider it. – Razick Mar 29 '13 at 20:23
+1 for Py, it's the simplest, fastest (in terms of dev time) and damn near everything in a modern Lunix distro has a Py API. – TC1 Mar 29 '13 at 21:43

I have worked with Java and Eclipse (and NetBeans) in Ubuntu quite extensively. The nice thing about Java, is that it is portable to any platform that can run a JVM (for example: Minecraft runs on Linux, Windows, OSX, XBOX, etc...).

If you like C#, you should really check-out Mono. It is an open source implementation of the .Net framework that will allow you to build C# apps with the MonoDevelop IDE.


I have to run it from inside the IDE. How do I get a stand alone app?

If you're having trouble getting compiled apps to run, check out this tutorial video: It goes over how to do a quick "hello world" app in Mono on Ubuntu. At 3:10, the author shows how to create a launcher to his compiled Mono app. If you follow his directory paths, you should be able to see where your compiled apps are ending-up.

share|improve this answer
I do love Mono-develop and have it, However I have to run it from inside the IDE. How do I get a stand alone app? – Brady Mar 29 '13 at 19:34
@ShockWave edit made. – Aaron Mar 29 '13 at 19:54

C# programming with via Mono and MonoDevelop, using GTK# for the GUI is excellent. I think you'll find the switch-over from Visual Studio quite simple after a little getting used to. I find that I prefer GTK# to WPF.

share|improve this answer

If you already know C++ then you must already be programming at a lower level and have a better understanding of how to get the most out of the language. GCC provides a more complete implementation of C++ x11 then most other platforms so I would stick with that; using Eclipse and the C++ plugin. I would also pick up Python and QML since it shouldn't be too hard for you and they would be useful to know. Python in Eclipse using pydev is a good system to use and you would have a single tool that provides both languages.

share|improve this answer

I think ubuntu supports wide variety of languages even C#. If you are thinking about building ubuntu apps and like GNOME, I would say vala. You can do this in C as well as C++ and also many other languages but I have heard Vala is similar to C# and much more high level than C or C++. If you need cross platform go for C++ with QT framework or Java. Since python is installed by default and is a very good multipurpose language with many modules, you can go for python as well.

By the way, nowadays ubuntu is embracing QT a lot.

share|improve this answer

Python? You could use the gedit text editor. Search 'gedit' in the dash.

Hope this helps!

share|improve this answer
I think the OP is asking what language is the best to use.. Not what tools to use. – Seth Mar 29 '13 at 18:52
@Seth - I have said - Python. – horIzoN Mar 29 '13 at 18:59

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