Announcement

Collapse
No announcement yet.

I love mono and C#!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    For some kinds of applications, there is a valid workaround: embed the runtime into a native launcher. A ~4MB version of Mono provides most features a modern cross-platform game would need (i.e. xml, networking, I/O, reflection, scripting, OpenGL, OpenAL, a garbage collector and the whole standard library). To get the same features in C++, you'd need libstdc++, TinyXML, boost a separate scripting language (Python, Lua, ...) and you'd still miss a garbage collector. Add this stuff up and you'll see it needs significantly more than 4MB - especially since you need separate 64bit and 32bit versions.
    Contradicting yourself there. How can the 4mb embedded Mono run on both 32 and 64? Does it somehow magically interpret itself?

    Comment


    • #22
      Originally posted by BlackStar View Post
      What about Python and Ruby?

      Did you know that Twitter and GitHub are written in Ruby, the slowest goddamn language in the entire world? It's 1000x slower than C# - but the sites do what they are supposed to do and that's all that matters.
      I think Twitter has switched to Java and Scala http://engineering.twitter.com/2011/...ster_1656.html

      Comment


      • #23
        It's because 32bit binaries can also run on 64 bit.

        Comment


        • #24
          This is nonsense. Applications must adapt to the OS they run on. On Mac, they must show an application menu; on KDE they should show native file dialogs; on Windows, OK/Cancel buttons should be in the correct order.
          I meant that having to change source code when using cross platform software environments and it's frameworks and libraries is a fail.
          Please don't confuse Boo with IronPython. IronPython was written by Microsoft and may or may not suffer from what you say (never used it, so I don't know).

          Boo is a completely separate, open-source language that has nothing to do with Microsoft or Python.
          Confused the two. It's IronPython I meant.

          Do you even know what I was getting at with the "object-oriented assembly" reference? It's just an obscure way of referring to C++. C is often called "portable assembly". In this sense, C++ is "portable assembly" with "object-oriented" features on top.

          What I am getting at: as long as an application does what it's supposed to do, the programming language is irrelevant to the end-user. What programming language is Phoronix written on? Is it PHP? Python? Ruby? C#? Do you know? Do you care?

          Did you know that Twitter and GitHub are written in Ruby, the slowest goddamn language in the entire world? It's 1000x slower than C# - but the sites do what they are supposed to do and that's all that matters.

          What about apt/yum/pacman/portage? Are they C? Bash scripts? TCL scripts? Lisp macros? Does it matter?

          So you don't want to use a program because I wrote it in portable assembly instead of object-oriented portable assembly? Well, be my guest. Your loss, not mine.
          That's quite a load of nonsense you're telling there.

          My point is that as long as using the application doesn't allow other people, companies, organizations to sue my ass off or that off other people, companies, organizations. Only then it's irrelevant what I use. And only then it matters that it does what it's supposed to do.

          Second point, we are talking about a framework that is cross language. I'm not talking about languages and I said that I don't care if anything is object oriented or not.

          Third point assembly does not matter because the .NET environment works with MSIL/CIL.

          I'm fine with scripts because the source can be read easily and the documentation of how functions work cannot be hidden without letting the environment, framework become commercially not viable,useless.
          Last edited by plonoma; 07-07-2015, 03:50 PM.

          Comment


          • #25
            Originally posted by curaga View Post
            Contradicting yourself there. How can the 4mb embedded Mono run on both 32 and 64? Does it somehow magically interpret itself?
            Exactly. The BCL (base class library) uses hardware agnostic IL that is magically interpreted (JITted) on the target hardware. Your native launcher links or embedsthe actual interpreter. You obviously need to ship a different native launcher for each hardware platform (that's what "native" means).

            The point is that the BCL (i.e. the large part) is shared. You can fit two such launchers (x86/amd64) plus the useful parts of the BCL in a 4MB solid archive.

            Comment


            • #26
              Originally posted by BlackStar View Post
              What about Python and Ruby?

              Did you know that Twitter and GitHub are written in Ruby, the slowest goddamn language in the entire world? It's 1000x slower than C# - but the sites do what they are supposed to do and that's all that matters.
              I think Twitter has switched (parts?) of the their code from Ruby to scala and java

              Comment


              • #27
                Originally posted by Akka View Post
                I think Twitter has switched (parts?) of the their code from Ruby to scala and java
                Quite possible, I'm not 100% up to date with happenings in the world of web development. I'm sure you can find enough big sites using Ruby successfully, despite its real or perceived performance shortcomings (every web startup seems to be looking for Ruby developers these days).

                Comment


                • #28
                  As java is a c family derived strongly typed language it simplified some aspects of the lower level languages like c and c++ which don't run on JVM's (both c/c++ compile to machine and thus are optimally performant for many types of problems but that performance comes at the cost of the increased complexity of the languages themselves. They require that you understand and care about pointers for example.

                  C# stands apart as a bit of a java clone made to run on Microsoft's CLI....though syntactically it is also very similar to c family languages.

                  As for how long it would take to learn it depends on how well you know java in the first place and on if the type of problems you wish to solve require the unique use of the low level constructs that are made available in c and c++ (pointers, garbage collection in particular) that in java and c# are taken care of for you by the virtual machine.


                  More Info : http://net-informations.com


                  Dov

                  Comment


                  • #29
                    Thread resurrection? Begone, foul lich!

                    Comment


                    • #30
                      Originally posted by directhex View Post
                      Thread resurrection? Begone, foul lich!

                      It is somewhat more relevant now that Microsoft is open-sourcing (parts of) .net .

                      Comment

                      Working...
                      X