Hacker News new | ask | show | jobs
by jiggawatts 1798 days ago
Story time!

I grew up in eastern Europe in the communist era, in a country where entire factories were run using Commodore 64 computers that were smuggled in, bypassing export controls and sanctions.

The programmer at one such factory was a friend of my father, and we'd go over to his place for dinner semi-regularly. He didn't have kids, and I was six, so I was bored to tears. No toys and nobody my age to play with!

He did have a C64, which was the only other one in town apart from the one at the factory. He was using it to practice programming after-hours at home. There were no games on it, but he did have a book of games.

As in: a literal printed book of the source code for several simple games. That you were supposed to type in to be able to play!

So I did. I had nothing else to do, so I whiled away the hours while the adults chatted poking away at the keyboard, typing in the BASIC code of the shortest, simplest game first.

It didn't work at first. There were some errors. With help, I fixed the typos, and hey presto, the game worked! I still remember the elation, the feeling of accomplishment after all that work. I didn't even play the game for more than a minute or so, I immediately got to work on entering the next, longer game's code. I was hooked.

Eventually I tried all three or four of the games in the book, and got bored. However, I was allowed to borrow the BASIC introductory problem set book, which I took back home with me to study. I solved the problems one at a time on grid paper (to match the fixed-width screen layout). I "ran" the programs in my head, debugged them by working out the variable values step by step on paper, and then tested my solutions on the real C64 computer whenever my parents went over for a social dinner. Most of my programs worked, and ran at ludicrous speed compared to the glacial pen & paper solutions I had worked out. I instantly understood that Computers were levers for the mind. Learning to control that raw power was intoxicating.

We fled across the iron curtain as political refugees, and I took that textbook with me. I had no access to computers for nearly a year, but when we finally got settled permanently in the West my dad bought a used C64 at a garage sale for a few dollars. This was a computer that back in my homeland would be the carefully guarded control hub of a factory. Here it was a discarded plaything. Even at that age, that blew my mind.

I learned more programming languages in quick succession. Pascal at the age of 11, C and Assembly at 12, C++ at 13. I had written 3D engines by the time I went to University.

Statistically, if you know programming, you probably learned it in a tertiary education setting, most likely in your late teens or early twenties. Just like learning a foreign language at that age, you'll never be perfectly fluent. You'll always have an accent, no matter what you do.

To me, programming is my mother tongue. I'm perfectly fluent and unaccented. You probably can't even tell, you can't hear the difference.

Programming for you is something you do at work.

I've had dreams in C++

9 comments

Why is a comment that makes assumptions about its readers and makes typical bragging points of meaningless things like learning syntax at a young age near the top? It felt like I was reading a parody towards the end.
> Statistically, if you know programming, you probably learned it in a tertiary education setting, most likely in your late teens or early twenties. Just like learning a foreign language at that age, you'll never be perfectly fluent. You'll always have an accent, no matter what you do.

I appreciate your story, but this comment bothered me, because it's something people repeat a lot and it's actually not true. There's no good evidence that adults have more difficulty acquiring language than children. There were some older studies that claimed to show such, but as has become all too familiar these days, their methods were spurious and there have been some replication issues.

I work for a company whose entire purpose for the last 35 years has been making fluent speakers of adults. We do it. We do it regularly. Our students are diplomats and military personnel. They don't really get a choice of whether they study a particular language. It's their job and they have to do it.

The reason adults fail to gain fluency in foreign language is because they don't do the work. They choose to do other things. There is no fundamental limit on the language acquisition abilities of adults, if they just stop bitching about homework and put the effort in.

And I firmly believe the same is true about programming. I didn't start programming until I was 16. I didn't even have a computer until I was 15. I'm almost 40 years old now and I'm the head software engineer for my company. The people I see who struggle with programming who have been at it for years, they're the ones who have approached their entire career under the attitude of "I am not very good at this, I need to find easy, quick fixes for things". Rather than putting the effort in to learn, they cheap out and never grow.

It may feel like growth is not a linear function of effort all the time. Sometimes you feel like you're banging your head against a wall, not understanding things, and not progressing. That's mostly just feeling. I've had it several times myself and have been surprised to find, coming back to a topic several months later, that the topic much easier to understand on the 2nd go. Even when we subjectively feel like we aren't learning and aren't progressing, we still actually are.

> There's no good evidence that adults have more difficulty acquiring language than children.

