2 ms·
Comparing Ruby and C#: Equality
- barrkel 17y agoThis post is full of inaccuracies. Some that leap out: * Ruby isn't weakly typed * C# value types are described as being allocated on the stack; but fields of value types, and boxed value types are on the heap. * Re C#: "there is no need to explicitly release or allocate memory, unless the programmer wants to do so" - there is no explicit way to release GC memory, apart from manually invoking a GC. * Worse: "Object.Equals [...] Is used to test reference equality in reference types and bitwise equality in value types" - This is completely made up. Object.Equals is a virtual method, it does whatever the descendant specifies it to do; it is resolved dynamically, at run time. * "Operator equals (==) Is, basically, a synonym of object.Equals, same rules apply" - completely incorrect, it can be overloaded and is resolved statically, at compile time.