Slashdot Mirror


User: coonsta

coonsta's activity in the archive.

Stories
0
Comments
8
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 8

  1. Re:I wish they had evaluated it. on Microsoft License Goes to OSI But Not From Redmond · · Score: 1

    There is a list of Microsoft software released under their shared source licenses (of which the community license is one of three) at http://www.microsoft.com/resources/sharedsource/li censing/getsource.mspx

  2. Re:FUD machine in overdrive on Bill Joy's Takes on C# · · Score: 1
    Java casts are checked at runtime, but statically the programmer is telling the type checker to "take a hike!"

    So to clarify the analogy, managed C# pointers interact with the garbage collector at runtime and are a "safe" pointer (relative to a C pointer, which can point to something that is subsequently free'd).

  3. FUD machine in overdrive on Bill Joy's Takes on C# · · Score: 4, Interesting
    To serious developers not familiar with C# and .NET, either don't read Joy, or be willing to look into the details yourself. You could be embarrassed if you repeat the gist of this article as lore. At the very least, you can easily convince yourself that this article is bogus in that it doesn't mention that C# has three kinds of pointers-- managed, unmanaged and transient.

    C# does allow pointers and pointer manipulation. This is mostly for programmers seeking extra performance. Like a cast in Java, declaring code as "unsafe" is equivalent to saying to the VM, "Hey, I know what I'm doing." C# pointers are definitely not as liberal as C ones (just like casts in Java are not as liberal as casts in C).

    For those sincerely seeking an intelligent discussion of pointers in the CLR, see Gough, J. "Compiling for the .NET Common Language Runtime (CLR)" Prentice Hall, NJ 2002.

  4. Laundry list of corrections on C# From a Java Developer's Perspective · · Score: 4, Insightful

    I think this is a bit Java biased, in that it uses some very precise wording and fails to mention a lot of relevant features of C# until the appendix-like section D. And it contains some outright mistakes.

    My corrections:

    A.2: Java doesn't have an "unsafe" keyword; C# and Java have a "volatile" keyword that is strangely missing. And don't you think it's strange that he doesn't equate C#'s "extern" with Java's "native"? They're approximately the same.

    A.5: Neglects to mention here that C# has square *and* jagged arrays, it is stuck in section D.

    A.10: The phrase "both languages have an inheritance hierarchy where all exceptions are derived from a single Exception class" is a tautology, because "all exceptions" *are* exceptions because they extend Exception! Whereas if he meant to say "all objects that can be thrown are instances of types derived from a single Exception class" he would be wrong, because in Java these all derive from java.lang.Throwable.

    The sentence two sentences after that one, starting "Finally, both languages..." does not make sense.

    B.8: The last statement in this paragraph is incorrect. Isn't it possibly in Java to simply write ArrayList.class, if java.util.ArrayList has been imported? Likewise in C#, where if System.Collections has not been using'ed it is necessary to write typeof(System.Collections.ArrayList).

    C.1: This really should mention delegates here. It was inner classes v. delegates that heated up the Sun vs. J++ debate. Thus C# doesn't suffer a "lack" of inner classes, rather it suffers an ideological difference with Java, don't you think? And likewise, Java doesn't suffer a "lack" of delegates.

    C.3: The criticism that, for example, it is possible to overload "", and this makes overloading bad, and C# has overloading, hence C# is bad-- is nonsense! In C# it is illegal to overload, for example "", or "==" but not "!=".

    It also says "()" (I assume meaning cast) and "[]" can not be overloaded. This is again very precise and misleading language. They can not be overloaded, because custom conversions and indexers can be used instead!

    It also fails to mention that "&&", etc. will call "&". The blanket statement that "&&", "||", etc. "can not be overloaded" is very misleading.

    C.4: You can "fall through" in C#, with goto. Except unlike Java, in C# it is explicit (and more flexible).

    Fails to mention Java's limited range of "switch" statements, whereas e.g. C# can switch on a ulong.

    C.5: Seems to miss the distinction between *assemblies* and *modules*.

    C.6: Some of these criticisms are unfair, e.g. that Java has thread-safe collections. In C#, a reference to a synchronized wrapper can be kept and the un-thread safe reference be let go out of scope!

    Not mentioning boxing and unboxing here is a failure: one of the chief gripes with Java's collections is that it is necessary to wrap the primitive types in their class equivalents.

    C.7: Java has a labeled goto of sorts-- break and continue. Thus some of the criticisms of the weakness of languages with goto may also be applied to Java.

    C.8: Is this section intended to confuse? The fact that marking a method final in Java means that subclasses cannot contain a method with a similar signature is a *coincidence* arising from the fact that (a) final means methods can not be overridden and (b) Java does not have new/reintroduce semantics and relies instead of the name and parameters. Thus C#'s final achieves exactly the same as Java's in terms of dynamic linking and dispatch-- that a particular method can not be overridden.

    D.3: Should probably mention that .NET has an attribute for marking enumerations as able to be used in bitwise combination, whereas this is always possible (whether correct or not) in a Java pseudo-enumeration with int members. On the other hand, the "workaround" in Java makes this impossible-- you can't "or" objects.

    Well, that's my $0.02. Apart from those glaring problems, the discussion is not bad.

  5. Vasodilation-- keep your hands and feet warm on Recepies For A Good Night's Sleep? · · Score: 1

    I have heard that vasodilation is a physiological response that occurs just before/as one is going to sleep. The net effect is to make your hands and feet warmer than usual, so to have a good night's sleep you should keep your hands and feet warm.

  6. If DNA is Open Source, and Microsoft... oh my... on Open Source Biology And Knowledge Distribution · · Score: 1

    If DNA is Open Source, and keeping in mind Microsoft's recent anti-Open Source rumblings... What do you predict the fate of "Windows DNA" will be?

    On the other hand, it probably doesn't matter-- Windows doesn't have a particularly interesting lineage anyway. Or is this a completely unrelated issue, and I've been caught in the .NET of stupid nomenclature?

  7. Why not call it... on Sony To Release New Pet Robot By Year's End · · Score: 1

    Aibro?

  8. Microsoft's .NET incorporates something like that on Is There A Standard for Software Metadata? · · Score: 1

    Apparently Microsoft's new .NET platform incorporates some kind of meta-data for "assemblies" (ala packages in Java I think). It might be worthwhile looking at what they've done. I believe it's XML based and includes documentation, authorship, licencing and other required assemblies amongst other things.