Psicofonías

(algo así como el blog de Psicobyte)

Iros

Dicen que la Real Academia de la Lengua va a admitir el uso de la forma imperativa "iros". La noticia no ha gustado a casi nadie y, al saberse, se ha liado un pequeño tumulto.

Pero ¿Por qué?

¿Por qué nos parece tan terrible que se acepte un uso lingüístico concreto?

Voy a lanzar una hipótesis desde un punto de vista sociológico:

En mi planteamiento de este texto empleo aproximadamente la perspectiva del sociólogo francés Pierre Bordieu. Las buenas ideas son suyas, los errores son todos míos. Al final, por si te ha picado la curiosidad, recomiendo un libro.

La Real Academia de la Lengua tiene dos misiones.

La primera, más o menos contenida en su lema "Limpia, fija y da esplendor", es la de registrar, hacer oficiales y, en la medida de lo posible, controlar los cambios en la lengua, para mantenerla como un todo coherente.

Es una labor a veces difícil y a veces imposible, porque el idioma evoluciona a manos de los propios hablantes, de forma natural, distribuida y no deliberada. A veces la Real Academia de la Lengua consigue, amparándose en su prestigio social (hablaremos de eso más abajo), imponer algún uso sobre otro. Pero, en la mayoría de los casos, no le queda otra que resignarse y observar la evolución natural del lenguaje. Como no hay ninguna norma lingüística que sea objetivamente superior a otra (es decir, las características propias de cada dialecto son "arbitrariedades culturales") no existe ningún motivo racional para preferir una a otra, y no tiene sentido que nadie se sienta molesto cuando la Real Academia de la Lengua registra algún cambio.

Y sin embargo, ocurre: Mucha gente protesta ante cada cambio en el diccionario de la Real Academia de la Lengua, batallando en las trincheras de cada definición, cada tilde y cada verbo irregular. Nos sentimos heridos porque admiten "almóndiga", nos ofende que quiten el acento de "sólo" y gritamos furibundos ante la inclusión de "iros". Nos duele.

¿Por qué nos resulta tan terrible que la Real Academia de la Lengua acepte una forma lingüística tan extendida?

Míralo de este modo: Si los dos únicos criterios posibles para definir la "validez" de un uso lingüístico son el que se use realmente o el que esté admitido por la Real Academia ¿por qué decimos que la forma imperativa "iros" es incorrecta? Se usa (y mucho) y, ahora, está admitida. ¿Por qué nos sigue doliendo?

Porque la Real Academia de la Lengua tiene dos misiones, y aún no hemos visto la segunda.

La segunda labor no está en su lema, no es oficial y, de hecho, ni siquiera es deliberada. Pero está ahí y todos la admitimos tácitamente.

La Real Academia de la Lengua es una herramienta. Una estructura que sostiene al lenguaje como marcador social para distinguir la clase social y el estatus de los individuos.

El "Español de la Real Academia" no se puede entender en la práctica como el "Español de todos los hablantes", sino como un dialecto concreto que indica un capital social y cultural. Un "hábitus" en el sentido de Bordieu, que marca a alguien como perteneciente a estratos sociales superiores.

La Real Academia de la Lengua actuaría en este sentido como una "autoridad pedagógica impuesta", indicando qué parte del español es el que denota "Cultura". Y esa "Cultura" forma parte de los conocimientos que permiten un cierto acceso al poder, claro, pero también sirve como marcador social, como indicador del grupo social al que pertenece un individuo.

Cuando la Real Academia de la Lengua acepta un elemento del lenguaje que asociamos con un registro "de clase baja" sentimos que se difuminan un poco las barreras que diferencian a los que "hablamos bien" de los que "hablan mal". Aunque nos auto-justifiquemos de mil modos distintos, sentimos que nos están "desclasando".

Por eso nos duele tanto.

Para conocer más profundamente esta perspectiva de las instituciones culturales, recomiendo encarecidamente el libro "La distinción. Criterios y bases sociales del gusto.", de P. Bordieu.
(2072 visitas a este artículo)

