September 27, 2022

Programming in C# on a Linux desktop

Since many years, the Linux community is asking how and when the Linux desktop will become a mainstream ecosystem. The answer is always disappointing, that this is not the case and nobody knows the reason why. The underlying reason isn't located in the technology but it has to do with the Open Source ideology which prevents that Linux will become the default desktop PC.
Let us investigate the subject in detail and ask a simple question: which IDE (programming environment) is available under Linux which allows to program in the C# language? Somebody may argue, that this question is not important because nobody likes to do so, and in addition all the major IDEs are supporting of course all the programming languages. The surprising insight is, that this is not the case. Let us take a look on some major IDE in Linux which are code:lite, code:blocks, kdevelop and netbeans. It is possible to use these IDE for any language e.g. php, python, C/C++, java and even Lisp. So it would be naturally, that the major C# language which in the top 10 of the TIOBE index is supported as well.
According to the forum postings this is not the case.[1][2][3][4] The interesting situation is, that the answer for C# support or maybe a simple third party plugin is always answered very short with something like “nope” and “we don't have it and there is no plan in that direction” without giving a further explanation. The only IDE which is available for Linux is Eclipse which has at least a third party plugin for C# ("aCute"). But it is poor documented and the user is encouraged to not use the language at all.
So the question is, why is C# not liked by Linux enthusiasts? At first, we have to make clear that Linux is open to different programming languages. All the important languages like C/C++, java, php, python, TCL and of course Forth are accepted and it depends on the individual programmer if he likes the language or not. The only exception is the C# language. Here, the user is not allowed to use the language. The only way in doing so is to install a complete different IDE. That means the user has to leave the normal IDE community and search for a visual studio like software which is available for Linux or not.
References
[1] Feature Request - C#, 2016 #1448 https://github.com/eranif/codelite/issues/1448
[2] Does CodeBlocks support C#, 2014 https://forums.codeblocks.org/index.php?topic=18740.0
[3] KDevelop C# Language Support?, 2016 https://forum.kde.org/viewtopic.php?f=218&t=136944
[4] C# in Netbeans?, 2010 https://www.codeproject.com/Questions/85177/C-in-Netbeans