If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

I love mono and C#!

07-26-2011, 02:12 PM

Hi guys.

I just started to learn C# out of curiosity. First now I realize that the binary file compiled by mono can actually execute on both linux and windows! This is great. I do not know why there are so many mono haters out there, because it is brilliant in its way of not needing to be recompiled in order to run on different platforms.

I have a couple of questions though.
1. Please explain why you have so much against mono?
2. How fast is the mono implementation versus the visual studio implementation of C#?
3. How fast is mono versus java, which I assume works in a similar way as JAVA?

Edit:
Btw, the rumor that the binaries run on both Linux and Windows is a myth. The net is full of people trying to port their .NET programs to Linux and failing horribly. The programs don't run or crash at random. An exception are trivial, "hello world"-like programs.

Edit:
Btw, the rumor that the binaries run on both Linux and Windows is a myth. The net is full of people trying to port their .NET programs to Linux and failing horribly. The programs don't run or crash at random. An exception are trivial, "hello world"-like programs.

Well let be correct myself and you. The binary doesn't run on linux or windows, but in a virtual machine, just like JAVA. So if the application crash, I guess it is due to the lack of features in the underlying VM implementation, like mono.

Comment

I just started to study the Koran out of curiosity. First now I realize that you can actually read the Koran forwards and backwards! This is great. I do not know why there are so many Islam haters out there, because it is brilliant in its way that you can have more than one wife!

I have a couple of questions though.
1. Please explain why you have so much against Islam?
2. How awesome is the Koran versus the Bible?
3. How awesome is the Koran versus the Torah, which I assume is similar to the Koran?

Thanks

Seriously, I don't know if you are trolling but you sound like a religious fanatic to me. Don't get me wrong, I'm happy that you are happy with your new found religion, but can't you Mono guys just go to Redmond on Sunday's and practice your religion over there?

Comment

Seriously, I don't know if you are trolling but you sound like a religious fanatic to me. Don't get me wrong, I'm happy that you are happy with your new found religion, but can't you Mono guys just go to Redmond on Sunday's and practice your religion over there?

Wait what??? Who is the guy sounding religious again?
All I am asking for is an explanation for all the Mono hatred.

So what if C# is developed by Microsoft. I never use windows, but I have no problems using a language they have developed. Jeez, maybe you should take a pill or something.

Comment

All programming languages are cross platform. You can easily create binaries for multiple platforms with very little efforts. (Unless, of course, if you're using Visual Studio and other Microsoft technologies).

Most c# (mono) applications are slower and more taxing on the system. Not in the regard of how many operations it manages to calculate per second. Rather its how the final results somehow lacks in responsiveness. It's like walking into a brick wall.

You don't want your programs to be run through a number of additional layers. It just adds more complexity. If you encounter a rare bug in your system it's easier to track it with fewer layers in between. Each additional layer also introducer more delays.

If you're only after cross platform stick with the GNU Compiler Collection. If it's scripting you want there are plenty of good alternatives. Most of them are completely open source as well with good availability for multiple platforms.

If you're interested in increasing you programming speed, then you're on shallow water. Programming (as in writing the code) is probably the easiest and smallest part of the development of many common application.

The biggest problem with c# (mono) is that you can't just give someone a copy of the application. Imaging going to an open source friendly location, like the phoronix forum, and advertise that you just created a great application. Not many users will try it because not too many will want riddle their system with a huge beast just to run a small application.

Comment

Most of the hate is targetted towards DotNet as such, since it is a Microsoft technology.

C# was developed after Sun took MS to court over Java. They took them to court over Java because they were caught adding MS-only extensions, trying to undermine Java's multiplatform capabilities.

After they were banned from making Java, MS made their own version of Java and called it C#.

The same thing applies as before -- the language itself and the bytecode is open (but heavily patented), however most C# programs make use of .Net libraries, which are Windows only and will not run under anything else. Because of this, many people feel that this is not really a multi-platform solution, but an attempt to get Java people to switch to a Windows-only platform.

If MS really wanted C# to be cross platform, they would offer an SDK for Linux, under an open source license, including the entire .Net stuff. They obviously won't do that, so open source people are stuck reimplementing that stuff instead of contributing to something meaningful.

And yes, the danger is that if some crucial parts of the Linux desktop start depending on Mono (this is especially true in the Gnome world due to the de Icaza connection). Then MS could hit RedHat and Ubuntu with a huge patent lawsuit and we'd all land in the shitter.

So writing things in Mono is a lot like writing Linux stuff in MS Office Visual Basic. Maybe you like the language, but there are so many decent options out there which are actually free and don't carry the same risk. It's better to use really open languages and compilers than to depend on technology made by a company who is just waiting to destroy you.

Comment

@Silverthorn and @pingufunkybeat
Thanks for your excellent replies That was just the words I needed to understand why mono isn't popular.

Two last questions. Is a .NET implementation not allowed to be implemented on other OS'es than windows? Or why doesn't there exist a Linux version?

Why does Microsoft invent a language such as C#, instead of just using plain C or C++? Just to be able to have a similar language such as JAVA, with their own extensions? I don't see the point in having something similar as JAVA, if you are not targeting multiple platforms.