C compiler

kasiimu

Distinguished
Jan 26, 2012
1
0
18,510
Hello,
whats up guys... i have just started using Ubuntu... what Good compiler for C,C++,C# and Java can i Use
 
gcc for the first three (should be part of the default setup, if not install from the package manager), Oracle JDK for Java. A good IDE is Eclipse, which will handle all of those.

Edit: Oops, not gcc for C#. You'll need mono for that. C# is not really a good language for Linux development (IMO), though it's one of the best Windows languages.
 
You can't go far wrong with GNU GCC

http://gcc.gnu.org/

You'll get it in the developer package in Ubuntu repositories.

For an editor people make good noises about Eclipse or fight the corner of their preferred editor such as emacs or vi, again all available on the Ubuntu repositories.

EDIT - I really should open less tabs... iJack got there first.
 

Pyroflea

Distinguished
Mar 18, 2007
2,156
0
19,960
C/C++ can be handled by GCC, which is installed by default.
C# is covered by the Mono project, but you should leave that in Windows.
Java, you can download the Oracle JDK.

You can use Gedit/Nano/ViM, which are installed by default, or install an IDE such as Eclipse or Netbeans. Entirely up to you.
 

totalknowledge

Distinguished
Jul 8, 2011
540
0
19,010
Are you just learning, or is this for a development effort?

I like Geany for lightweight development, but if you are wanting to spin up a large multi developer effort, something more like netbeans, or codeblocks for IDE.

For the compiler itself, gcc... which is the compiler used for Linux itself. Oracle JDK for Java of course. C# isn't really a Linux language.
 

bmouring

Distinguished
May 6, 2006
1,215
0
19,360

LLVM in technically the bottom-end of a compiler framework, and as such there's a llvmgcc project that has some fairly-impressive compiletime speedups (and even results in faster code at times due to a wider frame in which to optimize).

LLVM works on a model that describes your program, so in theory it can be used to compile from any language with an appropriate language-to-model adapter layer, for example the company that I work for uses LLVM under the hood to convert graphical "programs" to the graph representation on which LLVM operates (and therefore makes it easier to target various different architectures)