Older Version
Newer Version
GerdIsenberg
Nov 26, 2017
[[toc]] **[[Home]] * [[Programming]] * Languages** Chess programming is dominated by the [[C]] and [[Cpp|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= [[http://en.wikipedia.org/wiki/Compiler|Compiled]] and [[http://en.wikipedia.org/wiki/Interpreted_language|interpreted]] languages. * [[Ada]] * [[Algol]] * [[Assembly]] * [[Basic]] * [[C]] * [[C sharp|C#]] * [[Cilk]] * [[Cpp|C++]] * [[D-Proglanguage|D]] * [[Delphi]] * [[Forth]] * [[Fortran]] * [[Go (Programming Language)]] * [[Haskell]] * [[Java]] * [[Lisp]] * [[Modula-2]] * [[OCaml]] * [[OpenCL]] * [[Pascal]] * [[PL 1|PL/I]] * [[Prolog]] * [[Python]] * [[Ruby]] * [[Rust]] * [[Scheme]] * [[Simula]] =Scripting Languages= * [[http://en.wikipedia.org/wiki/Category:Scripting_languages|Scripting languages from Wikipedia]] * [[http://www.compuphase.com/pawn/pawn.htm|The pawn language]] from [[http://www.compuphase.com/index_en.htm|CompuPhase]] * [[JavaScript]] * [[Perl]] * [[Tcl-Tk|Tcl/Tk]] =Chess Languages= * [[CHE]] <ref>[[Chrilly Donninger]] (**1996**). //CHE: A Graphical Language for Expressing Chess Knowledge//. [[ICGA Journal|ICCA Journal]], [[http://people.csail.mit.edu/heinz/iccaj_db/node20.html|Vol. 19, No. 4]], pp. 234-241</ref> * [[Chess-Lisp]] for [[Steven Edwards]]' program [[Symbolic]] * [[Chess Query Language]] * [[MACH]] <ref>[[Michael George]] (**1988**). //MACH: A Master Advisor for CHess//. M.Sc. thesis, [[University of Alberta]]</ref> =Game Languages= * [[Giuseppe Maggiore#Casanova|Casanova]] * [[General Game Playing#GDL|Game Description Language]] * [[Zillions of Games#ZRF|Zillions Rules Language]] =Publications= ==1950 ...== * [[Mathematician#Chomsky|Noam Chomsky]] (**1956**). //Three models for the Description of Language//. [[IEEE#TIT|IEEE Transactions on Information Theory]], Vol. 2, [[http://www.chomsky.info/articles/195609--.pdf|pdf]] ==1960 ...== * [[Christopher Strachey]], [[Mathematician#MVWilkes|Maurice Wilkes]] (**1961**). //[[http://dl.acm.org/citation.cfm?id=366813.366816|Some Proposals for Improving the Efficiency of ALGOL 60]]//. [[ACM#Communications|Communications of the ACM]], Vol. 4, No. 11 * [[http://www.mathnet.ru/php/person.phtml?option_lang=eng&personid=63222|V. I. Sobel'man]], [[Mikhail R. Shura-Bura]] (**1962**). //[[http://www.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=zvmmf&paperid=7886&option_lang=eng|Realization of recursive procedures in the language of AlGOL-60]]//. (Реализация Рекурсивных Процедур В Языке Алгол-60) [[http://www.mathnet.ru/php/archive.phtml?jrnid=zvmmf&option_lang=eng&wshow=statlist|Zhurnal Vychislitel'noi Matematiki i Matematicheskoi Fiziki]], Vol. 2, No. 2 * [[Mathematician#Chomsky|Noam Chomsky]], [[Mathematician#Schuetzenberger|Marcel P. Schützenberger]] (**1963**). //The Algebraic Theory of Context Free Languages//. in P. Braffort, D. Hirschberg, Computer Programming and Formal Languages. Amsterdam: [[http://en.wikipedia.org/wiki/Elsevier|North Holland]] * [[Christopher Strachey]] (**1967, 2000**). //[[http://en.wikipedia.org/wiki/Fundamental_Concepts_in_Programming_Languages|Fundamental Concepts in Programming Languages]]//. [[http://en.wikipedia.org/wiki/Higher-Order_and_Symbolic_Computation|Higher-Order and Symbolic Computation]], Vol. 13: 11–49 * [[Mathematician#EWDijkstra|Edsger Dijkstra]] (**1968**). //Go To Statement Considered Harmful//. [[ACM#Communications|Communications of the ACM]], Vol. 11, No. 3, [[http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD215.PDF|pdf]] <ref>[[http://en.wikipedia.org/wiki/Considered_harmful|Considered harmful from Wikipedia]]</ref> <ref>[[http://www.codinghorror.com/blog/2007/10/id-consider-that-harmful-too.html|Coding Horror: I'd Consider That Harmful, Too]] by [[http://en.wikipedia.org/wiki/Jeff_Atwood|Jeff Atwood]], October 25, 2007</ref> * [[http://en.wikipedia.org/wiki/B._V._Bowden,_Baron_Bowden|Bertram Vivian Bowden]] (**1969**). //[[http://www.chilton-computing.org.uk/acl/literature/reports/p014.htm|The Language of Computers]]//. [[http://www.chilton-computing.org.uk/acl/literature/reports/overview.htm|Literature: Reports]] hosted by [[Atlas Computer Laboratory]] ==1970 ...== * [[Mathematician#DScott|Dana Scott]], [[Christopher Strachey]] (**1971**). //Toward an Mathematical Semantics for Computer Languages//. [[http://ecee.colorado.edu/ecen5533/fall11/reading/PRG06.pdf|pdf]] * [[Mathematician#WiWulf|William A. Wulf]] (**1971**). //Programming Without the GOTO//. [[IFIP]], Ljubljana, Yugoslavia, August 1971 » [[C#Goto|goto]] * [[Mathematician#WiWulf|William A. Wulf]], et al. (**1971**). //Reflections on a Systems Programming Language//. Proceedings of the [[ACM#SIG|SIGPLAN]] Symposium on System Implementation Languages, Purdue University, October 1971 * [[Mathematician#WiWulf|William A. Wulf]] (**1972**). //A Case Against the GOTO//. Proceedings of the [[ACM]] National Conference, Boston, August 1972 » [[C#Goto|goto]] * [[Mathematician#WiWulf|William A. Wulf]], [[Mathematician#MShaw|Mary Shaw]] (**1973**). //[[http://c2.com/cgi/wiki?GlobalVariablesConsideredHarmful|Global Variables Considered Harmful]]//. [[ACM#SIG|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 #Surveys|ACM Computing Surveys]], Vol. 6, No. 4, [[http://cs.sjsu.edu/~mak/CS185C/KnuthStructuredProgrammingGoTo.pdf|pdf]] » [[C#Goto|goto]] * [[Donald Michie]] (**1976**). //[[http://portal.acm.org/citation.cfm?id=1045272|AL1: a package for generating strategies from tables]]//. [[ACM#SIG|ACM SIGART Bulletin]], Issue 59 ==1980 ...== * [[Mathematician#WiWulf|William A. Wulf]], [[Mathematician#MShaw|Mary Shaw]], [[Mathematician#PNHilfinger|Paul N. Hilfinger]], [[Mathematician#LFlon|Lawrence Flon]] (**1980**). //Fundamental Structures of Computer Science//. [[http://en.wikipedia.org/wiki/Addison-Wesley|Addison-Wesley]], [[http://www.amazon.com/Fundamental-Structures-Computer-Science-William/dp/0201087251|amazon.com]] * [[Michael George]] (**1988**). //MACH: A Master Advisor for CHess//. M.Sc. thesis, [[University of Alberta]] ==1990 ...== * [[Mathematician#GBracha|Gilad Bracha]], [[Gary Lindstrom]] (**1992**). //Modularity meets inheritance//. [[http://dblp.uni-trier.de/db/conf/iccl/iccl1992.html#BrachaL92|ICCL 1992]], [[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.8782|CiteSeerX]] * [[Henri Bal]], [[Mathematician#DGrune|Dick Grune]] (**1994**). //[[http://www.cs.vu.nl/%7Edick/PLE.html|Programming Language Essentials]]//. Addison-Wesley * [[Chrilly Donninger]] (**1996**). //CHE: A Graphical Language for Expressing Chess Knowledge//. [[ICGA Journal#19_4|ICCA Journal, Vol. 19, No. 4]] * [[Matthew Huntbach]] (**1998**). //Aldwych: A General Purpose Concurrent Language//. Department of Computer Science. [[Queen Mary, University of London|Queen Mary and Westfield College]], [[http://www.eecs.qmul.ac.uk/~mmh/aldwych/papers/Aldwych_description.pdf|pdf]] * [[Andrew Appel]] (**1998**). //[[https://www.cs.princeton.edu/~appel/modern/ml/|Modern Compiler Implementation in ML]]//. [[https://en.wikipedia.org/wiki/Cambridge_University_Press|Cambridge University Press]] <ref>[[https://en.wikipedia.org/wiki/ML_(programming_language)|ML (programming language) from Wikipedia]]</ref> * [[Liwu Li]] (**1999**). //[[http://ieeexplore.ieee.org/document/809628/|Object-Oriented Essential Modeling]]//. [[http://dblp.org/db/conf/apsec/apsec1999.html|APSEC 1999]] ==2000 ...== * [[John Romein]], [[Henri Bal]], [[Mathematician#DGrune|Dick Grune]] (**2000**). //The Multigame Reference Manual//. [[http://en.wikipedia.org/wiki/Vrije_Universiteit|Vrije Universiteit]], [[http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=B2397A260C8166B1B31EC4779585EA5F?doi=10.1.1.32.1664&rep=rep1&type=pdf|pdf]] * [[John Romein]] (**2001**). //Multigame - An Environment for Distributed Game-Tree Search//. Ph.D. thesis, [[http://en.wikipedia.org/wiki/Vrije_Universiteit|Vrije Universiteit]], supervisor [[Henri Bal]], [[http://dare.ubvu.vu.nl/bitstream/1871/11305/1/5429.pdf|pdf]] * [[Jónheiður Ísleifsdóttir]] (**2007**). //GTQL: A Query Language for Game Trees//. M.Sc. thesis, [[http://en.wikipedia.org/wiki/Reykjav%C3%ADk_University|Reykjavík University]], [[http://www.ru.is/lisalib/getfile.aspx?itemid=9655|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**). //[[http://link.springer.com/chapter/10.1007/978-3-540-87608-3_20|GTQ: A Language and Tool for Game-Tree Analysis]]//. [[CG 2008]], [[http://www.ru.is/faculty/yngvi/pdf/IsleifsdottirB08.pdf|pdf]] ==2010 ...== * [[Giuseppe Maggiore]], [[Alvise Spanò]], [[Renzo Orsini]], [[Giulia Costantini]], [[Michele Bugliesi]], [[Mohamed Abbadi]] (**2011**). //[[http://link.springer.com/chapter/10.1007%2F978-3-642-31866-5_27|Designing Casanova: A Language for Games]]//. [[Advances in Computer Games 13]] <ref>[[http://casanova.codeplex.com/|Casanova Language - Home]]</ref> * [[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]], [[http://askeplaat.files.wordpress.com/2013/01/main.pdf|pdf]] * [[Ward Douglas Maurer]] (**2013**). //[[http://www.ccsenet.org/journal/index.php/cis/article/view/23904|A Programming Language without Keywords]]//. [[http://www.ccsenet.org/journal/index.php/cis|Computer and Information Science]], Vol. 6, No. 1 =Forum Posts= * [[http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=50192&p=190067|Engines written in which programming language?]] by [[Andreas Herrmann]], [[Computer Chess Forums|Winboard Forum]], June 01, 2009 * [[http://talkchess.com/forum/viewtopic.php?start=0&t=37825|Programming language features for computer chess]] by [[Fabien Letouzey]], [[CCC]], January 27, 2011 * [[http://www.talkchess.com/forum/viewtopic.php?t=46885|How beautiful is your code?]] by [[Julien Marcel]], [[CCC]], January 15, 2013 * [[http://www.talkchess.com/forum/viewtopic.php?t=56201|[OT] LOC counting tool]] by [[Martin Sedlak]], [[CCC]], May 02, 2015 <ref>[[http://en.wikipedia.org/wiki/Source_lines_of_code|Source lines of code from Wikipedia]]</ref> =External Links= ==General== * [[http://en.wikipedia.org/wiki/Programming_language_theory|Programming language theory from Wikipedia]] * [[http://en.wikipedia.org/wiki/Formal_language|Formal language from Wikipedia]] * [[http://en.wikipedia.org/wiki/Chomsky_hierarchy|Chomsky hierarchy from Wikipedia]] * [[http://en.wikipedia.org/wiki/Chomsky%E2%80%93Sch%C3%BCtzenberger_theorem|Chomsky–Schützenberger theorem from Wikipedia]] * [[http://en.wikipedia.org/wiki/List_of_programming_languages_by_category|Wikipedia: List of programming languages by category]] * [[http://en.wikibooks.org/wiki/Computer_Programming|Computer Programming from Wikibooks]] > [[http://en.wikibooks.org/wiki/Computer_Programming/Hello_world|Computer Programming/Hello world]] ==Miscellaneous== * [[http://en.wikipedia.org/wiki/Compiler_Description_Language|Compiler Description Language]] * [[http://www.fluxagent.org/|Flux Home]] * [[http://developer.amd.com/documentation/articles/pages/GetExtraordinaryPerformanceByExploitingtheGPU.aspx|GPU-Programming]] from [[http://developer.amd.com/pages/default.aspx|AMD Developer Central]] * [[http://en.wikipedia.org/wiki/Interface_description_language|Interface Description Language]] * [[http://en.wikipedia.org/wiki/Unified_Modeling_Language|Unified Modeling Language]] * [[Mathematician#Stroustrup|Bjarne Stroustrup]]: The 5 Programming Languages You Need to Know, [[http://en.wikipedia.org/wiki/YouTube|YouTube]] Video > [[media type="custom" key="23559688"]] =References= <references /> **[[Programming|Up one Level]]**