Languages

toc
 * Home * Programming * Languages**

Chess programming is dominated by the C and C++ languages. The strongest engine in a non-C language is currently Booot written by Alex Morozov in Delphi. Critter was also originally written in Delphi, but was rewritten in C++ after running into too many 64-bit bugs in the Delphi compiler. The next strongest non-Delphi, non-C program is CuckooChess written in Java.

=Classical Languages= [|Compiled] and [|interpreted] languages.
 * Ada
 * Algol
 * Assembly
 * Basic
 * C
 * C#
 * Cilk
 * C++
 * D
 * Delphi
 * Forth
 * Fortran
 * Go (Programming Language)
 * Haskell
 * Java
 * Lisp
 * Modula-2
 * OCaml
 * OpenCL
 * Pascal
 * PL/I
 * Prolog
 * Python
 * Ruby
 * Rust
 * Scheme
 * Simula

=Scripting Languages=
 * [|Scripting languages from Wikipedia]
 * [|The pawn language] from [|CompuPhase]
 * JavaScript
 * Perl
 * Tcl/Tk

=Chess Languages=
 * CHE
 * Chess-Lisp for Steven Edwards' program Symbolic
 * Chess Query Language
 * MACH

=Game Languages=
 * Casanova
 * Game Description Language
 * Zillions Rules Language

=Publications=

1950 ...

 * Noam Chomsky (**1956**). //Three models for the Description of Language//. IEEE Transactions on Information Theory, Vol. 2, [|pdf]

1960 ...

 * Christopher Strachey, Maurice Wilkes (**1961**). //[|Some Proposals for Improving the Efficiency of ALGOL 60]//. Communications of the ACM, Vol. 4, No. 11
 * [|V. I. Sobel'man], Mikhail R. Shura-Bura (**1962**). //[|Realization of recursive procedures in the language of AlGOL-60]//. (Реализация Рекурсивных Процедур В Языке Алгол-60) [|Zhurnal Vychislitel'noi Matematiki i Matematicheskoi Fiziki], Vol. 2, No. 2
 * Noam Chomsky, Marcel P. Schützenberger (**1963**). //The Algebraic Theory of Context Free Languages//. in P. Braffort, D. Hirschberg, Computer Programming and Formal Languages. Amsterdam: [|North Holland]
 * Christopher Strachey (**1967, 2000**). //[|Fundamental Concepts in Programming Languages]//. [|Higher-Order and Symbolic Computation], Vol. 13: 11–49
 * Edsger Dijkstra (**1968**). //Go To Statement Considered Harmful//. Communications of the ACM, Vol. 11, No. 3, [|pdf]
 * [|Bertram Vivian Bowden] (**1969**). //[|The Language of Computers]//. [|Literature: Reports] hosted by Atlas Computer Laboratory

1970 ...

 * Dana Scott, Christopher Strachey (**1971**). //Toward an Mathematical Semantics for Computer Languages//. [|pdf]
 * William A. Wulf (**1971**). //Programming Without the GOTO//. IFIP, Ljubljana, Yugoslavia, August 1971 » goto
 * William A. Wulf, et al. (**1971**). //Reflections on a Systems Programming Language//. Proceedings of the SIGPLAN Symposium on System Implementation Languages, Purdue University, October 1971
 * William A. Wulf (**1972**). //A Case Against the GOTO//. Proceedings of the ACM National Conference, Boston, August 1972 » goto
 * William A. Wulf, Mary Shaw (**1973**). //[|Global Variables Considered Harmful]//. SIGPLAN Notices Vol. 8, No. 2, February 1973
 * Mike Clarke (**1973**). //Some Ideas for a Chess Compiler//. Artificial and Human Thinking, reprinted 1988 in Computer Chess Compendium
 * Donald Knuth (**1974**). //Structured Programming with go to Statements//. ACM Computing Surveys, Vol. 6, No. 4, [|pdf] » goto
 * Donald Michie (**1976**). //[|AL1: a package for generating strategies from tables]//. ACM SIGART Bulletin, Issue 59

