Live data from Hacker News

Ask HN: Concepts that clicked only years after you first encountered them?

news.ycombinator.com

61–70 of 946 posts

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#61
Two concepts that I never really understood until I encountered them together: functional programming and recursion.

When I first encountered recursive functions when I began learning programming I had a really hard time understanding what the function would do and how it would play out as it called itself. I couldn't think through the recursion and imagine what would happen. Nor did I really understand how to usefully apply one to a situation. I would either use a loop or a recursive function that utilized lots of external state to work.

When I later encountered functional programming, having learned programming with OOP languages, it was a real mind-bender. I finally started to understand it but when I encountered the need for recursion in FP, it really threw me for a loop. How the hell was I supposed to do this without external state? So it was that restriction that really let me understand how to create a recursive function that could return something useful with nothing more than the initial input. This new understanding also gave me a better appreciation of functional programming and the idea of pure functions.

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#62
post #22

The monitor model in second language acquisition. Or, more accurately, the more contemporary synthesis that it's developed into in the decades since it was first proposed. The model itself is easy enough to grasp. But concretely understanding what it implies about how I should be studying took much, much longer.

Very intriguing! Any links you can share on this theory? A quick Google search gave me an overview, but I don’t see how this is particularly useful for second language acquisition.

The big take-away is that explicit study of grammar rules, and even vocabulary to some extent, is kind of a waste of time. They encode information in a format and region of the brain that generally isn't accessible to the areas that are used in fluent communication.

The way our brains have evolved to build up a functional language model is by observing lots and lots (and lots) of examples of the language being used for communication. Which implies that, even from the very beginning, graded readers, level-appropriate dialogues, etc. should be the foundation of a language study program and not, as most language instruction courses and apps make it, just a little bit of icing on top.

The primacy of input is also kind of a big deal, and, at least for me, it took a long time before I was willing to let go of forced production exercises such as "translate this sentence into your target language". Perhaps in part because they're so endemic to language learning resources. You can't abandon them without also abandoning Duolingo and most formal classroom programs. But the problem with these kind of practice exercises is, we now know that it's normal for there to be a long delay between when someone can comprehend a grammatical structure, and when they can use it in a natural setting. (Anyone with kids over a certain age should be familiar with the phenomenon.) Forced production relies on - and reinforces - that aforementioned misplaced encoding, and there's a mountain of research demonstrating that skill in performing those sorts of exercises simply doesn't correlate with the development of communicative fluency.

Tangentially, the transformer architecture that's taken natural language processing by storm has some interesting similarities to the leading model among SLA researchers for how language is represented in the human brain. Which isn't the monitor model itself, but might hint at a mechanism for a few parts of the model. Acquisition order, for example.

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#63
post #50

Differential equations took a couple of years to grok. I first encountered them in high school, while preparing for physics Olympiad. I could solve basic differential equations by following the "rules" (such as for dampened oscilator), but I didn't understand what was going on under the hood. When in university I did some more math courses, suddenly differential equations clicked and made sense (and I could even deri…

Any books you could recommend?

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#64
post #61

Two concepts that I never really understood until I encountered them together: functional programming and recursion. When I first encountered recursive functions when I began learning programming I had a really hard time understanding what the function would do and how it would play out as it called itself. I couldn't think through the recursion and imagine what would happen. Nor did I really understand how to useful…

I had a similar experience with tail recursion that I only fully grokked much later when I had to implement some stack-trickery in C for a computer game. I realized then that tail recursion was typically optimized as a jump to code within the same stack frame rather than creating a new stack frame.

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#65

Earlier quoted context omitted.

Not sure about poster above, but I found a large amount of value in writing tests when developing API backends. I knew the shapes and potential data. Was easier to write tests to confirm endpoints looked right than manually hit the api endpoints.

Always amuses me when I see tests spin up a http server, just to call a function.

What specifically amuses you?

Todays http servers may have any number of request altering/enhancing "middleware" calls between the incoming request and the actual business logic/function.

How do you ensure that your api works as designed if you only test (pure) business functions? Or do you re-create the middleware chain of functions manually for you test?

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#66
post #8

The autonomic nervous system and the adrenal cortex. Homeostasis is taught as a textbook fact, the body reverting to a baseline over time. What’s not taught is how much the impacts of daily life events drive a continuous stress response. Fight or flight is not just a reaction to deadly threats. It’s active every moment of every day to ensure survival. The adrenal cortex is always active, to traffic, your boss and col…

Any books you could recommend?

I presume you already know of this book: The Body Keeps the Score: Brain, Mind, and Body in the Healing of Trauma by Bessel van der Kolk.

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#67

i didn't really understand hypermedia, and, in particular, the uniform interface/HATEOAS until a few years after i started building intercooler.js (htmx predecessor) https://intercoolerjs.org/2016/01/18/rescuing-rest.html much later: https://htmx.org/essays/hateoas/

I'm reading the HyperMedia book right now, thanks!

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#68

Earlier quoted context omitted.

Not sure about poster above, but I found a large amount of value in writing tests when developing API backends. I knew the shapes and potential data. Was easier to write tests to confirm endpoints looked right than manually hit the api endpoints.

Always amuses me when I see tests spin up a http server, just to call a function.

Sorry, I probably wasn't clear. I wasn't spinning up the server itself, just testing the endpoints via their functions. Though this likely falls more under integration vs unit tests.

As for unit tests... I mostly add them to projects with something egregious happens or a very hard bug to spot can occur - just to prevent anyone else from foot gunning themselves (here be dragons or whatever).

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#69

Socialism When I got out of my middle class bubble, made friends with people working multiple jobs and struggling to make ends meet, and experienced a period of financial instability; I began to realize that something wasn't working in our current system. Then I started struggling with burnout and other issues and found that corporations were happy to just replace me. I also found that management wanted programmers t…

Observing the debate in the US from the outside, I believe the term "socialism" has to die. It's carrying so much baggage it's a major reasons the US cannot have a sensible debate over what alternatives there are to full-blown free-market capitalism.

While also somewhat contested in Germany, and not free of (some) valid criticism, I would advocate to try and use the term "Social market economy" [1].

[1] https://en.wikipedia.org/wiki/Social_market_economy

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#70
post #11

The fourier transform. Encountered it first in my undergrad engineering degree, it was presented as dry mathematics, with no real explanation, just threw complex exponentials at us, and pages of derivations. Years later I actually use it in my job, and through that and other material can see its beauty, and how its actually not that complicated. Some great resources like this helped a lot: [0] https://betterexplained…

In case you didn't already know; Who Is Fourier?: A Mathematical Adventure is an excellent illustrated book on this.
Post reply on HN