D
DevynCJohnson
Guest
In the past few weeks, I have noticed that many programmers that once used Windows or are just now learning to program are not sure about the available developer's software for Linux. I have had many such people ask me what would be a suitable Linux IDE for programming language X, Y, and Z, so I have decided to write an article that may help such people. In my opinion, Linux is the best operating system for developers since a lot of open-source software is available as you are about to see. Remember though, this article is not meant to be a thorough review of the available IDEs or compilers. Rather, this article is meant for new developers to gain an understanding of the tools at their disposal.
Integrated Developers Environments (IDEs)
As many of you probably already know, an IDE is the application that developers use to write and debug their program. Eclipse is an IDE for writing Java applications (https://www.eclipse.org/downloads/). Many plugins exist for Eclipse to allow other languages to be managed in this IDE. For instance, a plugin is available for Ceylon development.
My personal favorite is Geany. Geany is a lightweight IDE that supports a large variety of languages and tools (http://www.geany.org/). Geany supports many plugins that add additional tools, features, and functionality.
Eric is a Python and Ruby IDE (http://eric-ide.python-projects.org/). Eric offers many features and supports plugins. Eric can also be used to make icons.
CodeBlocks is a Fortran and C/C++ IDE (http://www.codeblocks.org/). Many C/C++ IDEs exist for Linux, but not all IDEs support Fortran, so CodeBlocks may interest you Fortran programmers. CodeBlocks also appears to support many plugins
Gedit primarily a plain text editor, but Gedit has some features and plugins that make it a suitable lightweight IDE (https://wiki.gnome.org/Apps/Gedit). Gedit supports HTML, Perl, Python, XML, C/C++, and more languages. Gedit is perfect for systems with very little resources (like memory) and for making minor edits to code. As far as being a markup language IDE (HTML and XML), Gedit is a great choice (in my opinion).
Anjuta is a Geany-like IDE that offers more tools than Geany (http://www.anjuta.org/). Anjuta has a GUI maker while Geany does not (technically, Glade is integrated into Anjuta). In general, most developers would choose Anjuta over Geany if they want more features. Anjuta mainly supports C/C++, Vala, JavaScript, and Python. However, other languages are supported.
KDevelop is an IDE that has the KDE look and feel (http://kdevelop.org/). KDevelop primarily supports C/C++, although other languages are well represented.
Codelite is yet another C/C++ IDE (http://codelite.org/).
Monodevelop is like other IDEs as far as the general layout and supported languages (C/C++, Vala, Python, and more). However, the one characteristic that may please some of you is its great ability to support C#, GTK#, Visual Basic (VB), and .NET (http://monodevelop.com/). Many New Linux users that once used Windows often ask "What is a suitable alternative to Visual Studio for Linux?". Well, your answer is Monodeveloper.
Glade is a GUI designer for GTK interfaces (https://glade.gnome.org/). Glade generates an XML file from the interface/window the developer designed. This XML file can then be used by an application to produce the desired GUI.
I heard of Sublime-Text from someone on Google Plus, but I personally do not know enough about it to say anything about it. So, you may want to check it out yourself. (http://www.sublimetext.com/)
NOTE: The best way to choose the "right IDE" is to select one that works on your system and supports your programming language of choice. If you still have a few IDEs to choose from that follow that criteria, then try then out and see which one you like better. You may choose one over the rest because of the interface/layout or support for a particular plugin/feature. For example, I choose Geany because it supports a variety of programming languages (I know more than one computer language), it is a lightweight and simple IDE, the available plugins and features satisfy my programming needs, and Geany is supported by my system. Plus, at the time I choose Geany, some of the other IDEs appeared to have bugs and issues on my system. (Do not worry, I think the developers of these particular IDEs have fixed these bugs, so please feel free to choose an IDE other than Geany).
Compilers
gcc - This compiler is available for a very large variety of platforms and compiles C code. This is part of the GNU Compiler Collection.
g++ - This compiler is just like gcc except that it compiles C++. This is part of the GNU Compiler Collection.
ghc - This is a Haskell compiler, but it is not part of the GNU Compiler Collection.
gnat - Ada source code is compiled with this compiler. This is part of the GNU Compiler Collection.
gccgo - The GO programming language is compiled with this compiler that is part of the GNU Compiler Collection.
gcj - This is the Java compiler that is part of the GNU Compiler Collection.
g77 - This is the Fortran compiler that is part of the GNU Compiler Collection.
Clang - For those of you that do not like the GCC compiler or other C compilers from the GNU Compiler Collection, then Clang may be the right choice for your needs. Clang supports C/C++, Objective C, and Objective C++ (http://clang.llvm.org/).
MinGW (Minimalist GNU for Windows) - This compiler only works on Windows, but I wanted to mention it so readers know that this is not a compiler for Linux users. MinGW is a Windows port of the GNU Compiler Collection.
NOTE TO DEVELOPERS: I am willing to write a review (one article dedicated to your software) of your software if it would work on a 64-bit Ubuntu system. If you have an open-source project you would like me to review, please email me ([email protected]) and we can arrange a review. If you have a proprietary Linux software that works on a 64-bit Ubuntu system, then I can also write a review on your software. Just email me so we can make an arrangement.
Integrated Developers Environments (IDEs)
As many of you probably already know, an IDE is the application that developers use to write and debug their program. Eclipse is an IDE for writing Java applications (https://www.eclipse.org/downloads/). Many plugins exist for Eclipse to allow other languages to be managed in this IDE. For instance, a plugin is available for Ceylon development.
My personal favorite is Geany. Geany is a lightweight IDE that supports a large variety of languages and tools (http://www.geany.org/). Geany supports many plugins that add additional tools, features, and functionality.
Eric is a Python and Ruby IDE (http://eric-ide.python-projects.org/). Eric offers many features and supports plugins. Eric can also be used to make icons.
CodeBlocks is a Fortran and C/C++ IDE (http://www.codeblocks.org/). Many C/C++ IDEs exist for Linux, but not all IDEs support Fortran, so CodeBlocks may interest you Fortran programmers. CodeBlocks also appears to support many plugins
Gedit primarily a plain text editor, but Gedit has some features and plugins that make it a suitable lightweight IDE (https://wiki.gnome.org/Apps/Gedit). Gedit supports HTML, Perl, Python, XML, C/C++, and more languages. Gedit is perfect for systems with very little resources (like memory) and for making minor edits to code. As far as being a markup language IDE (HTML and XML), Gedit is a great choice (in my opinion).
Anjuta is a Geany-like IDE that offers more tools than Geany (http://www.anjuta.org/). Anjuta has a GUI maker while Geany does not (technically, Glade is integrated into Anjuta). In general, most developers would choose Anjuta over Geany if they want more features. Anjuta mainly supports C/C++, Vala, JavaScript, and Python. However, other languages are supported.
KDevelop is an IDE that has the KDE look and feel (http://kdevelop.org/). KDevelop primarily supports C/C++, although other languages are well represented.
Codelite is yet another C/C++ IDE (http://codelite.org/).
Monodevelop is like other IDEs as far as the general layout and supported languages (C/C++, Vala, Python, and more). However, the one characteristic that may please some of you is its great ability to support C#, GTK#, Visual Basic (VB), and .NET (http://monodevelop.com/). Many New Linux users that once used Windows often ask "What is a suitable alternative to Visual Studio for Linux?". Well, your answer is Monodeveloper.
Glade is a GUI designer for GTK interfaces (https://glade.gnome.org/). Glade generates an XML file from the interface/window the developer designed. This XML file can then be used by an application to produce the desired GUI.
I heard of Sublime-Text from someone on Google Plus, but I personally do not know enough about it to say anything about it. So, you may want to check it out yourself. (http://www.sublimetext.com/)
NOTE: The best way to choose the "right IDE" is to select one that works on your system and supports your programming language of choice. If you still have a few IDEs to choose from that follow that criteria, then try then out and see which one you like better. You may choose one over the rest because of the interface/layout or support for a particular plugin/feature. For example, I choose Geany because it supports a variety of programming languages (I know more than one computer language), it is a lightweight and simple IDE, the available plugins and features satisfy my programming needs, and Geany is supported by my system. Plus, at the time I choose Geany, some of the other IDEs appeared to have bugs and issues on my system. (Do not worry, I think the developers of these particular IDEs have fixed these bugs, so please feel free to choose an IDE other than Geany).
Compilers
gcc - This compiler is available for a very large variety of platforms and compiles C code. This is part of the GNU Compiler Collection.
g++ - This compiler is just like gcc except that it compiles C++. This is part of the GNU Compiler Collection.
ghc - This is a Haskell compiler, but it is not part of the GNU Compiler Collection.
gnat - Ada source code is compiled with this compiler. This is part of the GNU Compiler Collection.
gccgo - The GO programming language is compiled with this compiler that is part of the GNU Compiler Collection.
gcj - This is the Java compiler that is part of the GNU Compiler Collection.
g77 - This is the Fortran compiler that is part of the GNU Compiler Collection.
Clang - For those of you that do not like the GCC compiler or other C compilers from the GNU Compiler Collection, then Clang may be the right choice for your needs. Clang supports C/C++, Objective C, and Objective C++ (http://clang.llvm.org/).
MinGW (Minimalist GNU for Windows) - This compiler only works on Windows, but I wanted to mention it so readers know that this is not a compiler for Linux users. MinGW is a Windows port of the GNU Compiler Collection.
NOTE TO DEVELOPERS: I am willing to write a review (one article dedicated to your software) of your software if it would work on a 64-bit Ubuntu system. If you have an open-source project you would like me to review, please email me ([email protected]) and we can arrange a review. If you have a proprietary Linux software that works on a 64-bit Ubuntu system, then I can also write a review on your software. Just email me so we can make an arrangement.
Attachments
Last edited: