On Learning A New Language

Que sais-je? (What do I know?)Montaigne

On answering that famous question as it relates to my stuttering progress in learning Spanish, the result would have to be “La mujer tiene el perro grande azul” or perhaps easier “Not much”. My vocabulary is growing at about the same rate as my ability to butcher the syntax and grammar which I think is an asymptotic function approaching infinity. Nouns are easy but the correct usage of the nouns in a sentence that doesn’t involve me commenting on the sexual ability of the Pope seems to be a great deal harder. I haven’t ever looked into the acquisition of a language by the average human but I suppose this is normal. We relate to the things around us. Long before Will Shakespeare expressed the tragedy of doomed love, it made more sense to be able to yell “Sabretooth Tiger!” which I think in the colloquial Spanish I have acquired would be “Tigre diente grande comido Bob!”. I can look around the room and identify things but I’ll be damned if I could tell you to bring me 10 yellow apples. Using my Spanish as it currently stands would involve a killer game of charades.

I am starting to pick up the verbs and syntax necessary to find my way to the bathroom should I find myself in Mexico with Montezuma’s revenge but it is painfully slow. For example, I can now ask you “Who has the six blue bicycles?” and tell you “The doctor has the six blue bicycles” (leaving aside the unspoken question of why the doctor would have six blue bicycles which is better anyway since I have no idea how to ask that). I could probably order eggs and potatoes and sausage for breakfast (only because the guy who runs the deli in my building helps me with my Spanish) but the eggs would likely be sunny side up (“Huevos cielo upe?”) when I wanted them boiled.

To aid in my acquisition of the language, I bought a Spanish reader, probably fit for a four year old. It is fully of cute stories (I presume, they could be about serial killers for all I know) about chickens who walked into the woods and whatnot (“Un dia, es pollo entra en el bosque y estaba frito” which is either a cooking joke or a meth joke, depending on how you interpret it). But the reading part isn’t the hard part. I am starting to be able to get the gist of the story with only 40 or 50 visits to FreeTranslation.com but again, this is an artifact of picking up vocab much faster than grammar. The really hard part comes when Rosetta Stone decides it’s time to get me to write something. Then I have to try and pick my way through the words I know and start randomly throwing verbs into the equation, hoping to get the tense and masculine/feminine out of sheer luck or perseverance (or cheating, they will show you the answers if you beg and manage to hit the right button which saved me from throwing my laptop through the window several times in the last lesson). The fact that I’m thinking about masculine and feminine is probably a sign that I’m doing it wrong.

They say (who “they” are is beyond the scope of this essay but I like to think of “them” as “Those assholes who learned more than one language that didn’t involve Latin in high school”) that adults learn languages differently from children. This makes sense as if you’ve ever hung out with children much, they are less worried about whether the pelota is masculine or feminine and more interested in kicking the hell out of it. The trick to learning a language as an adult (says the guy writing an entire essay analyzing the struggles of learning a new language) seems to be to leave aside the rules and the internal critic. Trying to determine the rules is a losing battle as it leads to paralysis. Far better to dive in and kick the pelota amarilla and see what happens.

State and Identity

Thinking out loud here. I’ve been rededicating some of my attention to Clojure lately with some basic success. However, coming from a background of object oriented languages focused on imperative programming and mutable state, I’m having trouble really internalizing the concepts in Clojure. I recently read Rich Hickey’s essay Values and Change – Clojure’s Approach to Identity and State and while I understand it from a very high level, the details seem to escape me in some significant way when I think about writing programs in a functional style using mostly immutable data.

The real problem is that I don’t completely understand what I’m not understanding. There is just a fuzzy, nagging feeling in the back of my brain that says “This can never work”, examples to the contrary notwithstanding. As a C# developer, I’m used to just modifying anything as necessary in my programs, adding values to lists, modifying dictionaries, randomly changing object values just to screw with people. Ok, maybe not that last part. But with Clojure, the world is very, very different.

[clojure]Last login: Tue May 4 16:42:01 on ttys000
Bretts-Mac-Pro:~ admin$ clj
Clojure 1.1.0
user=> (def mylist ‘(1 2 3))
#’user/mylist
user=> mylist
(1 2 3)
user=> (cons 4 mylist)
(4 1 2 3)
user=> mylist
(1 2 3)
user=>
[/clojure]

Here, I create a list, show the list at the command line, cons another number to the list and then show that the original list is unchanged. This takes some getting used to. Rich recommends the following when coming from an OO language:

In coming to Clojure from an OO language, you can use one of its persistent collections, e.g. maps, instead of objects. Use values as much as possible. And for those cases where your objects are truly modeling identities (far fewer cases than you might realize until you start thinking about it this way), you can use a Ref or Agent with e.g. a map as its state in order to model an identity with changing state.

Conceptually, I can think of a map of maps to model the world but I’ll be damned if I can really accept it right now. I understand the benefits behind the immutable data of Clojure but I look at my day to day programming tasks and just don’t see where it’s important. Maybe that’s just a failure of my imagination. I’m continuing to plug away on learning Clojure, trying to work my way into the Concurrency chapter of Stuart Halloway’s Programming Clojure which has been excellent.

More Ways To Feel Dumb

So we’re going to France next month with the entire family in tow and because I don’t want to feel like a complete touriste, I’m learning some French. I can currently say the following three sentences after having studied at least sort of diligently all summer.

Why yes, I’d love monkey thighs for dinner.
Really? I took a dump in your tuba?
Please pass the mashed laptop computers.

I’m going to be quite The Ugly American.