1980 ...

 * William A. Wulf, Mary Shaw, Paul N. Hilfinger, Lawrence Flon (**1980**). //Fundamental Structures of Computer Science//. [|Addison-Wesley], [|amazon.com]
 * Michael George (**1988**). //MACH: A Master Advisor for CHess//. M.Sc. thesis, University of Alberta

1990 ...

 * Gilad Bracha, Gary Lindstrom (**1992**). //Modularity meets inheritance//. [|ICCL 1992], [|CiteSeerX]
 * Henri Bal, Dick Grune (**1994**). //[|Programming Language Essentials]//. Addison-Wesley
 * Chrilly Donninger (**1996**). //CHE: A Graphical Language for Expressing Chess Knowledge//. ICCA Journal, Vol. 19, No. 4
 * Matthew Huntbach (**1998**). //Aldwych: A General Purpose Concurrent Language//. Department of Computer Science. Queen Mary and Westfield College, [|pdf]
 * Andrew Appel (**1998**). //[|Modern Compiler Implementation in ML]//. [|Cambridge University Press]
 * Liwu Li (**1999**). //[|Object-Oriented Essential Modeling]//. [|APSEC 1999]

2000 ...

 * John Romein, Henri Bal, Dick Grune (**2000**). //The Multigame Reference Manual//. [|Vrije Universiteit], [|pdf]
 * John Romein (**2001**). //Multigame - An Environment for Distributed Game-Tree Search//. Ph.D. thesis, [|Vrije Universiteit], supervisor Henri Bal, [|pdf]
 * Jónheiður Ísleifsdóttir (**2007**). //GTQL: A Query Language for Game Trees//. M.Sc. thesis, [|Reykjavík University], [|pdf]
 * Yngvi Björnsson, Jónheiður Ísleifsdóttir (**2007**). //GTQL: A Query Language for Game Trees//. CGW 2007
 * Jónheiður Ísleifsdóttir, Yngvi Björnsson. (**2008**). //[|GTQ: A Language and Tool for Game-Tree Analysis]//. CG 2008, [|pdf]

2010 ...

 * Giuseppe Maggiore, Alvise Spanò, Renzo Orsini, Giulia Costantini, Michele Bugliesi, Mohamed Abbadi (**2011**). //[|Designing Casanova: A Language for Games]//. Advances in Computer Games 13
 * Mohamed Abbadi, Francesco Di Giacomo, Giuseppe Maggiore, Aske Plaat, Renzo Orsini, Pieter Spronck (**2013**). //Resources, Entities, Actions. A generalized design pattern for RTS games and its language extension in Casanova//. CG 2013, [|pdf]
 * Ward Douglas Maurer (**2013**). //[|A Programming Language without Keywords]//. [|Computer and Information Science], Vol. 6, No. 1

=Forum Posts=
 * [|Engines written in which programming language?] by Andreas Herrmann, Winboard Forum, June 01, 2009
 * [|Programming language features for computer chess] by Fabien Letouzey, CCC, January 27, 2011
 * [|How beautiful is your code?] by Julien Marcel, CCC, January 15, 2013
 * [|[OT LOC counting tool]] by Martin Sedlak, CCC, May 02, 2015

=External Links=

General
> [|Computer Programming/Hello world]
 * [|Programming language theory from Wikipedia]
 * [|Formal language from Wikipedia]
 * [|Chomsky hierarchy from Wikipedia]
 * [|Chomsky–Schützenberger theorem from Wikipedia]
 * [|Wikipedia: List of programming languages by category]
 * [|Computer Programming from Wikibooks]

Miscellaneous
> media type="custom" key="23559688"
 * [|Compiler Description Language]
 * [|Flux Home]
 * [|GPU-Programming] from [|AMD Developer Central]
 * [|Interface Description Language]
 * [|Unified Modeling Language]
 * Bjarne Stroustrup: The 5 Programming Languages You Need to Know, [|YouTube] Video

=References=
 * Up one Level**