22 noviembre, 2008

CSI XIV: Lenguajes y gramáticas (I)

Éste post pretende ser, no exactamente una continuación, sino un complemento a éste post acerca del lenguaje de las máquinas. Recordando un poco de qué iba, vimos cómo en principio las instrucciones recibidas por máquinas y computadores eran de tipo mecánico. Con el tiempo se pudo almacenar estas instrucciones en forma de memorias magnéticas donde series de niveles de tensión determinaban el comportamiento de los componentes del procesador.

Se desarrollaron luego distintos niveles de abstracción sobre el lenguaje en el que se expresaban estas instrucciones (programas). El lenguaje ensamblador consistía en una serie secuencial de códigos que representaban directamente las instrucciones que podía ejecutar un procesador. Era completamente dependiente del mismo. Sin embargo, por encima del ensamblador surgieron lenguajes con un nivel mayor de abstracción, independientes de la máquina en el lenguaje que emplean. Se les llama lenguajes de alto nivel. Los lenguajes más empleados hoy en día son de este tipo, aunque hay muchas diferencias entre ellos.

En el post de hoy generalizaremos la representación de un lenguaje de alto nivel y veremos en qué medida sus conceptos son tomados de la lingüística y se basan en la teoría de grupos.


Empezaremos desde abajo: llamamos alfabeto a un conjunto finito de símbolos (que llamaremos letras). Una palabra es una secuencia de finita de letras de un alfabeto. Hasta ahí todo normal, ¿no?. Venga un ejemplo: Δ es un alfabeto compuesto por las letras a y b. No nos liemos con más. Algunas palabras posibles sobre ese alfabeto son aaaab o baaba. Al conjunto de todas las palabras que se pueden formar con este alfabeto se le denomina el lenguaje universal sobre el alfabeto Δ, siempre que incluyamos en el mismo la palabra vacía λ (lambda). La palabra vacía tiene longitud 0.

Dado que el lenguaje es un conjunto, se pueden realizar operaciones sobre el mismo y, dependiendo de las propiedades que cumpla, le daremos un nombre u otro. Eso se lo dejaremos a los matemáticos.

Los lenguajes universales, pese a ser fascinantes por sus propiedades (digo yo) de poco nos sirven en la práctica. Volviendo a un plano más cercano a la vida real, los seres humanos no sólo empleamos un conjunto finito de palabras, sino que además empleamos un orden determinado entre ellas. A este orden se le denomina sintaxis. Y la gramática determina las reglas en las que se deben combinar las palabras.

En informática (y matemáticas) una gramática tiene una definición formal: consta de un conjunto de terminales, un conjunto de no-terminales (o símbolos auxiliares), un símbolo no-terminal inicial y un conjunto de las reglas de producción. Las reglas de producción determinan la generación de las palabras del lenguaje. Con un ejemplo esto queda clarísimo.

Nuestro alfabeto Δ = {a,b,&lambda} podría ser el conjunto de terminales. S será el símbolo no terminal inicial y A es el otro no terminal. Las reglas de producción podrían ser estas (enseguida las explico):

S := bS | aA | λ
A := aS | bA


Posibles derivaciones:
S -> bS -> bλ: b forma parte del lenguaje.
S -> bS -> baA -> babA -> babaS -> babaλ : baba forma parte del lenguaje.


Ésta gramática genera el lenguaje de las palabras con un número par de aes. ¿No me creen?. Pues vean. El juego consiste en, empezando en el símbolo inicial, quedarse sin no-terminales. Cuando queden sólo terminales se termina y obtenemos una palabra. El símbolo inicial es S y decimos que S deriva directamente bS ó aA ó la palabra vacía (| significa 'o'). Podemos escoger cualquiera de las tres derivaciones. Si escogemos la palabra vacía ya hemos acabado, porque nos hemos quedado sin no-terminales: la palabra vacía tiene 0 aes y forma parte del alfabeto. Si escogemos bS tenemos que quitar la S, y derivamos de nuevo. Posibles secuencias de derivaciones a partir de ésta podría ser las que hemos visto en el ejemplo de arriba o la que se ve en la figura. (en la figura he empleado sigma para referirme al alfabeto, lo cual suele ser una convención).