Friendzoned

A ver, nenes:

"Me ha puesto en la friendzone" es sólo una forma autoindulgente de decir "Ella aún no sabe que su amistad me importa una mierda y que lo único que quiero es follármela".

"Me ha puesto en la friendzone" es una expresión que define a quién la usa. No la califica a ella, te califica a ti.

(2137 visitas a este artículo)

Dad las gracias

Algunas ideas un poco deslavazadas a costa de los cocineros pijos estos:

Resumiendo: Tenemos una entrevista a los dueños de algunos de los restaurantes más caros que dicen:

1 Que tienen a media plantilla trabajando sin cobrar

2 Que necesitan a todos esos trabajadores para que su negocio funcione

3 Que, si tuvieran que pagarles, se les hunde el chiringuito

(O sea, que admiten que su negocio no existiría sin esos trabajadores explotados)

4 Y tienen la caradura de decir que esos trabajadores "deberían estar agradecidos"

A ver, guapis, los que deberían estar agradecido sois vosotros, por dos razones:

1 Habéis admitido que vuestros negocios dependen de ellos: Tened un poco de gratitud.

2 Ya ha pasado un día desde que se publicó eso y aún no ha ardido ninguno de vuestros restaurantes.

(Que estaría muy mal que os quemaran el negocio, pero también sería muy comprensible)

Porque todo esto es algo que se repite mucho, pero sigue siendo mentira:

Quien te ofrece un puesto de trabajo (aunque te pague) NO te está haciendo favor. Tú se lo haces a él.

Si te paga la cantidad que sea es porque tu trabajo le hace ganar más que esa cantidad. SIEMPRE.

De tu trabajo salen tu sueldo Y EL SUYO.

En las empresas sin empresarios hay un cartel que pone Cooperativa. En las empresas sin trabajadores el cartel pone CERRADO

El trabajo de un empresario es gestionar y optimizar los recursos para sacar el mayor beneficio de su negocio.

Si lo único que sabe hacer es compensar las pérdidas con sueldos bajos, es que es un inútil.

Si los recursos que optimiza son tu trabajo y tu sueldo, él no está optimizando nada. Lo estás haciendo tú.

Ese tío es un incompetente y tú estás haciendo su trabajo.

Y lo que tenemos es eso: Mucho incompetente que se lo tiene muy creído y, encima, quiere que le des las gracias.

(2289 visitas a este artículo)

Entornos virtuales en Python con virtualenv

En ocasiones, necesitamos tener varios entornos de trabajo distintos, con distintas versiones del intérprete, distintas librerías, etc.

Una de las soluciones más comunes es usar varios ordenadores o varias máquinas virtuales, cada una con una instalación diferente.

Pero Python nos provee de una herramienta simple y útil para facilitarnos ese trabajo, sin necesidad de recurrir a soluciones más complicadas. Esta herramienta es "virtualenv".

virtualenv es un programa que permite crear entornos virtuales de Python. Un entorno virtual consta de un intérprete (podemos elegir la versión concreta) acompañado de todos los módulos que necesitemos instalar. Se pueden tener varios entornos distintos, instalando en cada uno los módulos que necesitemos, sin que unos entornos afecten a los otros.

Vamos a verlo de forma práctica.

Para empezar, necesitamos instalar la propia aplicación virtualenv. Esto se puede hacer desde el gestor de paquetes de tu distribución (apt-get, emerge, yum, pacman...) o, de manera más general, con pip (en cualquier caso, hacen falta permisos de superusuario):

pip install virtualenv

Tras esto, ya tendremos el programa instalado y podemos comenzar a usarlo.

En Python 3 nos podemos ahorrar el paso de la instalación, porque ya viene por defecto.

virtualenv guarda cada entorno virtual en un directorio con el nombre de ese entorno. Dentro de ese directorio se guardarán todos los archivos necesarios (de ellos nos interesan, en particular, los módulos que instalemos en el entorno y el script que lo inicia).