This kind of rocked me, because in my experience, kids have a clear and obvious advantage compared to adults. They can completely passively acquire a language, phonology and grammar, with no training, in a matter of 5 years or so. And that's completely passively, no education, no effort.

I totally buy that you can turn an adult into a fluent speaker. And I get that it's good for your business to show adults that it's not impossible. But it's like a million times easier for kids, isn't it?

> in my experience, kids have a clear and obvious advantage compared to adults

Their advantage is that they have almost unlimited time.

Consider how long it takes for a child to speak their first word and, then, to actually speak in well-formed sentences: Several months, even years, of complete immersion and 24/7 exposure to native speakers.

Now compare this to an adult attending a language class for the first time. Chances are, by the end of that class, they will be able to say their first words or even sentences, will understand these words' & sentences' meaning and in which contexts to apply them. Adults are orders of magnitude faster at learning new languages because they already know most of the concepts a new language's words and grammatical structures can refer to. (We all inhabit the same planet, after all.)

The only problem is: Learning all the intricacies of a language, of its grammar and vocabulary, of its melody and accent takes time and lots of continued exposure to native speakers. Adults usually don't (want to) spend that time – whether that's a conscious decision or an unconscious one.

Interesting theory. But it cannot explain a few things. One of which is why children never have accents, and adult non-native speakers do. Another is that children do not need lessons to learn a language, and adults always do.
I'm not quite sure what you're trying to say by "children never have accents", but children do have accents, both the accent of whatever locality in which they live, as well as their own accents from not learning the language precisely. My 3-yr-ld son pronounces all words end in an "-ar-" sound of some kind as "-aiee-". He wanted to play "cards" and it came out "cai-eeds". There are other, similar foibles in the language of children that I think could easily be called "children have a unique accent".

Also, it is very not true that children do not need lessons to learn language. If anything, children receive MASSIVE amounts of explicit language training that we would never think to apply to adults. Children have songs about the alphabet and numbers. We play games with them about colors and shapes. Before the age of about 5, almost all of their toys are fundamentally designed around learning components of language. All of the books that we read them are about.

Both my 3-yr old and my 5-yr-old make what I find to be a hilariously cute error in speaking. Things that belong to them, they say are "Mines". I thought about it, and their way is more consistent. You say that toy is yours, hers, his, theirs, ours. It's only in the 1st person that we drop the -s sound at the end.

When do children gain fluency? How do we even define fluency? In the language training industry, we have the International Language Roundtable Scale (https://en.wikipedia.org/wiki/ILR_scale). The ILR Scale ranges from 0 for a raw beginner to 5 for "educated, native speaker", with people typically appending "+" to a level to blend in between levels a little. Based on the ILR scale, my 5-yr-old is a 2 and my 3-yr-old is a 1. I know full-grown adults, born and raised in America, who would probably only rate a 3+.

Children do not learn fluency without massive effort on both their and everyone else around thems behalf. And then adults complain about having to do 5 hours of homework every week and whine about not gaining fluency in Mandarin. "It's just easier for children". Yes, in a round about way, it is easier, but those reasons are purely social. Given that some adults do demonstrate the capacity to achieve fluency, yet are not living anywhere near a completely, 100% immersed life like a child does, there is clearly some natural advantage that adults have that makes up for the lack of nurture.

1. Accents are evidence that the speaker did not fully acquire the phonology of the language. A French native speaker will speak English with a French accent because they haven't acquired the full English phonological inventory. Children who learn a language don't have this problem.

2. Children will learn colors and shapes just fine without explicit instruction. They do it all the time. In the pre-developed world, children didn't get taught how to speak. There were no flash cards or toys for learning numbers. They just learned by observing.

3. Letters is something else. The orthography of a language -- learning how to write it -- is a different beast from learning how to speak it. Education is necessary here. So we agree about that, for sure. No one will passively acquire how to write.

4. Children make errors in production all the time. As they learn a language they make generalizations -- generalizations that actually make sense, like "mines" -- but which are considered "wrong" by adult speakers. They'll correct themselves over time without instruction.

You might want to check out reading Steven Pinker's "The Language Instinct," it has a lot of ideas and research that might be new to you.

> "It's just easier for children". Yes, in a round about way, it is easier, but those reasons are purely social. Given that some adults do demonstrate the capacity to achieve fluency, yet are not living anywhere near a completely, 100% immersed life like a child does, there is clearly some natural advantage that adults have that makes up for the lack of nurture.

I like this argument, it puts it very succinctly!

On a completely different note, seeing that you're developing VR applications for learning languages: How is that coming along? Is Diplomatic Language Services already using it in production? And what improvements in learning/teaching compared to non-VR applications (and non-VR private classes) have you seen? I mean, I generally understand the appeal of VR but I hadn't heard of it in the context of language learning yet, so I'm wondering what the advantages might be since it's a purely visual thing, so a priori not necessarily more conducive to teaching a language(?)

PS: Now that I've seen you mention your alma mater on your website: What a coincidence – I once went to Shippensburg for one of my boxing fights! :) What a beautiful place!

Those things are fairly easy to explain and they also aren't god-given facts.

> children never have accents, and adult non-native speakers do

This mainly due to two things:

1. Language learners usually try to map the sounds they already know (from their own mother tongue) to the new language's sounds. In fact, there are studies that suggest that, depending on their mother tongue, language learners will not even notice certain differences between sounds in the target language and their native language. (Consider how Japanese people tend to have issues distinguishing the letters R and L, or how both English and Spanish native speakers usually cannot pronounce the French/German "r" properly because that sound doesn't exist in their native language.)