¿Por qué no prueban a jugar siguiendo las reglas? Verán que todas las palabras tienen 0 o un número par de aes.

Y ahora es el momento de cambiar de post, porque si no, esto queda muy largo. Vayamos al siguiente para ver qué tiene esto que ver con los lenguajes de programación...

1 Esta entrada no se ve bien con IE6, en parte porque yo no he escrito bien HTML (que Firefox se traga), en parte porque Internet Explorer no muestra casi nada bien. Pero bueno, no me enseñaron HTML en la carrera, me enseñaron cosas como ésta que les he contado. Por eso esta sección se llama Cosas que Si se dan en Informática,

Apuntes de clase. Anda que no hace tiempo que estudié esto...

Posts relacionados

05 noviembre, 2008

Las cervezas 'puras' Alemanas

Estuve pensando hace poco en las cervezas alemanas (que borrachín, ¿no?). Hace nada comentaba que las mismas nunca me habían entusiasmado. Evidentemente, por producción e historia, Alemania es un gigante cervecero y sus cervezas reconocidas en todo el mundo. Sin embargo, en mis visitas he encontrado siempre mayor cantidad que calidad. La cerveza alemana es, en muchos aspectos, más desconocida de lo creemos.

La mayor parte de gente en España identifica las cervezas alemanas con las botellas de medio litro turbias (si termina en er seguro que es alemana). Además, los que han leído un poco más las etiquetas, saben que muchas cervezas alemanas cumplen la llamada Ley de Pureza. No saben qué es pero San Miguel nos aclara que es algo bueno y por eso también lo cumple. Ahora, entre una San Miguel y una Andechser dunkel hay la distancia entre Manila y la abadía de Andechs... así que nos surgen varias preguntas:
¿Qué es la Ley de Pureza Alemana?
¿Cuál es su relación con la historia de Alemania?
¿Quién ha dado vela a San Miguel en este entierro?


Para empezar, la cerveza de trigo alemana como la descrita es oriunda de Bohemia y en Alemania es la cerveza tradicional de Baviera. Se le conoce como Weizenbier (cerveza de trigo) y suelen ser ligeramente ácidas y refrescantes, de cuerpo medio y untuosas. Por lo general suelen ser turbias o contener restos de levadura, aunque depende de la variedad.

La cerveza de esta región se ha expandido por todo el mundo y su máxima celebración -la Oktoberfest1- se ha convertido en un rentable negocio turístico. El éxito de las cervezas de trigo ha eclipsado variedades locales germanas tan o más interesantes que las bávaras, como la blanca de trigo berlinesa, la Altbier en Düsseldorf o Kolsch de Colonia. Lo cierto es que si nos quedamos con tan sólo la zona de Baviera, no quedamos sin tres cuartas partes de Alemania.

La Ley de Pureza Alemana (o Reinheitsgebot) también surgió en la zona de Baviera (ya hablamos un poco de ella). De hecho, en un principio, no era ni completamente alemana. No la promulgó Carlos I (V de Alemania) como gusta decir a San Miguel, sino que fue el duque Guillermo IV de Baviera, en la ciudad de Ingolstadt. También se llama -y es así como la citan la mayor parte de cervezas alemanas- ley de pureza de Bayern.

La ley no se trata de una medida de protección de los consumidores, como he leído, al menos no parece que fuera esa su intención. Se trata de un texto intervencionista que regula el precio máximo de la cerveza. Además establece que los únicos ingredientes permitidos en la elaboración son malta de cebada, lúpulo y agua. Las levaduras no se mencionan, claro, porque nadie sabía lo que eran2: sencillamente se añadían sedimentos de la anterior fermentación y la cosa funcionaba mejor que si no se hacía.

Hoy se entiende que los principales motivos de esta ley fueron principalmente económicos, más que gastronómicos. La prohibición del uso de trigo alivió la lucha por el cereal que mantenían cerveceros y panaderos, favoreciendo a estos últimos. Por otro lado se evitaba la posible adición de otros cereales no autóctonos (lo que es una medida proteccionista).

