title: Yorick
text: # Yorick
  
  Yorick est un langage de programmation interprété impératif conçu par David H. Munro. Il est destiné au calcul numérique et au tracé de graphiques. Sa syntaxe, fortement inspirée du C, est spécialement prévue pour les calculs sur les tableaux. Yorick s'apparente en cela au logiciel propriétaire IDL.
  
  ## Mises en œuvre
  
  Il existe actuellement une unique mise en œuvre du langage ; elle est sous licence libre. Multi-plateforme et capable d'interfaçage avec des routines fortran ou C, elle s'avère relativement compétitive pour le calcul numérique par rapport aux langages compilés. Pour cela, il faut suivre le paradigme vectoriel pour lequel l'interprétation est optimisée.
  
  La partie graphique sous X Window se présente sous forme d'une bibliothèque indépendante, Gist, prévue pour être utilisées par d'autres applications. Elle est d'ailleurs employée par SciPy.
  
  ## Exemple
  
  // Tracé d'une gaussienne en 2D
  
  x = span(-20, 20, 100)(,-:1:100);
  
  y = transpose(x);
  
  sigmax = 7.;
  
  sigmay = 10.;
  
  theta = pi/3;
  
  xp = cos(theta)*x+sin(theta)*y;
  
  yp = -sin(theta)*x+cos(theta)*y;
  
  z = exp(-0.5*((xp/sigmax)^2 + (yp/sigmay)^2));
  
  plfc, z, y, x, levs=span(0, 1, 256); // iso-z
  
  xytitles, "x (!mm)", "y (!mm)"
  
  // Tracé du maximum selon x et selon y
  
  plg, y(1,), x(z(mxx,),1), color="blue";
  
  plg, y(1,z(,mxx)), x(,1), color="blue";
  
  limits;
  
  palette, "heat.gp"
  
  