August 25, 2019

Comparing C++ with C# for library creation


The normal comparison between C# vs. C++ are asking which language is the better choice for creating a desktop application. In theory, both languages are a great choice, because they have built in lots of features, and it's pretty easy to write working code in the language. instead of asking if C# is superior to C++ we should at first redefine the question into the direction, which language is more suitable for creating a programming library. What programmers are really doing is not to write yet another texteditor, but if the aim is to maximize the productivity the idea is to create library, which can be used by more than a single application.
Unfortunately, none of the common high level languages like C#, C++, Java or Python can be recommended for creating a library. The problem with C# and the mono ecosystem is, that it doesn't run under Linux. Java has the problem, that it's a bit slow, C++ has the problem that the compilers are heavy weight and Python is the slowest language ever invented. The most interesting fact in modern computer programing is, that a single programming language is available which is accepted widely as library friendly. The C programming language is still the number one for mainting old library and creating new one.
Every language (C#, C++ or Python) provides interface to run existing C code. The reason is, that the underlying routines from the operating system are written mostly in C and there is no alternative available which can replace the standard. In contrast to high level programming language, no one will argue against the C language as a low level library language.