¿Pero, si sólo se puede añadir malta de cebada, dónde quedan las cervezas de trigo?. ¿No son acaso tradicionales?. Pues también, no crean que los nobles hicieron algo tan estúpido para prohibir estas nutritivas bebidas. Sencillamente, su fabricación se convirtió en un derecho reservado a los cerveceros reales, esto es, a cerveceros a los cuales, a cambio de dinero, les era otorgado el privilegio de fabricación. Hoy en día todavía quedan herederas de aquellas cervezas privilegiadas, como Schneider & Sohn o las cervezas de Luitpold.

La Ley de Pureza se fue extendiendo, con adaptaciones, a las distintas regiones de Alemania y, como decimos, a duras penas subsistieron las variedades, luego protegidas, Alt y Kolsch, eclipsadas más tarde por las nuevas Lager de Munich y Viena. Sin embargo, la propia ley ha ido cambiando y, por supuesto, hoy en día la elaboración de cerveza alemana no se restringe a los contenidos de una ley del s. XVI.

En la actualidad la Ley de Pureza Alemana, aplanadora y devoradora de estilos, ha demostrado ser un excelente reclamo publicitario (junto con la Oktoberfest). No es extraño que los empresarios cerveceros la invoquen pues en los mercados, ni que San Miguel nos dé la vara con 1516, la Edad de Oro de la cerveza.

Por desgracia, esto nos impide descubrir el verdadero potencial de la cerveza alemana como nos gustaría. En mi caso, además, no he podido (en ninguna de mis estancias en Alemania) ir a la caza de cervezas y cervecerías de renombre. En mi segunda visita sí que es verdad que bebimos muchas cervezas. Pero muchas. Sin embargo las cervezas las obteníamos en supermercados que, pese a tener centenares de botellas, apenas ofrecía algo fuera de las eurolager y planas weizenbier.

Por eso pido ahora ayuda a los amigos cerveceros españoles: ¿alguien conoce dónde puedo obtener cervezas de Colonia, o Altbier en nuestro país?. Y una segunda pregunta: la primera vez que estuve en Alemania (en el noroeste) pude probar una Altbier que me sirvieron con fruta en el fondo del vaso. La pregunta es: ¿se comía la fruta?.

Yo no sabía que hacer y por eso, por no quedar mal, me comí la mitad.

1 El amigo Pinar ha escrito un interesante post acerca de las distintas cervezas de Baviera, y en especial de Munich, que conoce bien.
2 Al respecto, ver la anotación que hace Max en los comentarios, aclarando que esto no es del todo cierto

El Libro de la Cerveza. Michael Jackson Ed. Blume.
Reinheitsgebot. Wikipedia inglesa.
Texto de la ley (inglés)
Origen de la foto (Creative Commons)

Posts relacionados

24 octubre, 2008

La Ronda #5: El país con las mejores cervezas

Esta Ronda casi me pilla. Me disculpen si es un poco más corta de lo que es habitual, pero no me llega el tiempo para más.

Este mes nos propone Carls que nos mojemos y que opinemos acerca de cuál es el país cervecero por excelencia: el país que fabrica mejores cervezas. Por supuesto, Carls sabe que tal país no existe, ya que difícilmente podríamos llegar a un acuerdo los habitantes de la Tierra para mesurar de forma objetiva la calidad de todas las cervezas de todos los países. Se asume que lo que nos pregunta es por nuestras preferencias en relación a determinados estilos, o por nuestras inclinaciones románticas hacia la cerveza de algún país.

Aun así, no resulta fácil responder a lo primero, más que nada porque a medida que voy probando cervezas descubro que me gustan cada vez más y más variados estilos, de muy diversos países. Es algo natural, como lo es que dependiendo del momento consideres mejores unas cervezas u otras. Esto es, que no hay mejores cervezas sin momentos para ellas.

Y ahora dejaré de decir obviedades.


De una forma romántica, considero que el país que fabrica las mejores cervezas es Bélgica. Y no porque fabrique las mejores cervezas. Los motivos son otros:

