Code Golf

ThomasBurette.com

@TBurette

Qu'est ce que le code golf?

Dans un dans un concours de code golf: il faut réaliser le code source qui va produire un certain résultat et possède

le plus petit possible nombre de lignes pour s'assurer de  gagner

Dans un dans un concours de code golf: il faut réaliser le code source qui va produire un certain résultat et possède

le plus petit possible nombre de lignes pour s'assurer de  gagner

Origine

(du terme)

Exemple

comp.lang.perl.misc 28/05/1999

A quoi ça sert?

A Rien

A Rien?

“I think code golf channels the competitive spirit of talented engineers through a fun game where they can express their creativity and learn from each other,” - Zhen Wang

Demoscene

.kkrieger 96ko

(génération procédurale)

Demoscene

Markus Persson (Notch)

Complexité de Kolmogorov

  • Formalisation de 'simple' et 'complexe'
    (suite aléatoire)
  • Compression
  • Non calculable

Apprendre un langage

tableau=[d for d in r if n%d<1]
print(tableau)
[1, 2, 3, 6]
tableau=[d for d in r if n%d<1]
print(*tableau)
1 2 3 6
 
a,b,c='1','2','3' a,b,c='123'
 
if X:        
  print(B)
else:        
print(A)


print([A,B][X])
for i in range(m)
  for j in range(n):
 do_stuff(i,j)

for k in range(m*n): do_stuff(k/n,k%n)

Autres exemples

Dessiner ☣ (danger biologique)

T-SQL (344)

Produire le nombre  2014 sans aucun nombre dans votre code source

Produce the number 2014 without any numbers in your source code

Python (52)

print sum(ord(c) for c in 
  'Happy new year to you!')

Go (1)

can't load package: package : 
prog.go:1:1: illegal character U+2014 '—'

Produire les nombres premiers qui restent premiers quand on inverse leur chiffres
(ex.: 13 - 31)

Langage Taille moyenne # participations
APL 17 18
PYTH 21 48
CJAM 33 48
TI-BASIC 47 19
RUBY 50 49
PERL 53 36
MATHEMATICA 56 23
JULIA 59 43
POWERSHELL 60 33
MATLAB 67 22
JAVASCRIPT 68 28
PHP 74 40
HASKELL 75 41
R 77 32
PYTHON 2 87 46
JAVASCRIPT 91 29
PYTHON 3 91 34
JAVA 171 29
C# 194 25
C 222 32

Fin