Slashdot Mirror


Portable .NET Reaches A Quarter Million Lines

Pnet Guy writes: "Portable .NET is a component of the dotGNU meta project to provide a CLI (ECMA standard) platform for free software. The project true to its name runs on a variety of platform including Linux,Hurd and Cygwin GNU systems. To avoid any legal problems Pnet has decided to go the hard way and bootstrap our compiler off gcc. Unlike Mono which uses microsoft's runtime to run their compiler. Our premier developer Rhys Weatherly has contributed 254,423 lines written since Jan 1, 2001. Which amounts to about 5000 lines per week which is phenomenal for any programmer. He is dotGNU's one-man army. So join him in celebrating his quarter billion lines of his code." Update: 12/27 02:41 GMT by T : Note that as many readers have pointed out, that's just like the headline says -- a quarter million lines, rather than billion. Some related links to check out include the dotGNU home page, the Southern Storm Software (Rhys Weatherley's shop, with Portable .NET information), Mono's page and Pnet's CVS repository.

8 of 303 comments (clear)

  1. Bah! by Andre060 · · Score: 3, Informative
    I stopped reading when, in the first screen of the dotGNU page, i read:

    At the core of Microsoft's .NET is Hailstorm (recently renamed ".NET My Services")

    This is simply not true! Hailstorm is only a service that happens to use the .NET framework to do it's stuff. It is a different thing entirely from .NET itself!!!



    Andre060

  2. Re:Hmmm by pajama · · Score: 2, Informative
    There are a couple of tools to measure code metrics in Java:



    There should exist the same kind of tools for C/C++. Maybe if you measure this code against one of them, you could get a better picture of code's quality.



    LOC (lines of code) alone don't reflect ANYTHING.

  3. Re:Depends on point of view by regen · · Score: 3, Informative

    When I was at IBM, we had KLOC counting macros for the editors which eliminated this problem. For example a C language KLOC macro would count semicolons (with some logic to handle special case like a for statement). It almost never counted newlines to determine source lines of code.

  4. Re:The actual count: 149,367 by PureFiction · · Score: 5, Informative

    I should have posted a link to the tool which can be found at: http://www.dwheeler.com/sloccount/.

    This tool basically counts phsysical lines of code (non comments or whitespace) and produces cost and schedule estimates on this count using the standard COCOMO model.

  5. Re:The actual count: 149,367 by rhysweatherley · · Score: 3, Informative

    The actual count is indeed 250,000+. You forgot treecc and pnetlib, which are part of pnet, but distributed separately. You also forgot the *.tc input files for treecc, and the *.html and *.texi documentation files.

    I was very careful with the count. I did a complete "make distclean" to remove automatically generated files. I removed imported packages like libffi and libgc which I didn't write. And then I counted up all the lines in all three packages.

    I'm an obsessive commentor, but any good programmer should be. Comments help explain the code to yourself six months from now, when you've completely forgotten why you did something a particular way. For a multi-year project like this, obsessive comments are vital.

    250,000 lines is a conservative estimate. I've probably thrown away 50,000+ lines of code in the process of building this. Some experiments just didn't work and had to be redone.

  6. Re:The actual count: 149,367 by PureFiction · · Score: 3, Informative

    Your confusing the results.
    It would take one average developer 38.37 years to write that much code.

    OR it would take a group of 17.92 average developers 2.4 years to write that much software.

    This is by no means incredible, it makes sense. There is a huge difference in productivity between average programmers and extremely capable programmers. This is a well known phenomenon.

    There is also a lot less than 'average' amount of documentation, testing, and design going on in his work, which makes the SLOC count rise as well.

    Remember, this is all averages and assumptions. Its not 'the law'.

  7. Baloney... by Da+VinMan · · Score: 3, Informative

    First of all, C# *is* (IMO anyway) elegant. I like it. Elegance is a matter of opinion anyway. I don't like LISP, I never did, and yes, I have used it. Is its syntax more elegant than Java or C#? Yes; sort of. But do I care about LISP? Not really. I may take an interest in it one day, but not today.

    Now that aside... you used one language feature as an example to promote Java's superiority. ONE feature! Look at http://www.25hoursaday.com/CsharpVsJava.html for a more complete comparison. There's about 20 features in C# that Java doesn't have, so is C# immediately superior because of that? Maybe so, maybe not but I won't be making that decision based on ONE language feature.

    Now all *that* aside: Use the right tool for the job. I assert that C# and Java will be used for essentially different types of jobs for the immediate future. Sun/IBM did indeed get a jump on Microsoft with Java, but that won't mean much over the long haul.

    Last point: Have the proverbial balls to post as something other than AC when you decide to flame. If you'd thought your opinion was worth sh*t, you might have taken the effort to express yourself more effectively; as it was you did it half-assed, and it shows.

    --
    Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
  8. Re:Mono misinformation by Gopal.V · · Score: 2, Informative

    We do not add C# to GCC. we're writing a whole compiler (cscc) , compiler-compiler (treecc) and a portable VM (It runs on Cygwin !).

    Adding C# to GCC is more work than writing a whole compiler (scanner/parser/optimizer).

    Also Mono will have a lot of problems as their compiler is *not* self hosting. Ours are .