Las primeras cervezas de calidad que tomé fueron belgas. Aprendí a amar las cervezas belgas en primer lugar, desde el día en que me sirvieron una Belle-Vue frambuesa y me dije 'pero, ¿qué es esto con tapón de corcho?'. Mi horizonte cervecero se desplazó cientos de kilómetros. Concretamente, los necesarios para llegar a Bélgica. Guardo todavía esa etiqueta de cerveza en mi modesta colección.

El segundo motivo tiene que ver con mi viaje a Bélgica y es que jamás he visto país (de los pocos visitados) que tenga en tan alta estima esta bebida. En Bélgica la cerveza es un tesoro nacional, el producto identificativo por excelencia y una bandera de la gastronomía. Los turistas compran cervezas (caras) en las tiendas de souvenirs, lo cual no creo que suceda en ningún otro país. He estado en otros países cerveceros por excelencia, R. Checa y Alemania, y la cerveza se vive de otra forma.

No de una forma peor, ni mejor. Yo diría que la cerveza se integra en el paisaje alemán y checo con mayor naturalidad, sin darle demasiada importancia (pese a la gran calidad de sus cervezas) y que sin ese fondo el cuadro quedaría vacío. En Bélgica (sólo visité las grandes ciudades) lo que vi fue un bodegón. Un bodegón con una cerveza en medio.

Creo que en el Reino Unido la cerveza tiene un papel más parecido al descrito para Alemania y R. Checa. No lo sé, porque en mi estancia de un mes en Irlanda apenas pasé de tomar Guiness y Beamish en los pubs. Yo entonces no era un borrachín1. Desearía, como Catador, poder elegir a RU. como país cervecero, porque eso significaría que sé mucho más acerca de sus brebajes. Por desgracia, la mayor parte de las cervezas de esa región que he probado desaparecen del paladar tan rápido como de mi memoria.

Por último, comentar que quizá haya probado más cervezas alemanas que belgas. Lo curioso es que no considero que la calidad media de la cerveza alemana sea en absoluto de un alto nivel (lo que sí me atrevería a asegurar de Chequia o Bélgica). En un supermercado alemán cualquiera uno puede encontrar al menos 50 cervezas Lager, Helle, Kristall... y la mayoría de ellas son cervezas del montón. Otra cosa es que vayas a una tienda especializada en bebidas, donde encuentras no 50, sino 150, y mayor cantidad de cervezas de calidad. Pero vamos, que cuando visité Alemania (en una par de ocasiones) quedé más impresionado por la cantidad (y precio) que por la calidad. Tengo unas cuantas fotos graciosas que ponen de relieve la cantidad de cervezas alemanas que se pueden tomar.

Dejando a un lado el tema emocional y apreciativo, la cerveza belga 'tipo' (por decir algo) me gusta. Me gustan las Dubbel dulces y maltosas y también las más secas Trippel. También las cervezas blancas de trigo, aunque en este apartado las checas van a la par. No tengo ningún problema con las cervezas más amargas y de menor contenido alcohólico: vienen muy bien para el aperitivo de la tarde. Pero si por la noche salgo a una cervecería, prefiero una o dos belgas de abadía.

En fin, que para gustos cervezas. Y países. Y culturas cerveceras. Y música en los baretos. Y posavasos, medidas, tapas...

Por cierto, que me encanta cómo ha planteado el mismo tema el filósofo cervecero. Reproduzco para los no enterados:
Llegás a una cuidad que no conocés y después de registrarte en un hotel, o bajarte del tren, lo que sea, vas al primer bar que te encontras para tomar una cerveza. ¿En qué país o países vas a tener más seguridad de encontrar una buena cerveza?

¡A viajar!

1 Lo cual no es del todo cierto. De Irlanda me traje una camiseta y la repulsión instintiva y visceral hacia el whisky.

Posts relacionados

19 octubre, 2008

Me llaman borrachín

Ésta es una breve reflexión cervecera...

