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.
For one thing it's a quarter million, not a quarter billion, and for another I'm never going to be impressed by a number of lines of code, but by how well it works.
Don't you think m$ will try to sue them for using this name?
This is a news story?
Last time I check 250,000 was not a quarter billion.
Who can we measure lines of code? You count, in C, the main(), the includes, the var declaration.
And to extend the code you don't reuse it?
How can we measure codes lines written?
------I can please only one person per day. Today is not your day. Tomorrow isn't looking good either.------
in the recent events of Microsoft suing Lindows over "infringement"... could it be possible that Microsoft is going to sue dotgnu for using .NET?
Now a days with all these ridiculous lawsuits going around because of name infringements... i'd feel better off naming my program, or a company, sdiuhfiuhwe inc.
"The ones who dont do anything are always the ones who try to pull you down" -- Henry Rollins
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 ?
A quarter Billion lines of code?
I thought Mono was more likely to have the code monkeys!
At the core of Microsoft's
This is simply not true! Hailstorm is only a service that happens to use the
Andre060
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
Microsoft spends millions of dollars on dozens of programmers to create their .NET runtime and still produces buggy heaps of shit.
How bad could one man's code be?
How maintainable?
Conformity is the jailer of freedom and enemy of growth. -JFK
I say think crative instead of jumping on the M$ .NET bandwagon. Do we really need .NET or C# on Linux when we got Java and C++? As I see it, both .NET and C# was created by M$ to earn some more bucks for Bill's wallet.
Why not use resources to create better Java sollutions or C++ sollutions instead?
Find nice cocktail recipes @ www.spitzy.net
After half a million lines of code in one year, they can now celebrate half a million hits in one minute!
were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
250,000 is a quarter million I believe. I guess quality and functionality are a function the amount of code, eh?
This reminds me of the old days and IBM's K-Line projects, More lines = more funding but it normaly went like this...
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??
I will bend your mind with my spoon
Though I comment the feat, there are times where I just get tired of seeing the same things over and over again. When did open source become about copying what MS ( an do not I am saying MS not any other organizations) creates. I agree that a lot of technologies out there are things that MS re-packaged and called innovations, but over the last few years, we are increasingly seeing products by MS that are being copied by open source advocates. Examples are .NET (dotGNU) and MS Passport (SUN has a new initiative with AOL and various other companies to counter it). These are just to name a few. I have no issue with this tactic of repackaging MS's work, but I would love to go back to the days and stories of "Hey here is a cool new software/technology that could change things as we know it". Open source should return to leading and not following. It's one of the things that makes Open source great.
- Snowbeam
I am Lord Snowbeam. Heed my call!
Just saw this headline on Yahoo: Study links MS, mono virus.
Couldn't have said it any better.
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
Now the last time I checked, 250,000 was a quarter million, not a quarter billion
DJ kRYPT's Free MP3s!
That was my first reaction when I read the headline. I've seen many examples of developers not properly abstracting their code, and instead of making general-purpose functions which can be used over and over again, the code may be littered with a dozen variations of the same function. Or perhaps having similar code in one routine executing over and over again rather than being in a function where it belongs in the first place.
If this code is produced in a rush and hasn't been thought out properly (and if you're alone working at this kind of pace this probably is the case), then I'm afraid to see what this code looks like.
I'm willing to bet that this is the case to some degree, because with only one person working on it there is no peer review to catch this sort of thing, and the emphasis will always be to get the program to 'just work', not to keep the code clean.
I know when I'm the only person working on something it takes a *lot* of discipline to keep the code clean and maintainable. In the back of your mind you figure that since you'll be maintaining it, it doesn't matter how it looks. Well... looking at your code in 6 months, you'll have no idea why you did things that way and why it works. Hopefully the code is at least commented to give him a clue.
You can accomplish anything you set your mind to. The impossible just takes a little longer.
That certainly sounds like bloated vaporware to me. Much like MS' .net, I would venture to say. What makes this crap any better? The fact that it runs on LUNIX?
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.
Chase them headlights, little dogies!
Well, since he only wrote a quarter million lines of code, I'm guessing the other part of the quarter billion lines must be comments. You know, there is a such thing as too much commenting...
1 goto 2
2 goto 3
3 goto 4
4 goto 5
5 goto 1
5 lines of code 1 min
Not very useful but neither is measuring code by number of lines...
So join him in celebrating his quarter billion lines of his code...
.25 billion lines of code for a few years yet.
Uhhh... Are you maybe thinking of some other bloatware project? Like Windows XP, maybe?
(All those billions of lines of code must have made it real easy for al Qaeda terrorists to embed the UPNP bug that surfaced a few days ago.)
Seriously, there are between 10 and 15 million lines of code in Windows 95, depending on which version you're describing. Jim Allchin 'guessed' that there were about 18 million lines of code in his court testimony a while back. It's been estimated several places that Win2k contains 35M lines, and XP has probably from half again to twice as much code.
Compare that to the roughly 500K lines in the Linux Kernel. Of course you can't really compare the two, because MS takes 'Monolithic' to entirely new and ridiculous levels. We probably won't be seeing
You can bet that it will be an MS product that breaks the record, tho...
The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
Reminds me of what was presumably Ford's old motto - Quantity is job one!
In a press release issued earlier today, the National Institute of Standards and Technology 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,
Bowie J. Poag
LOC (Lines of code) is an ancient metric used by dinosaur PHBs to report progress on development projects. It was a little more meaningful in lanuages such as COBOL or FORTRAN, but completely meaningless to free-form languages such as many "modern" languages are.
Perhaps they should be measuring their progress in terms of function points implemented or requirements met, or at least something a little more meaningful. However, these numbers are still meaningless without the context of the original requirements and estimated number of function points.
I Heart Sorting Networks
While he has indeed been writing large amounts of code, and fine code it is, his little joke is that all of his comments are written in Engrish
-- Dan
Write your own then.
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. .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 ?
Ok, so did you take a look at the
1) million not billion
2) "Southern Storm Software", not "Sourther Storm Software"
3) Sentence fragment: "Unlike Mono which uses microsoft's runtime to run their compiler."
4) Sentence fragment: "Which amounts to about 5000 lines per week which is phenomenal for any programmer."
5) too many missing commas to list
6) "Microsoft's", not "microsoft's"
7) yes, I'm having a bad day. Mod: -5 (TROLL)
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.
.NET brings us.
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.
So how does Ximian's Mono project fit into this?
The neutrality of this sig is disputed.
And thanks a LOT for the contribution.
(A lot of people are quick to criticize, but contribute less than nothing. Ignore them. Everything you do to contribute to innovation, freedom, and choice will always be appreciated.)
Much love.
...is the Portable.NET project really measuring their progress in SLOC? I doubt it. So, if you're not measuring your progress that way, then you're in little danger of creating code just to augment the SLOC, which is the primary drawback of using SLOC to measure progress. I see little harm in pointing out the SLOC just to make the project a bit more visible. The visibility ought to be good for their egos, and by extension, the project.
.NET CLR coverage they're going to provide.
I agree that function points could be a good measure of progress, but I would like to see a graphical chart of API progress instead. I'm more curious about how much full
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
I find that hard to believe, but if so I just have one question:
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.
Of course, everyone and their dog had the typical knee-jerk "lines of code mean nothing" reaction. Well, duh, that goes without saying. I can't believe how many mod points have been wasted on that sentiment.
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.
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
It needs an extension which would make apps 'see' the network as a unified computer, as one machine.
Then, writing net-enabled apps would be very easy.
What you describe is the common configuration, where one developer becomes a code primadonna. He (or she) will be the only one who really understands the system and everyone else just try to work around the primadonna and avoid getting in his or hers way. This is very bad because
1. You become *way* to dependent on the primadonna.
2. You don't get near full benefit of the rest of the team.
3. You will get a high staff turn-over because noone can tolerate a primadonna in the long run.
If you have a small to medium sized team (\10 developers) processes like XP will keep your developers producing quality code fast and happy at the same time.
And not because OS again copies a big industry player. It's good because it will help keep Microsoft honest about the open-ness of .NET.
.NET. They'd be stupid not to do so.
It will make the ever so elegant C# language portable, which I'm really looking forward to as I never fell in love with Java as a language.
Furthermore, at least in the Microsoft IT world, C# is it. If you're not learning C#, you're so much refuse in the new paradigm. Giving the burgeoning C# pool of programmers portability options will definitely help keep Microsoft in their place.
Oh, and keep your eye on the likes of IBM and Sun: Odds are good that they'll support an independent implementation of
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
Congratulations on the code. Hope that you continue on your quest. I know that there's many comments already posted about how the it's not much of an achievement.
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
internet like monkeys'
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
in NEWS: * Fix the code section determination logic in "_ILImageGetSection" because Microsoft has re-ordered the IL sections in such a way that it broke my previous code.
:)
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.
Cool! now the project is a quarter million lines on lenght. On the quest of perfection, I truly hope that they reach the 200k lines milestone on time. The project could be declared done when it consists of 100,000 lines.
OK, so if I object to Microsoft's tactics in the marketplace I'm 'against capitalism'. Nice logic.
Portable .NET sounds like a lawsuit waiting to happen.
One wouldn't think it would be that hard to understand after all this time...
Exactly.... I can write 250,000 simicolons pretty fast, too.
Simicolons?
Are those supposed to be binary semicolons, the same way that "mebibytes" are supposed to be binary megabytes?
(Couldn't resist...)
its apparent that most of the people responding so far haven't even looked at the code. instead in typical slashdot fashion, the dogs tear what meat they can from the bones of the story.
the fact is that what rhys is doing is incredible and paramount to both a future that has hope of freedom from microsoft centralized services.
i for one am amazed by his productivity and vision and wish the best.
in the end the only way to judge the quality and success of this code, is what percentage of the world has a passport?
What you described has nothing to do with the .NET Runtime or what this article's about.
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.
I havn't seen his code but 5000 lines of code per week, that's about 700 lines per day!
For those of us who get paid for writing code, having writen 100 lines for a day is a good reason to go party.
Not many people can do 700 lines/day, no matter how good or bad the code is. And he's done it for free.
Another thing I found impressive is that he's, being a main developer, still writing come code after a year. Many opensource projects die within a few weeks. Go to sourceforge and see how many projects still active after a year.
(You ask how many lines of comments, well, sometimes I found commenting is harder and consumes more time than actually writing the code!)
button line is: this guy deserves some credits.
return;
}
(Bleh, stupid lameness filter. That's all the ; I could cram in there.)
[paraphrasing]...evaluating a software project by lines of code is like evaluating an aircraft by how much it weighs.
So, who cares how many lines this thing has? What does it do?
//All work and no play makes Rhys a dull boy
//Al7 work and no Play makes rhys a dull boy
//All work and NO play mak3s Rhys a dull b0y
//All w0rk and no play makes Rhys a duLl boy
...
microsoftword.mp3 - it doesn't care that they're not words...
At the core of Microsoft's .NET is Hailstorm (recently renamed ".NET My Services").
This *is* true. Microsoft .NET (previously Next Generation Windows Services) is this ambiguous collection of different things, "the .NET Framework" and ".NET My Services" (previously Hailstorm) being two of them.
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!
324006
The second i read about the x lines of code i also wondered if the code way any good, so instead of mouthing off about how x lines of code doesn't matter, it's the quality, I decided to download some of it and check it out for myself.
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
this is my sig.
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.
It's amazing what a man can do with copy & paste...
Assuming an 8 hour workday, 5 days a week (yes, I know he works more than that), that translates to:
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.
um...isn't there anything else going on in the world?!
One guy writes 5k lines of code a week...and this is newsworthy because....
There are 01 types of people in this world. Those that understand binary, and me.
the mono compiler is being written in C#, which means it will run under the Mono runtime when it is completed (as well as then being instantly available to any platform that has a .net runtime).
This is a much more elegant way to go and will pay off in the long run as compared to the hack to add C# to gcc.
Which is still a fuckload of code. I used sloccount, which is not perfect, but is a pretty informative tool none the less.
/tmp/pnet/pnet-0.2.6
./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.
"So join him in celebrating his quarter billion lines of his code."
:) Just kidding, kudos to Rhys.
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!
#!/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 :).
As the poster indicates, the rate at which Weatherly writes code is nothing less that phenomenal.
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
Beer is proof that God loves us and wants us to be happy. -- Benjamin Franklin
for x in range (1, 1000000):
print "h.write...
Because they want to make money
They have the freedom to put any licence
on their project, even after it's released, so if
you want to make a commercial app with their
compiler, you'll have to get a licence from them,
but only if it is agressively copylefted (ie not
LGPL)
This is the same approach as taken by lineo,
it's just too bad they're not the best programmers
in their line of business (www.rtai.org), although
I'd play safe and still get a patent licence from
them, even though it's completely unfair that they
get money for an idea that wasn't theirs in the
first place (there were emulators back in 1980 so
one operating system on top of another is not
really an innovation).
Comment removed based on user account deletion
Another example of 'quantity over quality'?
:D
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.
So join him in celebrating his quarter billion lines of his code.
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.
Jake
Dating: while( 1 ){ call_girl(); get_rejected(); drink_40(); } return 0;
We must be careful not to lump all of the things under the Microsoft .NET umbrella together. For a moment, replace ".NET" with "Win32" and re-examine what you are saying, and what Microsoft is going on about.
.NET means to me.
.NET
.NET runtime and have it integrate with VS.NET as smoothly as C# does. The Perl.NET download from ActiveState is quite tastey.
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.
Natural != (nontoxic || beneficial)
Mono is more full-featured than DotGNU in a number of important ways:
.NET system until it is able to be self-hosted
- 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?
OK, so if I object to Microsoft's tactics in the marketplace I'm 'against capitalism'. Nice logic.
.NET framework is free. Don't let your blind, reactionary hatred of all things Microsoft interfere with your reading comprehension skills. I tire of this same old crap from the "anti-M$" crowd... anytime they get backed into a corner, they start screaming about predatory business practices, monopolies and the end of the world as we know it (and I feel fine).
Where did I mention Microsoft's business tactics? I merely stated that yes, Microsoft writes software that puts money in Bill Gates' pocket, but in this case the whole
Initially Java had a lot of grassroots support by Open Source developers until Sun renegged on the verbal promise to submit the Java language to ISO as well as EMCA. This basically showed that they have nothing but contempt for open source development. The Java language, standard library and VM development are still essentially an exclusively Sun-controlled process. It is not uncommon to have very fundamental Java bugs FOR YEARS in their bug databases that could easily be fixed by an open source effort in days. Say what you will of Microsoft - but they appeased the developers. Microsoft got EMCA approval for C# and its libraries and actually solicits and welcomes comments from the programming community - unlike Sun where you only have a voice if you are a large computer firm that pays $250,000 per year to be heard/ignored in the poorly named "Java Community Process".
The CLR VM is also far more advanced than the Java VM from a technical point of view and can more efficiently host non garbage collecting languages. CLR supports delegates which the Java VM has no equivalent. CLR optionally supports non-safe code for increased speed (great for drivers especially). C# is simply more elegant than Java in a number of ways (such as automatically boxing builtin types for collections, the "using" resource clause) resulting in far fewer lines of code in C# for a most tasks - and reduced potential errors as result. The most important point is that Microsoft knows how to develop a polished piece of software. Sun Micro is not a software company, but a hardware company. Remember until the Sun/Microsoft Java lawsuit that it was Microsoft that had the fastest Java Virtual Machine - not Sun. First to market does not necessarily win the race. Sorry, Sun, better luck next time.
It's mostly because VB programmers are largely a bunch of incompetent morons who started programming Access DBs or Word Macros. And if you could aready program, VB makes you a crappy programmer. It's an ugly, poorly designed language and the people who use it fear real programming and real computing.
I hope 4000 lines of that is comments (per week). Otherwise I'm petrified.
-pyrrho
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 */
..you can dismiss everything because of one line that *you* consider to be something other than 100% correct.
I suppose a narrow mind like yours is better off not involved anyway...
All discusion on quality versus quantity aside, anyone who appriciates what he's trying to do should donate some money towards an ergonomic workstation for this poor guy...
Nice try. JSP a rip-off of ASP? You've got to be kidding me?!?!
Try this vocabulary on for size:
Servlet
Container
Context
javax.servlet.*;
javax.servlet.http.*;
...
those are CLASSES, objects, created by a web server. Container-managed persistence? Enterprise beans? Sessions?
What is ASP? Scripting. With access to some sub-par MS libraries. What is JSP? A servlet description syntax for a powerful application built on tried and tested Java APIs in true object-oriented style.
What is ASP.NET? MS implementation of the J2EE standard, with a CLI framework. Nothing more.
People bitch about Win2k reaching 40 million lines of code. But when it's an open-source project, all of a sudden bloated software is something to take pride in...
Microsoft didn't originally develop Visio, it bought it. Word's a knock off of Word Perfect. Illustrator's Adobe's, and is in turn, Mac Draw, or Autocad depending on how you look at it. Access is Foxpro, which was also bought in. Excel, 123, Visicalc... I could go on for ever.
Sure there are examples of every class of app available under Windows, but that doesn't mean that they originated there, and certainly none of them were initiated by Microsoft.
Typists usually measure the speed as words per minute and not lines per minute.
In schools and colleges often students are asked to write essays in certain number of words and not lines.
This is because, typing and essay writing involves two types of tokens 1) words 2) puncuations. So if you eliminate punctuations, you are left with words. In some sense, I guess computer codes should also be counted in "words".
On an average day I may write between 50 to 500 lines of quality code. (By quality, I mean not rejected by a peer review.)
On a really good day I will only write between 2 and 10 lines of code. They will achieve the same ends as the 50 to 500 line solution.
M0571y H@rml355.
It's so true: VB programmers are generally a bunch of shit licking faggots. Plus, they like to mollest children.
It's called Software Metrics. It's a well-known problem in big software projects. Pick up any decent book on Software Engineering and it'll have a chapter on the subject (or do a search on google, for that matter).
#(Lines of code) generally ISN'T a way of describing effort or functionality. But 250k lines still is mighty impressive, even if it is only a line count. Imagine how much trouble you'd have to go through to NOT put any functionality in 250k lines.
I am a little disgusted at the replies. This guy sacrificed a whole year of his life, not for money or fame, but for the common good, to save the community from being eaten by microsoft. A whole year.
I would like to congratulate Rhys for his huge efforts.
Could we maybe say "thanks" instead of carping like accountants about the exact number of lines he wrote? Big picture, guys.
Grumpy, I know.
=surfcow
Or quarter million?
Fran
:):):)
1st 1st Poster of the new Millennium!
Hey guys thanks for putting up my post :)
Quidquid latine dictum sit, altum videtur
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!
Lines of code?
So tell me, what constitutes a line of code?
int main()
{ return 0 };
Two lines of code.
Or is that..
int main()
{
return 0;
}
Four lines?
Or more?
What constitutes a line of code?
And how can we accurately measure software by 'lines' when everyone goes by their own standards. (Thankfully, I abhor whitespace nazis. Easier to read my ass, I prefer being able to fit a freakin' if statement on my screen.)
How is having 'x lines of code' important?
Is their code bloated? Is it just necessary to have that many lines? Is it a nod to processor makers that, yes, they can feel free to start pushing higher-end processors because the software people have something to confuse the average consumer with?
BTW, there are pre-release, untested, packages of pnet & treecc at http://dotgnu.org/debs/.
Sorry, it's not yet apt-gettable.
The count included documentation which Rhys has provided
--
Gopal.V
Quidquid latine dictum sit, altum videtur
About 600 lines of code in that quarter billion, testing & a class status page (automated)
Does it work :(
/*I would like a bit more of them ;-)*/
Yes it does. The VM is working,. The compiler needs more work.
is it buggy
Have recieved bug fixes withing 4-5 hours of report (we have only one VM developer)
PS: The verifier is top class, I've been working for the past 5 days trying to make it dump a core
Reliable ?
Quite good, no memory leaks and stuff
Comments
Quidquid latine dictum sit, altum videtur
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--
So is Microsoft. C# is the default language for .NET and all the other .NET languages are going to slowly disappear.
Stephan
But my point isn't that C# is superior to Java or vice versa. To make that point, I would need to argue that point more effectively. My main point in that posting was that I would not be selecting Java over C# or vice versa based on one language feature. In fact, I think that the language features between the two are going to be largely irrelevant going forward. I do think that corporate culture will be VERY relevant going forward though. If your company is a "Microsoft shop" then C# or another .NET language will be the ticket. If your company is an "IBM shop" or "Java shop" or "multivendor", you'll probably use Java for those big projects. I may preach to use the "right tool for the job", but the reality is that decision is usually not made on technical grounds.
.NET is a good thing and I stick by that.
As far as my real opinion on Java vs. C#: I don't even care. I'll let other people obsess over that; and I'll eat their lunch while they're doing it.
Anyway, none of this really matters. My original and most important point was that having a non-MS implementation of
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
We are now celebrating LOC??? Are we absolutely clue-free?
You didn't 'merely state that yes, MS makes money...', you stated it in an inflammatory way that commingled Microsoft's interest with 'capitalism'. I called you on it, and you call me a reactionary who can't read. Guess what: you're the one with blind hatred, backed into a corner. Good luck!
I wonder what kind of design documentation exists for this project. If the design had been well thought out (including both HLD and LLD), the coding should flow smoothly. In a non-ad hoc project, the REAL thinking will be done during the requirements and design phases. Spend enough time there and the coding could be done by any number of people... But could they do 5000 NCSL per week? Who knows? They'd probably have an easier time doing it with a good design.