Slashdot Log In
Portable .NET Reaches A Quarter Million Lines
Posted by
timothy
on Wed Dec 26, 2001 11:33 AM
from the billions-and-billions-served dept.
from the billions-and-billions-served dept.
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.
This discussion has been archived.
No new comments can be posted.
Portable .NET Reaches A Quarter Million Lines
|
Log In/Create an Account
| Top
| 303 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
okay (Score:2, Redundant)
Who to count lines of code? (Score:1)
And to extend the code you don't reuse it?
How can we measure codes lines written?
But how many are comments? (Score:2, Interesting)
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 ?
Re:But how many are comments? (Score:5, Insightful)
" 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 ?"
You seem to be implying that in order to determine if the code is good, and represents a lot of work, you need to know the comment to statement ratio, which is true. However, you also seem to be implying that if there are lots of comments then there is less 'actual code'... and that it therefore represents less 'actual work'
If there is a high degree of commenting this is both good, and represents lots of work on the part of the programmer, assuming of course that the comments are good, accurate, and add value to the product in terms of maintainability.
One of the main reason why the Linux kernel is robust code, but remains an example of extremely bad Software Engineering is that it is poorly commented, when at all.
Remember this fundamental maxim of good Software Engineering practice:
Good source code is compileable documentation" - Zero__Kelvin
It can compile, run robustly, and be very 'un-buggy', but that doesn't make it good source code. Until programmers really grasp this they will never become competant Software Engineers! Those who question this wisdom may want to start educating themselves with a thorough and open-minded reading of Fredrick Brooks' "The Mythical Man Month" [amazon.com].
Bah! (Score:3, Informative)
At the core of Microsoft's
This is simply not true! Hailstorm is only a service that happens to use the
Andre060
Hmmm (Score:3, Interesting)
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.
Re:Hmmm (Score:5, Insightful)
-jeff
Re:Hmmm (Score:5, Interesting)
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.
How buggy is it? (Score:2, Flamebait)
How bad could one man's code be?
How maintainable?
Why bother .NET? (Score:1, Troll)
Why not use resources to create better Java sollutions or C++ sollutions instead?
.NET (Score:4, Funny)
half a million lines of code... (Score:5, Funny)
quarter billion eh? (Score:1)
Depends on point of view (Score:5, Funny)
int
main
(
argv
,
*
argc
[
]
)
{
printf
(
"
test
"
)
;
return
(
0
)
}
what you get there is 3 lines of code, but you get paid or in this case credited for 23. Now if you got paid (or for that mater recieved recognition) by the line, which would you right??
Commendations (Score:3, Insightful)
- Snowbeam
Quarter Billion? (Score:1, Insightful)
Now the last time I checked, 250,000 was a quarter million, not a quarter billion
How long until Microsoft hires him (Score:1)
Remember the guy who ported Sun's Java code to Linux?
He was hired by Microsoft and was never heard from again.
Hopefully this won't happen again.
Figures? (Score:1)
Quantity is job one! (Score:1)
Reminds me of what was presumably Ford's old motto - Quantity is job one!
NIST to rename "millions" unit to "mebibillions" (Score:5, Funny)
In a press release issued earlier today, the National Institute of Standards and Technology [nist.gov] has announced that they will be renaming the term "million" to "mebibillions". When asked what prompted the move, an NIST spokesman said, "Initially, it was due to the problem of accurately naming the number of lines of sourcecode some guy wrote for the benefit of RMS' ego. Its just plain silly how much this guy wrote." , later adding, "So, we came to a consensus within the organization that a revision to the basic units of measurement should be made, so it looks like we're busy so we don't lose our funding. In addition, we feel that marketing people should always determine standards, not the engineers and scientists who actually know what they're doing. Its just good sense." Beginning January 1st, the new "mebibillions" unit will take affect.
Mebibillions of people are expected to shake their heads in disbelief at the NIST's continuined stupidity.
:)
Cheers,
Great (Score:4, Funny)
Ok, maybe you won't like this but.. (Score:3, Interesting)
Ok, so did you take a look at the
Difference/Cooperatio between DotGNU/PNet and Mono (Score:4, Interesting)
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
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.
Here are the main differences (Score:4, Interesting)
- 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
Mono unknowns:
- will it depend on Gtk/GNOME?
Ximian? (Score:1)
254,423 ???? (Score:1)
How much did he document? I seriously doubt it's well documented, especially considering a) it's open source and b) it's one guy doing it.
There is nothing worse than undocumented source.
Benefit of the doubt? (Score:5, Insightful)
How about we give this guy the benefit of the doubt and assume he knows what he's doing. Then what we have is a tremendous contribution to the free software community. I, for one, say thanks and keep up the good work.
And, if it gets released and is full of bugs, then let's beat the old lines-mean-nothing horse to death.
code looks good (Score:5, Insightful)
While I did not go through it extremely carefully, I did read through a few functions, and got an idea of how the programmer thought about things. It seems that the code is pretty tight. It's defiantly not compressed, but it is well modularized and well commented and that's more then I can say about a lot of code that I've seen.
My guess is that this man is a seasoned coder who is very driven, and I applauded his work.
-Jon
Congrats (Score:1)
Nevertheless, a quarter million lines is more code than the trollers above have ever written.
Hopefully the software will provide for a better base for us.
Thank you
Wait and See (Score:5, Insightful)
1. using a browser redirect is inherently limits the level of security
.NET does in the current form. Any business foolish enough to implement .NET as microsoft prescribes can say good bye to my business. .NET could really be useful and ground breaking, but it is far from enterprise level in terms of reliability, scalability and security. Microsoft's white paper is devoid of specific details about how .NET servers should be clustered for fail-over, state replication/management, load-balancing, using server-to-server authentication and profile retrieval, and security monitoring.
2. any transfer of sensitive information between companies should rely on encryption stronger than 128 SSL
3. using browser redirects means using GET, instead of POST
4. storing user information in plain text as others have mentioned is simply wrong
5. the trust relationship should be two way, not one as stated in microsoft's whitepaper.
Anyone can make RPC fast by limiting security and encryption, which is exactly what
All these little details are needed for real enterprise applications. Without it, it is just begging for trouble. It's great that dotGNU has made so much progress, but perhaps they should have gone a step further than they have http://www.dotgnu.org/web-services.html. dotGNU makes some great points about weaknesses/flaws in .NET, but they still don't go further to really provide a complete solution. The solutions proposed by the dotGNU web services page still fails to address alot of important issues.
IMNHO
oops (Score:2)
MS: Welcome to Microsoft!
in libgc/doc/README.win32: It is likely that some of these have been broken in the meantime. Patches are appreciated.
MS: No problem!
Sorry j/k, no offense.
A quarter million and counting (Score:1)
Component name (Score:1)
Ah, the portable .NET (Score:2, Interesting)
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.
Damn, that's a lot of platforms! (Score:2)
Wow! Linux, Hurd *and* GNU systems? Does it work on Tru64 with the GNU tools? How about AIX with GNU tools? Solaris with GNU?
Contrast that with Microsoft. MS Office, for example, only runs on two platforms: Windows 95/98/XP/ME/NT/2k and MacOS.
Rock on, dotDudes!
copy/paste (Score:1, Funny)
It's amazing what a man can do with copy & paste...
Give him the benefit of the doubt (Score:4, Insightful)
125 lines of code per hour
more than 2 lines of code per minute
That's not including coffee breaks, restroom time, foosball, or anything else I need to remain coherent to write code.
5000 lines of code per week over an extended period is a stunning achievement. Give the guy a break.
slow news day? (Score:1)
One guy writes 5k lines of code a week...and this is newsworthy because....
The actual count: 149,367 (Score:5, Interesting)
./sloccount
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.
Re:The actual count: 149,367 (Score:5, Informative)
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.
Hold on there sparky, get your numbers right (Score:1)
Don't you mean quarter million? If he programed at this rate for 1000 years he'd be at a quarter billion. Now *THAT* would be something!
Writing that much code by hand is a waste of time (Score:2)
#!/usr/bin/python
print "#!/usr/bin/python"
print "h = open('/dev/null', 'w')"
print "for x in range(1, 1000000):"
print " h.write('All work and no play makes Jack a dull boy.\\n')"
I'll leave it to others to debate the utility of my program vs. recreating the .NET framework :).
5000 lines per week - - IMPRESSIVE!!! (Score:2, Insightful)
To provide further perspective on this impressively rapid rate of coding, I have done some rather rudimentary calculations. All of the figures below proceed with the assumption of a 5-day, 40-hour workweek (which we all know is unrealistic in the world of programming, but for the sake of simple stats it seemed appropriate):
Lines/Month = 21,201.9
Lines/Week = 4,988.6
Lines/Day = 997.7
Lines/Hour = 124.7
Lines/Minute = 2.0
How impressive is that...WOW!!! To think that this man averaged two lines of code per minute throughout the period of an entire year is nothing less than astonishing!!! Of course, these figures are a bit skewed by the means through which I calculated them, but nonetheless, this is quite an accomplishment...
My sincere congratulations and compliments!!!
-n2q
I just don't get it (Score:2)
Now, what about Java? We have open source compilers (e.g., the KOPI kjc compiler), several runtimes (including the ORP runtime, which is quite good), and an open source batch compiler that allows exceptionally easy integration of C++ and Java (GNU gcj). We have lots of open source libraries in Java, more than 100 other language frontends, JNI interface generators (swig), XML libraries, web servers, and lots of tools. Unlike .NET, the Java platform is specified in great detail, with conformance test suites available (in comparison, Microsoft's ECMA submission is a publicity stunt with little real value). The few nice convenience features that C# and .NET have compared to Java could have been added as extensions to Java and its runtime as part of a GNU Java desktop project if people really felt they were necessary. GCC already has a frontend for Java that integrates very nicely with C++, giving developers a migration path from existing C++ code and allowing them to create stand-alone UNIX-style executables. And, unlike C#, Java is very widely taught in schools and at universities and very widely used in industry. And all that Java stuff was available in open source form a couple of years ago already.
Mono just strikes me as a serious case of NIH and people going off wanting to have fun with various new software toys. Well, that's OK, I suppose, it just isn't very utilitarian. OTOH, if this is the route by which Linux programmers finally move to languages and environments that are safe and support component-based software construction, I suppose it's better late than never.
But while .NET won't go away entirely, I believe Java still has the much brighter future, both in industry and in the open source community. You have a handful of open source programmers working impressively and very hard on Mono, but that still pales in comparison to probably thousands of active open source Java developers.
Wow. (Score:1)
If any one person wrote a quarter billion lines of code, I'd be thorougly impressed. I doubt anyone writes that much in their entire lifetime. What was Windows 98? Something like 40,000,000? So a quarter billion would be like writing Windows 98 five times, from scratch. That would be something else.
What he did write was a quarter million lines of code. Still impressive, very much so, but not quite the legend that 0.25 billion would be.
Anyway. I say Congratulations! to him, because that's a lot of hard work, and it takes a lot of dedication to do what he did, especially for such an extended period of time.
Let's lay down the terms here (Score:2)
For you see, ".NET" is really just a programming platform. Take everything that Windows can do, then wrap it in an object-oriented system, then subtract all the things that suck about Java. That is what
Passport.NET/Hailstorm/etc are just services available to programmers and users that are written with
I can surely write my own Passport-esque system and expose my web services just as passport does. Then you can use my system instead of Microsoft's.
All of this is on top of the fact that VisualStudio.NET is an entirely different beast from the platform/runtime and the services. There again, I can write my own language that compiles to the
Bottom line -- Make it clear to what you are referring:
Platform: Common Language Runtime. Includes Microsoft-IL and set of standard System objects.
Services: Passport/Hailstorm and other webservices. Can be provided by Microsoft or anyone with a webserver running the CLR (or you can write it all up by hand, but it is much easier with the CLR because it was built with that in mind.)
IDE: Integrated Development Environment, VisualStudio.NET; has facilities for 3rd party systems to plug in and be treated as 1st class languages just like VB.NET/C#. Compiles apps for the CLR, and has additional publishing features and tools for developers.
wow! (Score:1)
why are we bickering about how many lines of code? (Score:2, Interesting)
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 */
A quarter million lines? (Score:1)
Interesting (Score:1)
kLOCs... (1000 Lines Of Code)... (Score:1)