Author: Eugene Nalimov
Date: 12:25:33 01/06/99
Go up one level in this thread
On January 06, 1999 at 15:06:29, Christopher R. Dorr wrote: >On January 06, 1999 at 13:28:05, Eugene Nalimov wrote: > >>On January 06, 1999 at 10:21:59, Christopher R. Dorr wrote: >> >>>On January 05, 1999 at 20:29:57, KarinsDad wrote: >>> >>>>On January 05, 1999 at 19:35:23, Eugene Nalimov wrote: >>>> >>>>[snip] >>>> >>>>>>I agree that collaboration is very important. But which do you think is going to >>>>>>produce the better outcome: two world-class leaders in the field (with vast >>>>>>amounts of prior experience and education in the field between them) or one team >>>>>>leader, and 50 fantastic programmers, who know *nothing* about chess >>>>>>programming? >>>>> >>>>>Why do you think that optimal group will be "1 leader + 50 fantastic >>>>>programmers"? I'd suggest something like "1 leader + 2 grandmasters + >>>>>5-7 fantasic programmers + 5 very good testers + 1 specialist on >>>>>particular CPU architecture + 1-2 administrators + 2 fast computers >>>>>per developer + lot of *very fast* test computers". And I'm reasonable >>>>>sure that such a team will produce much better results than team that >>>>>consist of just 2 leaders. >>>>> >>>>>Eugene >>>> >>>>Chris, >>>> >>>>I agree with Eugene. Obviously, "50 fantastic programmers, who know *nothing* >>>>about chess programming" isn't going to cut the mustard. >>>> >>>>Hence, you would use a sophisticated team of computer software developers >>>>including testers, technical writers, managers, accountants (well, maybe one >>>>accountant), researchers, reverse engineering specialists, AI experts, chess >>>>programming experts, and possibly a few of us grunts who are really interested >>>>in it (plus a bunch of people I neglected to mention). >>>> >>>>Well, I have to go to the chess club. :) Darn! >>>> >>>>KarinsDad >>> >>>Can we toss in a couple of lawyers?! I know a couple of them that I'd love to >>>send to Seattle for while. :) >>> >>>Seriously, though, I'm not disagreeing that MS could make things better. The >>>could make interfaces much better, opening book editors much better, databases >>>much better and easier to use. But my issue here is more about the role of >>>large-team based software engineering and a project like chess programming. I >>>simply disagree with the quoted MS manager who said that MS could easily and >>>significantly 'blow away' what currently exists. >>> >>>I don't think that a large team (as talented as they might be) would advance the >>>state of the art to any large degree simply because of the nature of the task. I >>>don't think that chess programming lends itself to the necessary partitioning >>>that would benefit from having a large team work on it. >>> >>>I believe that a program like a chess program (or a specialized modeling >>>program, etc. ) is fundamentally different from a large application. It's >>>inconceivable that a single programmer could put together a world-class word >>>processor or spreadsheet today. No one person can write a million lines of code >>>in a reaonable amount of time. >>> >>>But a chess program? Crafty is world-class, and it's source fits on a single >>>disk. How would a team of programmers be any more efficient than Bob by himself? >>>The code doesn't partialize out well. Of course he could benefit from a >>>full-time GM, or a tech writer, but I feel that a single person (or *very* small >>>team) would be at more efficient in producing the core functions than a large >>>team. To me, it's just the nature of the beast. >>> >>>Chris >> >>Ok. Here is the example: good optimizing C compiler. I'm not >>talking about great effort necessary to confirm with C++ >>standard, about MFC classes, about different libraries, >>etc. - just about code quality. Look at MS Visual C/C++. >>If you'll ask "What x86 C compiler generates the best >>(fastest) code", you'll have to admit that VC is *the* >>answer. Ask Bob. Crafty - without any assembly routines - >>is at least 10% faster when it's compiled with VC than when >>it's compiled by other C compiler. >> >>I'd bet that size of the optimizer and code generator is >>comparable with size of the modern chess engines. Maybe it's >>2 times larger, but not 5 times. >> >>Yes, it's part of the huge application, MS Development >>Studio. But that part is still the best. >> >>Eugene > >No argument here. MS has always made some of the very best development tools. >But this also goes to something I mentioned, in a way. Compiler design and >optimization are pretty arcane and complex subjects, much like chess >programming. > >Ask the development team how long they've been doing compiler stuff. My guess is >that many of them will say 'A long time'. Take a group of application >programmers, with no experience in compiler stuff except, perhaps, for a >compiler design course in college. How long do you think it will take to ramp up >to being as good as the current VC++ team? My guess is that it would take quite >a while. Maybe a couple of years. Until then, they won't be writing world-class >compilers. After that, they'll be competitive. > >Take this same group of talented engineers and programmers, and throw them into >the chess programming group. I feel that it would take them a similar amount of >time to ramp up to the point where they'd be producing state of the art code. In >2 years, perhaps they'll be hanging with Ed and Bob, but until then, I feel they >won't be as good. > >I feel that it is the nature of the beast. Has nothing to do with MS or anyone >else; it simply takes significant amounts of time to get very good in a complex, >advanced field like compiler design or chess programming. And until you reach >that point, you really can't add much to the 'state of the art'. > >Chris We differs in the following: you insist that *all* members of the team must have previous experience. I think that for the small group (say, 5 developers or less) *leader(s)* must have a lot of experience. Of course it'll help if other team members will have some experience, too, but that's not necessary. It can be replaced by good organization - and MS has an excellent traditions here. So, in our hypothetical situation, MS must go and hire one or two best people in the field. All other team can be found inside MS itself. Exactly that was done in the past - VMS people were hired as leaders for NT development, database people were hired as leaders for SQL Server 7.0 development, etc. Eugene
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.