Pues sí, me llaman borrachín. Y no es porque yo beba mucho la verdad. Aparte de las cervezas sólo de vez en cuando me gusta tomar algún combinado de ginebra, vodka o tequila. Tampoco bebo hasta emborracharme, aunque coger la chispa me cuesta poco, habida cuenta de mi escaso volumen. Pero vamos, que coger una turca de esas memorables, o mejor aún, obliteradas, hace muchos años que no la cojo. Incluso con las chispillas actuales yo soy más de dormirme que de borrachinear por ahí.

¿Por qué entonces me llaman borrachín? (no es que me lo digan todos los días, pero ya se ha repetido más de una vez). Pues porque me gusta probar cervezas... cosa que mucha gente de por aquí no entiende. Y es que, si por tomar muchas cervezas entiendes liarte a beber quintos de Mahou en un bareto o pubeto -lease pafeto-, es normal que cuando te venga un chaval que diga que ayer probó 10 cervezas bávaras de medio litro, le mires como se mira a un marciano y digas... "borrachin".


En ocasiones, el tono con el que se pronuncia la palabra es casi misericordioso, lo cual me hace todavía más gracia, porque yo también compadezco a quien me lo dice.

Sin embargo, en la mayor parte de casos se dice sencillamente por decir, porque no encuentran otra manera de decir que no saben de qué manera catalogar a un tío que suele quedar con los amigos para probar cervezas, en casa, sin más.

No soy el único al que le pasa. Le pasa también a mi compañera y posiblemente con mayor frecuencia que a mí. Porque, por más igualdad que consignemos en las leyes, la realidad es terca, y extraña más que a una chavala joven le preguntes qué hizo anoche y responda que tomarse diez cervezas bávaras. Y seis estadounidenses la semana siguiente. Y visitar las fábricas de cervezas cuando se va de vacaciones. La miran con cara rara. Borrachina.

A veces hago por convencer al interlocutor de que se equivoca. Describo las cervezas que tomo, los platos que quizá acompañaría y los distintos sabores, Con suerte, puedo pasar de borrachín a sibarita cervecero o friki cervecero, según lo apegado que esté mi interlocutor a la carrera informática. No es un gran paso, ni siquiera es útil y no me considero ningún sibarita ni entendido. A mi modesto entender, lo normal no es dedicarse a tomar Mahous en un bar y decir que te gusta la cerveza.

Otras veces ni siquiera me apetece hacer el esfuerzo de explicar nada (no siempre estoy dispuesto a beervangelizar). Les dejo con su comentario en la boca. Las valoraciones de lo normal y extraño para ellos. Las cervezas, en cambio, serán para mí.

Por cierto, ayer tuvimos cena cervecera. Raviolis rellenos de calabaza de primero y salmón con arroz basmati y salsa de tandoori de segundo. Tras la cena nos dedicamos a probar cervezas: empezamos por las belgas Bruegel, Floreffe Dubbel y Kapittel Pater (ésta última me encanta). Luego americanas: Samuel Adams Boston Lager, Liberty Ale, Old Foghorn y Anchor Porter. Hicimos coincidir el postre de chocolate con una Traquair House Ale escocesa.

Pues eso les quería decir. Qué borrachines somos.

¡No conozco a la de la foto!. Fuente original Flickr (Creative Commons, share-alike).

Posts relacionados

13 octubre, 2008

Los contadores japoneses

Los japoneses no tienen plural. Eso no significa que no tengan muchas cosas. Pero plural no. Vamos, que les da igual decir que han visto perros por la calle que han visto un perro. Y perras también, porque tampoco tienen femenino. Todo son inu y basta. ここに犬がいます koko ni inu ga imasu: Aquí hay perros. O un perro (o perra), o muchas perros y una perra. En fin, lo que quieran. Pensarán que esto es una ventaja para los estudiantes de japonés, pero no estén tan seguros de ello.

Verdaderamente, ¿es necesario saber si hay muchos o tan sólo un perro?. Si lo es, basta con añadir 'muchos' a la oración. ¿Y que se trate de un perro una perra?. Pues se añade el adjetivo 'macho' o 'hembra'. Quizá sea necesario determinar si son dos perros o diecisiete. Y aquí es donde las cosas se complican en japonés. Dejando a un lado el tema masculino/femenino, hoy comentaremos una de las características más curiosa del japonés: el uso de contadores. Por que no es lo mismo contar perros que vacas...


