Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: assembler vs. C

Author: leonid

Date: 14:12:19 11/09/99

Go up one level in this thread


On November 09, 1999 at 16:52:22, Christophe Theron wrote:

>On November 09, 1999 at 15:32:53, leonid wrote:
>
>>On November 09, 1999 at 14:05:56, Christophe Theron wrote:
>>
>>>On November 08, 1999 at 06:02:53, leonid wrote:
>>>
>>>>On November 08, 1999 at 04:40:26, Bruce Moreland wrote:
>>>>
>>>>>On November 07, 1999 at 22:58:55, leonid wrote:
>>>>>
>>>>>>If you write your chess program only for fun, use every language that you could
>>>>>>like. But if you expect that "others" should observe your happiness, use
>>>>>>Assembler. Only this language will give your game extra ply over others. It will
>>>>>>naturally induce into your game some extra glamoring brillances able to capture
>>>>>>the attention of human eyes. And since the human is a social animal that crave
>>>>>>for attention, Assembler is the only natural language for him to express
>>>>>>himself.
>>>>>
>>>>>Assembler won't yield an extra ply.
>>>>>
>>>>>bruce
>>>>
>>>>If extra ply signify game that goes five or six time more rapidly, Assembler
>>>>give you just this.
>>>>
>>>>Leonid.
>>>
>>>
>>>Not a chance. You'll get 20% faster, maybe 25%, and that's all.
>>>
>>>And you'll need 3 times more developpement time, and a lot of crazy bugs to
>>>chase.
>>
>>>
>>>It's not worth it anymore. The time you spend on assembly programming, you'd
>>>rather spend it on algorithmic improvements. There are plenty of things to
>>>improve in any chess program. No current chess program is so perfect that the
>>>only thing left to do is to re-code everything in assembly.
>>>
>>>I even know some chess programmers who are porting from assembly to C. It's a
>>>wise decision.
>>>
>>>
>>>
>>>    Christophe
>>
>>
>>Disagree with you about the time (only 25%) and bugs, but maybe we speak about
>>two different things. About 25% the most - wrong. About writing the chess game;
>>we can speak about two different writing. I speak about writing the game almost
>>100% from your head, you, I presume, doing it after the theory that is already
>>there. When you write "your own" logic it will take anyway some considerable
>>time to achieve the final version. When you will take the logic of others the
>>time to realize your code could be quit short. Speeding this time even more
>>looks logical. About the bugs in Assembler. I don't think they are more prolific
>>that in C. Beside, it is much more difficult to find your bugs in the language
>>that is half secret to you, like C. On Assembler you see everything on the
>>surface and you are master of your code. Forgetting about theory, I can say you
>>that I have seen as much buggy Assembler written programs as the C one.
>>Rewritting the game on C have sense only because of portability and easy contact
>>with other programmers. Here, maybe, we agree.
>>
>>Leonid.
>
>
>My statements are based on experience. I have already written a chess program in
>assembly from scratch, and I have done the same in C.
>
>C is not half secret to me. If you are able to write assembly, then you are
>easily able to read the output of the compiler and to check if it is optimal or
>not. I do that often and sometimes rewrite pieces of code to help the compiler
>optimize it better.
>
>About bugs, I stronly believe you do less of them in C. This is also based on
>years of assembly and of C.
>
>A chess program is never totally stable in his design. It's a moving piece of
>code, and being able to make deep changes rather quickly is one of the keys of
>success, because you never know where you are going to at the beginning of your
>project.
>
>Assembler keeps you focused on how you do things. C lets keep you focused on
>what you want to do with litle impact on performances.
>
>In fact I consider C to be a big macro-assembler. Having an assembly chess
>program is something that can be explained only by the history of the program
>(the project has been initiated at a time C compilers were not so good).
>Starting an assembly chess program nowadays is IMO a "positional mistake". :)
>
>
>
>    Christophe

Quit interesting. But what kind of Assembler you used? Stand alone Assembler, or
some possibility to use assembler coding from the high language? Came your C
package from the same compagny (Microsoft, Borland) as your Assembler?

Leonid.



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.