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.

11 of 303 comments (clear)

  1. But how many are comments? by SuzanneA · · Score: 2, Interesting
    Well commented code can end up with quite a high percentage of the code base as commments.

    I once wrote a 'small' 150k line util. Before I left the company, I was asked to comment it, after decent amounts (ie, more than '// perform the calculation') of comments, the line count was around 230k.

    So how many of the quarter million are comments then ?

  2. Hmmm by cnkeller · · Score: 3, Interesting
    Which amounts to about 5000 lines per week which is phenomenal for any programmer. He is dotGNU's one-man army.

    I didn't read the article, so maybe there are more specifics. But um, so what? Are these quality lines of code? Comments? Have they been peer reviewed? Regression tested (you did write test cases before hand, right)? I mean almost any programmer can crank out 5000 lines of crap a week, big deal. If he's producing quality, reasonably bug free code, in this amount, good for him. Otherwise, I'm not so sure I'd be touting this is a big achievement. With one person writing the code, you're only getting one persons views, etc. They're aren't any sanity checks during design decisions or even better, another way of looking at the problem. That's a bad thing in my opinion.

    --

    there are no stupid questions, but there are a lot of inquisitive idiots

    1. Re:Hmmm by JediTrainer · · Score: 5, Interesting

      This is a question that I face at work all the time.

      The reality is that you CAN make use of mediocre programmers too, but you need to be careful.

      The gifted programmer can take the lead of any coding that goes on and write the core components. That gifted programmer should also design the layout of the code and properly set up the abstraction of appropriate components. The mediocre programmers can then be assigned some of the easier programming tasks, while the gifted programmer resumes efforts on the more difficult ones.

      You'll never get away from having programmers of different skill levels working together. But - every project should have at least one gifted programmer to lead the way. The rest of the programmers can still be useful, and can catch each other's mistakes. They might even catch a mistake in the gifted programmer's code the odd time. When you're coding in a rush, mistakes happen.

      The same person looking at the same code over and over again will get used to seeing that code and sometimes silly mistakes might take a while to uncover, because after time it starts to 'look right'. No matter how gifted a programmer is, mistakes happen. It's how efficiently you can find and correct them that counts.

      --

      You can accomplish anything you set your mind to. The impossible just takes a little longer.
  3. Ok, maybe you won't like this but.. by Fuzuli · · Score: 3, Interesting

    This is no way a defence for MS, and even if it was, i do not think that that would make me an evil developer.
    Ok, so did you take a look at the .NET framework ? When compared to Win32 API it'a very big step forward for the developers who make money from Windows programming. I'd really like to hear comments of some programmers who has worked with J2EE and Java. Implementing something like MS passport may be a security problem, and i agree about it.But why most of the guys like to flame about what MS is doing with .NET technology, and totally ignore the technical framework these ideas are built on ? .NET framework, and C# are clearly superior to former MS software, and apart from being created by a monopoly they seem pretty good to me. If someone with o strong technical background and experience, would comment on why C# and/or .NET framework is evil, i'd read it with, and learn from it. Having C# and .NET Framework on Linux would be fine. Please try to explain why you don't need a good programming language and a proggramming api on linux ? or why it is bad. Do you think that MS is after money and Sun and Oracle are after something else ?

  4. Difference/Cooperatio between DotGNU/PNet and Mono by Carl · · Score: 4, Interesting

    Does anybody know how the two projects compare/cooperate? Both projects seem fairly active and doing very good work. I had assumed that Mono would be that part of DotGNU that provided the C# Compiler, Runtime and standard Libraries. But it seems that DotGNU also makes these parts with their portable net (PNet) together with their "Hailsorm" replacement.

    The Mono project seems to be only interested in the C# language/compiler and runtime environment.

    It is also interesting that the DotGNU project seems to have put a little more thought into the licensing issue. And in particular what it means to be a derived work (check their FAQ) in the new dynamic code environment that .NET brings us.

    Even though they are a GNU project they do not not use the ordinary GPL or the LGPL for their work but a GPL plus exception as also is used with GCC. This makes it possible to create derived works (in embedded devices for example where everything is linked together because you don't have a shared library loader) that with "normal" LGPL would be considered derived works.

    Which is strange if you think about it. Ximian which sponsors Mono makes use of a more agressive copyleft then the 'regular' GNU project. Which means that if Mono "wins" then we will have more (forced/copylefted) free software then when the GNU project "wins". Never thought that a commercial company would be more agressive about copyleft then the GNU project.

    Does anybody have more information about the why/how of the two (competing?) projects?
    The DotGNU website and the Mono website don't seem to talk about the other project even though it is obvious that they are doing the same sort of thing.

  5. Ah, the portable .NET by FFFish · · Score: 2, Interesting

    Ooooh, let's give those lamer moderators a big ol' present this Boxing Day: I got points to burn, guys.

    Microsoft once again leads the way for Linux. Amazing, isn't it, how many Linux projects are simply clones of existing Microsoft software.

    Need a word processor? Get a Word clone. Need a flowchart tool? Get a Visio clone. Need a vector illustrator? Get an Illustrator clone. Can't find a clone? Run WINE and use the original!

    For a community that loathes Microsoft, there certainly seems to be a lot of effort to re-create Windows and Windows apps.

    --

    --
    Don't like it? Respond with words, not karma.
  6. The actual count: 149,367 by PureFiction · · Score: 5, Interesting

    Which is still a fuckload of code. I used sloccount, which is not perfect, but is a pretty informative tool none the less.

    ./sloccount /tmp/pnet/pnet-0.2.6

    Totals grouped by language (dominant language first)
    ansic: 121564 (81.39%)
    sh: 17160 (11.49%)
    yacc: 5634 (3.77%)
    lex: 2091 (1.40%)
    asm: 1937 (1.30%)
    cpp: 961 (0.64%)
    exp: 20 (0.01%)

    Total Physical Source Lines of Code (SLOC) = 149,367
    Development Effort Estimate, Person-Years = 38.37
    Schedule Estimate, Years = 2.14
    Estimated Average Number of Developers = 17.92
    Total Estimated Cost to Develop = $ 5,183,332

    It appears that the damn lameness filter is preventing me from posting this, so i have trimmed the output a bit.

  7. Here are the main differences by Anonymous Coward · · Score: 4, Interesting

    Mono is more full-featured than DotGNU in a number of important ways:

    - Mono has a nearly fully functional VM with Jit.
    - DotGNU has no VM at all
    - Mono nearly has a c# compiler written in c#.
    - DotGNU intends to use gcc and a C compiled C# compiler.
    - Mono has more than 60% of the class libraries written
    - DotGNU has only a fraction of classes written.
    - Mono is much better coordinated and has better public relations thanks to Miguel
    - Mono has regression analysis scripts
    - As far as I can tell Mono has better i18n support

    Problems with Mono:

    - no garbage collection
    - initially hosted via Microsoft's .NET system until it is able to be self-hosted

    Mono unknowns:

    - will it depend on Gtk/GNOME?

    1. Re:Here are the main differences by rhysweatherley · · Score: 3, Interesting

      DotGNU Portable.NET has a functional VM right now too. I haven't bothered with a JIT yet, because the primary goals are portability, stability, and completeness. I try to do things in order. A JIT would take a few weeks once the rest of the infrastructure is in place. No point doing it until the basics are there.

      DotGNU Portable.NET has a fraction of classes written, but only because we have 1 very busy developer working full time on this, and my time is split across the entire project. Contributions are always welcome.

      DotGNU Portable.NET has garbage collection now, using the Hans-Boehm collector that is used by gcc.

      DotGNU has less public relations only because the media have bought into the Mono hype and haven't bothered to talk to DotGNU to get the other side of the story. Even when we seek them out to correct blatant mistakes in their articles.

  8. why are we bickering about how many lines of code? by Mark19960 · · Score: 2, Interesting

    my questions are:
    does it work?
    is it buggy?
    how reliable is it?
    in my opinion well commented code is just as important as the code itself.
    what good is code that noone knows anything about except the author?
    //comments are a good thing
    /* lets not criticize them */

  9. This many lines only show incompetency of coder by exa · · Score: 2, Interesting

    It's ANSI C.

    If it's this long, then it's not a suitable implementation
    language.

    He should have used a more capable language (read C++)
    and avoid rewriting and copy/pasting the whole world
    including data structures.

    To understand how big code is written: www.kde.org

    --
    --exa--