Es una buena idea tener en tu home un directorio donde agruparemos todos los entornos virtuales. En mi caso, en una escandalosa falta de originalidad, ese directorio se llama "virtualenvs".

Crear un entorno virtual es muy simple, del siguiente modo:

virtualenv DIRECTORIO-DEL-ENTORNO-VIRTUAL

Por ejemplo:

virtualenv nuevo-entorno

O, en mi caso, que estoy usando ese directorio llamado virtualenvs que ya he comentado para agrupar todos mis entornos:

virtualenv virtualenvs/nuevo-entorno

Al hacerse en espacio del usuario, ni la creación de un entorno virtual ni (como veremos más adelante) la instalación de paquetes en él, necesitan permisos especiales.

Esto crea el nuevo entrono en el directorio que le hemos indicado, creando en él una estructura de directorios, copiando allí el ejecutable de Python y otros archivos necesarios, e incluyendo algunos módulos por defecto (en realidad, la mayoría de ellos son enlaces simbólicos a los originales, a menos que usemos la opción --always-copy, que cambia este comportamiento).

Para que virtualenv nos dé más detalles durante la creación de nuestro entorno, podemos usar la opción --vervose (o -v en su versión corta):

virtualenv --vervose virtualenvs/nuevo-entorno

Si necesitamos que nuestro entorno virtual ejecute una versión concreta del intérprete de Python (que, lógicamente, debemos tener instalada en nuestro sistema), podemos indicarlo con la opción -p de este modo:

virtualenv -p /usr/bin/python3.5 virtualenvs/nuevo-entorno

Si no se indica la opción -p, se usará el intérprete en /usr/bin/python.

Una vez creado nuestro entorno virtual, necesitamos activarlo para poder usarlo. Para ello vamos a usar uno de los scripts que se han instalado por defecto al crearlo. El script necesario es activate, y se encuentra en el directorio bin que se ha creado dentro del de nuestro entrono virtual:

source mis-virtualenvs/mi-entorno-virtual/bin/activate

La orden source se encarga de ejecutar en la sesión de shell actual el script que se le pasa como parámetro (es decir, que el efecto es el mismo que si el usuario tecleara esas instrucciones en su consola) en lugar de en su propia shell, como se ejecutan normalmente los scripts.

Al hacer esto, el prompt de shell cambiará para indicar que se ha activado el entorno virtual, poniendo el nombre de este delante del prompt habitual, de un modo parecido a este:

(nuevo-entorno) usuario@host:~ 

A partir de este momento cualquier comando o script de python que se ejecute lo hará en el entorno virtual. Y, lo que es más importante, cualquier módulo que se instale (con pip, no con el gestor de paquetes del sistema) lo hará también en el entorno virtual y no afectará ni al resto de entornos virtuales que podamos tener, ni a la instalación de Python del sistema.

Naturalmente, esto se aplica sólo a la sesión en la que se ha activado el entorno virtual. Si abrimos otra sesión en otro terminal, por ejemplo, esa sesión tendrá el entorno de Python normal de nuestro sistema. Por supuesto, se pueden tener varios entornos virtuales distintos corriendo simultáneamente en diferentes sesiones sin ningún problema.

El comando deactivate desactivará el entorno virtual, volviendo al entorno normal:

deactivate

Cualquier módulo que se haya instalado en el entorno virtual se "desvanecerá" como si nunca hubiese estado ahí, hasta que se active de nuevo el mismo entorno virtual.

Para eliminar un entorno virtual que no queramos volver a usar, sólo es necesario borrar el directorio de su mismo su nombre con todo su contenido.

virtualenv es una herramienta muy útil que tiene otros usos más allá de lo que se comenta en este artículo. Se pueden ver más opciones de este programa en su propia ayuda:

virtualenv --help

Este artículo se publicó originalmente en el blog de la Oficina de Software Libre de la Universidad de Granada

(3325 visitas a este artículo)
Posts Posteriores (3/40) Posts Anteriores
PCMS 2004