This is not at all set in stone, though, because it only takes a handful of weeks of focused practice to reset your ears (and your tongue) and tune them to a new language's sounds – preferably before you learn any of the vocabulary or grammar of that language.[0] Also, the greater the spectrum of sounds you already know (the more languages you speak), the easier it will be for you to learn a new language's accent as your brain will be already attuned to listening closely to tiny differences in sound and speech melody.

Once again, consider that a child has years to learn the sounds and all these nuances.

2. Habits. Language classes almost never focus on pronunciation and speech melody in the beginning. From my POV this is a huge mistake as it means that language learners attending such classes will sooner or later get into the habit of pronouncing words of the new language using their native language sounds. That is, when they see (or think of) a word in their new language, they will no longer pause to think about how to pronounce it – they will just do it. Unfortunately, at this point it's pretty much game over as it will take a lot of work to change these habits. Then again, a lot of people also don't really care that much about having an accent.

> Another is that children do not need lessons to learn a language, and adults always do.

This is not true and I know a few people who have gone the full-immersion-zero-lesson route. It is incredibly hard, though, given the time constraints you usually have (usually a few months to a year) and you will usually progress only very slowly. Again, just consider how much time it takes a kid to learn a language by just observing and mimicking others! For adults, lessons are simply a much faster way to get started and become somewhat proficient in a language. Also, once they've taken a few lessons, they will be orders of magnitude faster at learning the rest of the language.

[0]: For an introduction to this approach of learning a language, I can recommend Gabriel Wyner's book "Fluent Forever" and, also, his pronunciation trainers and his YouTube videos on the International Phonetic Alphabet (IPA). They got me from speaking absolutely zero Spanish to being asked whether I'm a native speaker in about two months of living in Colombia. …which doesn't mean I was speaking perfect Spanish at all – but it sounded like I was! In fact, on various other occations, people told me that they could tell precisely which city I had learned Spanish in because I had become so attuned to the accent people speak there.

As the other comment says, it's all about the immersion. If you're locked somewhere with no way to communicate except to learn a new language, you'll learn it pretty fast. There might be an upper age limit on learning it fluently, but I wouldn't bet on it.

If anything, adults have an advantage that they have settled down a bit and can study effectively on their own, instead of just passive and forced learning.

Of course, they still have all the temptation to just screw around, too. And if you're not actually locked to that new language, the old language is incredibly tempting.

> in a matter of 5 years or so

Wouldn't anybody master a language in 5 years? I'm assuming you're talking about a situation where you are immersed in the language.

> I appreciate your story, but this comment bothered me, because it's something people repeat a lot and it's actually not true. There's no good evidence that adults have more difficulty acquiring language than children. There were some older studies that claimed to show such, but as has become all too familiar these days, their methods were spurious and there have been some replication issues.

According to a 2018 paper [1], the ability to acquire new languages declines steeply after age 17.

[1] Hartshorne, Joshua K., Joshua B. Tenenbaum and Steven Pinker. 2018. A critical period for second language acquisition: evidence from 2/3 million English speakers. Cognition 177:263-277. https://l3atbc-public.s3.amazonaws.com/pub_pdfs/JK_Hartshorn...

