videojuegos una programar programacion paso para paginas pagina lenguajes lenguaje juegos hacer diseño desde como cero carrera aprender design language-agnostic

design - una - programacion de videojuegos en c++



Buenos recursos en el diseño del lenguaje de programación? (5)

Podrías tomar una página del mismo lugar que Java, Ruby, Objective C y otros y ver Design Priciples Behind Smalltalk . Gran parte de esto es material fundamental sobre la comunicación entre objetos, más que nada sobre Smalltalk específicamente.

En cuanto a los libros realmente reflexivos sobre diseño de lenguaje , creo que el Diseño y la Evolución de C ++ definitivamente merecen una mención. Lo dudo porque dices que quieres el lenguaje OO "perfecto", y C ++ dista mucho de ser perfecto. Sin embargo, probablemente puedas aprender mucho de eso.

Sin embargo, los puntos que mencionas parecen tener más que ver con el Principio de menos asombro o la Regla de la menor sorpresa que con el diseño del lenguaje interno.

Javascript: The Good Parts es un gran libro. A menudo me encuentro leyendo pasajes como los siguientes desde la perspectiva de un diseñador de lenguaje:

undefined y NaN no son constantes. Son variables globales, y puedes cambiar sus valores. Esto no debería ser posible, y aún así es. No lo hagas

Para llevar:

  1. No cambie el valor de undefined en mi código Javascript.
  2. Al diseñar un idioma, haga su equivalente de undefined inmutable.

Un ejemplo diferente más sutil sería " for in no debería enumerar las propiedades del prototipo".

Quiero un libro en las charlas sobre estos temas del diseño del lenguaje fuera del contexto de un idioma en particular.

Si estabas tratando de diseñar el lenguaje OO "perfecto", ¿qué libros leerías como guía?




Puede consultar los documentos de diseño de Perl6

Perl6 Sinopsis

Si lee la Sinopsis 6 , descubrirá que el operador de adición se llama:

  • infix:<+>
  • infix:«+»
  • infix:<<+>>
  • infix:{''+''}
  • infix:{"+"}

Lo que significa que puedes crear tus propios operadores:

sub postfix:<!> ($n) { [*] 1..$n }


Existen excelentes libros que explican los principios de diseño aplicados en los lenguajes más utilizados, pero si realmente desea "comprender" los principios de diseño, debe profundizar más. Seguramente recomendaría "Conceptos de diseño en lenguajes de programación" de franklyn turbak. Este libro trata de explorar sistemáticamente conceptos de lenguaje de programación basados ​​en sus fundamentos matemáticos.