Announcement

Collapse
No announcement yet.

Mono Developers Go Bye-Bye From Attachmate

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

  • #81
    Originally posted by Znurre View Post
    As for the syntax I am not quite sure what you are referring to, but there are at least a lot of things I miss in the C# syntax:[LIST][*]Pointers
    C# has pointers.
    [*]Being able to treat a pointer as an int (0 or >0) to test whether it's valid or not.
    Code:
    if (pointer)
    vs if (pointer != null)[/code]? That's a tiny difference at best (and in fact our company's C++ coding guidelines request that we avoid the first for clarity).

    [*]Separate header and source files
    This is by far the worst problem in C and C++, i.e. the lack of a real module system. How could you possibly prefer writing the same code *twice* in order to achieve anything?

    Besides, have you ever written cross-platform C/C++ headers? I have and the amount of platform-specific hacks necessary is ridiculous (this was a C++ OpenGL header with proper namespaces, enums etc).

    I am just waiting for C++0x to make its debut, to improve the C++ syntax further.
    Aren't we all? Btw it's called C++1x now.

    Comment


    • #82
      Originally posted by kraftman View Post
      Oh, what makes 'us' the hypocrites? We're not saying we love Linux, so we code in mono. I'm saying f*ck you ms and I don't touch their c#. How this makes me a hypocrite?
      Because your arguments are not internally consistent.

      First, you say use Java instead of Mono when Java is backed by a significantly worse company as far as open-source is concerned: Oracle.

      Second, you say that we (the open-source world) doesn't need C#. This is inconsistent with the meaning of Free Software and by saying this, you prove that you do not support Free software at all - even though you claim you do.

      Third, you celebrate when open-source developers lose their jobs. Great, now they will finally get the chance to work for some closed-source, windows-only company. Happy?

      Want more?

      Comment


      • #83
        Originally posted by BlackStar View Post
        C# has pointers.
        Of course I know this, but I was referring to the syntax.
        In C# you never choose whetver you want to pass something by reference or value, correct me if I am wrong but the ref "operator" seems to be only for decoration.
        At least I really like the strict syntax of C++ with pointers, references etc.

        Comment


        • #84
          Originally posted by BlackStar View Post
          Great, now they will finally get the chance to work for some closed-source, windows-only company. Happy?

          Want more?
          Ha, getting reassigned within same company is not big deal.

          Comment


          • #85
            Originally posted by Znurre View Post
            Of course I know this, but I was referring to the syntax.
            In C# you never choose whetver you want to pass something by reference or value, correct me if I am wrong but the ref "operator" seems to be only for decoration.
            Actually, that's incorrect:

            Code:
            class Test
            {
                void Foo(int i) { i = 5; }
                void Bar(ref int i) { i = 10; }
                public static void Main()
                {
                    int i = 0;
                    Foo(i);
                    Console.WriteLine(i);
                    Bar(ref i);
                    Console.WriteLine(i);
                }
            }
            The reason for the confusion is that in C# (like in Java) class are reference types (C#, unlike Java, also provides value types, i.e. structs), so you can pass a reference type by value (default) or by reference (ref/out keywords). There is a subtle - but important! - distinction between the two: in the first case, if you assign null to the parameter inside the function, this won't be reflected outside the function; in the second case, the change will affect the parameter outside the function, too. (The same thing would happen if you assigned a new instance).

            At least I really like the strict syntax of C++ with pointers, references etc.
            I feel that C++ references leave a lot to be desired. They cannot be reseated (i.e. once you assign a reference to a variable, it is an error to reassign that variable), they cannot be stored in vectors or standard containers (due to the above) and they are silent and deadly. For instance this:
            Code:
            int i = 0;
            Foo(i);
            what's the value of i after the call? In C++ you cannot know, leading to hard-to-find bugs. In C# you know it will be 0.

            At least with pointers, you have the distinction between Foo(i) and Foo(&i), telling you everything you need to know at a glance.

            In short, C# is better-design than C++, simply because it takes the experience we gained with C++ (and Java, Delphi and various) and distills it into something with fewer pitfalls and corner-cases.

            Comment


            • #86
              Originally posted by crazycheese View Post
              Ha, getting reassigned within same company is not big deal.
              Those people aren't getting reassigned. They are getting laid off. As in, "off you go and thanks for all the fish".

              Besides, Novell doesn't exist anymore. This *is* a different company, Attachmate, that offers "Windows 7 optimized solutions" (from their website) and whose base of operations is in a different country (Germany). That's quite a big freaking deal.

              Comment


              • #87
                Originally posted by BlackStar View Post
                What's the value of i after the call? In C++ you cannot know, leading to hard-to-find bugs. In C# you know it will be 0.
                Well, just look at the method definition and you see that it would take either int &i or int i.
                It's really the same as out/ref in C#, except that the syntax (imo.) is cleaner ^^

                Comment


                • #88
                  Originally posted by Znurre View Post
                  Well, just look at the method definition and you see that it would take either int &i or int i.
                  It's really the same as out/ref in C#, except that the syntax (imo.) is cleaner ^^
                  I would argue that having a cleaner syntax makes it better.

                  In any case, passing by ref and objects with out parameters usually means someone doesn't "get" OOP. You normally see people complain about them when they try to write C code in C#. But for those who need them, they are there, unlike Java.

                  Comment


                  • #89
                    Originally posted by BlackStar View Post
                    Because your arguments are not internally consistent.
                    Let's check.

                    First, you say use Java instead of Mono when Java is backed by a significantly worse company as far as open-source is concerned: Oracle.
                    I prefer Qt over java, but I prefer Java over Mono. Java is backed by a significantly better company compared to MS, because Oracle supports Linux in some way. MS wants to tax or kill Linux and they don't support it. While both companies are bad in general to Open Source, Oracle doesn't compete with Linux on desktops.

                    Second, you say that we (the open-source world) doesn't need C#. This is inconsistent with the meaning of Free Software and by saying this, you prove that you do not support Free software at all - even though you claim you do.
                    Nice playing, but stupid arguments. By supporting C# you do not support Free Software at all. The essence of FLOSS is GPL and GPL is here to not support competitiors. Using C# you do support the biggest FLOSS competitor. By using C# over Qt or other Free Software friendly languages you prove you do not support FLOSS at all.

                    Third, you celebrate when open-source developers lose their jobs. Great, now they will finally get the chance to work for some closed-source, windows-only company. Happy?
                    Open Source != FLOSS. When open source developers support competitors (like bsd, mono folks) then I'm happy when it ends.

                    Want more?
                    Of course. I can't wait to read some other revelations, but give some proofs this time.

                    Comment


                    • #90
                      Originally posted by wswartzendruber View Post
                      Are you guys for real? I, for one, liked the option of having a C# compiler on Linux.
                      While options is a good thing, this is not a big deal. Better to use the resources and manpower to other more viable projects. There are hundreds of them.

                      Comment

                      Working...
                      X