Can people like me hire your company to teach a language at a higher level?
Yes, you can. We take on individuals regularly: https://www.dlsdc.com
hey, i coded since i was a child as well but i would never say someone will never be fluent in the "mother tongue", i am sure you are dedicated but, don't stop others down, a ton of people learn later on in life and manage just fine. some people started later because lack of access, my first computer as well was a c64, i too have coded in basic, pascal and the likes, and i know people who has started later and just got their first job, i don't judge anyone who wants to take up programming later on in life, not everyone gets the same start in life and that is okay, anyways, ive met people who learned english and you would never be able to tell they weren't native speakers, at the end of the day, any language mastery comes down to time, and grit.
Loved your write up of your amazing experience, what a great post.

Typed in game listings, I remember those well! There were magazines devoted to these for the Vic 20 / C64, with pages and pages of source code to type in.

(We were absolutely glued to them.)

I recall having the C64 basic manual for quite some time before being able to afford the actual C64, selling my Vic20 in the process and doing a summer job as a teen to afford. I stayed up at night reading it from cover to cover in anticipation. Not nearly as impressive as your story (I grew up in the safety of Norway, and you were picking up the languages way, way faster!), but it hints at a passion for computers we were both yearning for!

(I got into assembly on the Amiga but never C++, sadly)

If you are open to sharing, I'd be curious to hear what you have done since university.
> We fled across the iron curtain as political refugees, and I took that textbook with me. I had no access to computers for nearly a year, but when we finally got settled permanently in the West my dad bought a used C64 at a garage sale for a few dollars. This was a computer that back in my homeland would be the carefully guarded control hub of a factory. Here it was a discarded plaything. Even at that age, that blew my mind.

That's an incredible story! I can't help but think about all the wasted talent for those who couldn't escape. Truly communism held eastern Europe decades back.

That is an amazing comment. Feels like comment should have been much longer. Have you written about this anywhere else?
Chill out people, let someone give his subjective views on something.
Great story, but you've never dreamt in C++.
He probably means programming or debugging while dreaming, which certainly happens when you're up 4am in the morning fixing a stubborn bug or learning something new that captivates your brain.
I meant it literally. I've had dreams where instead of a normal language, I dreamt in C++, as if it was a human language. Instead of spoken words, a header file was changing in my mind, taking shape to match my thoughts.

It's the most "alien" experience I've ever had.

That's really cool.

Sounds like it was an abstract-declarative sort of narrative - header files are generally references that prospectively describe and model things.

I'm curious if the code was valid. (Hmm, and if the numbers were all fuzzy... people sometimes say they can't read clocks or digits.)

A bilingual friend once shared that they sometimes forgot which language they'd heard something in, their brain could subconsciously translate back and forth with so little effort. This sounds kind of like that.

Hmmmm... programming languages are unique in that they're generally never sounded-out to the same extent as wetware languages, eg in how commas and periods turn into pitch changes and pauses. Human(-to-human) language does have a visual/written component, but it's maybe... hm, 50/50 sounds potentially wrong, but it is sorta half-half; audio serialization is generally awkwardly bolted on to the side with programming, which is generally always visual, and has strong correlation (or even fundamental integration) to control and problem solving.

To integrate all that very young may have perhaps slightly remapped things around such that that language processing developed strong cohesive lock-step with visual/spatial reasoning, with sufficient cohesion that the integration retained structural integrity even when the logical/rational/etc parts of the brain shut down when asleep.

Deaf people "hear" sign language in their dreams.

It was a bit like that: no audio! It was the structure and form of the API of a pair of associated classes shifting around fluidly. Very abstract, and not at all like human speech. But it was definitely my thoughts. As in, the code was my stream of consciousness, not a product of it.

Sounds like what an LSD experience must feel like
A few times in dreams I found solutions to problems I have been working on during the day.
im betting he meant it. ill ofyen have fever dreams whem too much caffiene or whatever and ill be trying to do for loops and what not in various languages. ive had people talk to me in code in dreams. in my dreams things are usualy sent essentially telepathically as ideas anyway so language is more about concepts amd structure.
I've dreamt in bash-like, but in my defense it was kind of a fever dream.
I had a nightmare in LISP once. At least ... I saw a lot of parenthesis.