Los contadores en japonés

Para determinar el número de objetos a los que nos referimos se emplean contadores, partículas específicas del lenguaje japonés. Y contadores hay un montón, porque determinan las cualidades de los objetos que se cuentan. Así que hay un contador para animales... pequeños. Y otro distinto para animales grandes. Pero hay uno distinto para pájaros. En fin, veamos una lista no exhaustiva y flipemos un poco:

NIN 人: para contar personas. El kanji es es kanji de persona.
MAI 枚: para contar cosas planas, como papeles, o entradas de cine.
SATSU 冊: para contar libros, revistas o material encuadernado e impreso.
HON 本: para contar cosas alargadas y delgadas, como bolígrafos o piernas.
HIKI 匹: para contar animales más bien pequeños. Pequeños incluyen perros, gatos, ratas.
WA 羽: éste es el de los pájaros. El kanji significa ala. También cuenta conejos. El porqué es un misterio para mí1.
TOU 頭: para contar animales grandes, como caballos, vacas. El kanji significa cabeza.
Igualmente, nosotros también contamos cabezas de ganado.
KO 個: cuenta cosas pequeñas, de forma redondeada. Piedras, por ejemplo, o canicas.
KAI 階: las plantas de un edificio.
DAI 台: cuenta máquinas, desde tostadoras hasta motocicletas. El kanji tiene también ese significado: máquina
HAI 杯: para contar vasos o copas. También sirve, por extensión, para contar sorbos o trgos.
SARA 皿: para contar platos.
JOU 畳: Contador de tatamis (medida de superficie). Un JOU equivale a 1.6m2.

¿Hay más?. Tropecientos más. Estos que presento son tan sólo los que aparecen en el libro que sigo: Japonés en Viñetas y los que su autor ha creído más convenientes. Pero hay contadores para partidos ganados, para trazos de los kanjis, cuencos de arroz... Tiene una lista más extensa en la wikipedia inglesa.

Entonces, por ejemplo, si quiero contar serpientes... ¿las cuento como animales pequeños (HIKI) o como objetos alargados (HON)? Pues a ese tipo de dudas se tiene que enfrentarun estudiante de japonés. Y un japonés. En cualquier caso, y para sacarte del apuro, existe un contador universal, que puede ser utilizado como 'comodín' cuando la cosa se complica. El contador universal es TSU つ.

Los problemas no se acaban con saber cuál es el contador a emplear. También hay que saber cómo pronunciarlo, puesto que muchas veces su pronunciación cambia o se altera, especialmente en conjunción con los diez primeros números. Las transformaciones fonéticas son un poco más previsibles cuando se conocen en profundidad. En cualquier caso siempre hay excepciones que le amargan a uno la fiesta.

La estructura básica para contar cosas en japonés queda de la siguiente manera:

lo que queremos contar + (partícula gramatical) + numeral + contador + verbo

Ejemplos:
Aquí hay tres perros: ここに犬三匹います koko ni inu ga san biki imasu. Gastamos HIKI, por ser un animal pequeño, pero junto con 'tres' san se convierte en biki.
Deme cinco mandarinas, por favor: みかんを伍個ください mikan o go ko kudasai. Las mandarinas son pequeñas y más bien esféricas.
Deme cinco plátanos, por favor: バナナを伍本ください banana o go hon kudasai. En cambio los plátanos son más bien alargados. Nótese que como banana es un vocablo extranjero se ha empleado el katakana.
¿Cuanto cuesta una noche?: 一泊,いくらですか ippaku, ikura desu ka. Aquí se emplea HAKU, que sirve para contar noches de hotel (que no noches).

Acostumbrarse a emplear correctamente los contadores no debe ser nada sencillo. Así que tengo que armarme de valor y comenzar a estudiar pronto. ¡Cuántos días me cueste se lo diré más adelante!

1 Pues según la página de la wikipedia la cosa va por el tema de las orejas.

Japonés en Viñetas 1. Marc Bernabé. Norma editorial
Wikipedia inglesa. Contadores japoneses.

Posts relacionados