Originally posted by e8hffff
View Post
Announcement
Collapse
No announcement yet.
Mono Developers Renew Their Love For Microsoft
Collapse
X
-
-
Originally posted by mcirsta View PostI've used C++ and Qt and I can tell you it's really quite nice and cross-platform. Also performs better than anything else because well ... it's C++ . (...)
I can say that there are definitely parts where Mono and .Net (and to some extend Java) are faster than C++:
- inlining, most simple properties are inlined by the Mono or .Net. You can even hint this to
- allocation of heap short lived objects because of GC
- Mono.Simd can run faster on Mono even your code was not compiled on a machine that has the actual SIMD instructions as we can talk for a future CPU. Using intrinsics for let's say SSE2 will run for SSE2 CPUs, but a Mono.Simd can (at least theoretically) run on AVX2 with no work on your side (this is only for Mono, not for Java)
There is one case when Mono runs virtually the same as C++: on iOS as it uses the same compiler/optimizations as a C++ compiler would do it.
Comment
-
Originally posted by peppercats View Postbecause java already exists
Doesn't matter much, the age of virtual machine languages is coming to an obvious end. Scripting languages are much more popular as "first class" languages than ever and taking java/C#'s place everywhere but business cubicles.
- "Why would anyone not want Ruby on Linux?" - "Because Python already exists"
- "Why would anyone not want Python on Linux?" - "Because Perl exists"
- "Why would anyone not want Java on Linux?" - "Because C++ exists"
- "Why would anyone not want C++ on Linux?" - "Because C exists"
Age of virtual machine languages is coming to an obvious end, if you exclude that JavaScript is run on a virtual machine. By design and by default. Not an interpreter but a tiered Jit (like in IonMonkey or V8) or a Hot-spot like one (WebKit or IE). They come with generational GC too.
Both Tiobe and PyPL indices show that virtual machine languages (like PHP too, which is also "dead" for some) are in the first two spots and also they are more than 25% of usage of entire languages all the time. Is JS that popular? Tiobe gives a 2% usage (compared with a 24% Java + C#). PyPL states that JS is 7% popular, if you like this numbers, just that PyPL put like this numbers for the language popularity:
1 Java 27.0 %
2 PHP 13.0 %
3 Python 10.3 %
4 C# 10.0 %
And C++, where is it?
It is on the 5th place with 9.6%.
Comment
-
Originally posted by ciplogic View PostMono.Simd can run faster on Mono even your code was not compiled on a machine that has the actual SIMD instructions as we can talk for a future CPU. Using intrinsics for let's say SSE2 will run for SSE2 CPUs, but a Mono.Simd can (at least theoretically) run on AVX2 with no work on your side (this is only for Mono, not for Java)
Main problem of VM's is that they allocate enormous amounts of memory.
Comment
-
Originally posted by Pajn View PostI really like C# as a language. But the way Microsoft treat is I'm never gonna use it when I have the choice.
Microsoft need to create a full standard and make an open implemention the reference.
Also with Java 8 i feel less urge to use C#
Comment
-
Originally posted by Detructor View Postthe problem is, aside from C#/.NET there is no real(=professional) cross-platform language available. Aside from the slow-ugly-memory hogging piece of shit that is called Java. And luckily that has been left to die when it was given to Oracle. OpenJDK is just the last struggle before the inevitable death of that language.
C# isn't a remotely competitive language, even within the Microsoft ecosystem. F# is Microsoft's more serious competitive language.
On the JVM side, people love the Java platform, but the Java language is largely legacy. Scala is probably the most popular favorite (it's my favorite). It's a far better language than C# or Java.
Comment
-
Originally posted by Pajn View PostI really like C# as a language. But the way Microsoft treat is I'm never gonna use it when I have the choice.
Microsoft need to create a full standard and make an open implemention the reference.
Also with Java 8 i feel less urge to use C#
Scala is better than Java (and C#) in almost every way. Even Java 8. I do hope the Scala team updates to JDK 8 and provides platform lambda compatibility. Android is the big problem that pushes everyone for JDK 6 compatibility.
C# has a zillion technical problems, major ugly technical problems, but beyond those, it's not a platform-agnostic, general purpose language. It's an integration langauge for Microsoft tech stacks. If you don't want a Microosft centric tech stack, C# and .NET usually doesn't make sense.
Comment
-
Originally posted by ciplogic View PostThere is one case when Mono runs virtually the same as C++: on iOS as it uses the same compiler/optimizations as a C++ compiler would do it.
Beyond the speed, those kinds of porting layers often add a lot of unwanted complexity to the application development stack. They add extra layers that have be debugged through in the case of problems.
Comment
Comment