Is It Better to Learn Bottom-Up or Top-Down?

  • Thread starter Thread starter Mathnomalous
  • Start date Start date
  • Tags Tags
    Ignorance
Click For Summary
The discussion highlights the paradox of knowledge, where increased learning leads to a greater awareness of one's ignorance. Participants reflect on the Dunning-Kruger effect, noting that those who are unaware of their lack of knowledge often fill in gaps with misconceptions. The conversation also touches on the fleeting nature of happiness and the human tendency to create narratives about unknowns, illustrating how the mind struggles to accept a void of knowledge. Additionally, there is commentary on societal assumptions regarding identity and representation in media. Ultimately, the dialogue emphasizes the complexity of knowledge and the human experience of learning.
  • #31
By the way, about the original topic. It might not be just a human property, it might also be due to the fact that most institutions teach in the inverted order. I was just reading: http://docs.plt-scheme.org/guide/intro.html when I realized some-thing.

It's a comprehensive guide into the Scheme programming language (wonderful language if you don't know it by the way, it eats FORTRAN, but that aside), but as you read it, each new page basically tells you 'Okay, what we told you before actually wasn't completely true, it goes deeper than that.'

I mean, they start by saying you can define a function like (define (name argument) function-body), then they tell you that is actually a special syntactic sugar for (define name (lambda (argument) function-body)), and on and on and on...

As far as I know Scheme, the quintessential property of Scheme is that code = data. If (a . b) is an ordered pair and () a special constant, the last code is actually just some syntactic shorthand for:

Code:
(define . ([I][U]name[/U][/I] . (lambda . (([I][U]argument[/U][/I] . () ) . ([I][U]function-body[/U][/I] . ())))))
Which is how Scheme works, the implementation basically re-aranges and transforms such data which is provided in some ad hoc form to simulate functional programming, but in reality, it's just a datastructure translator, and in such a datastructure we can basically encode a function.

If they started from the bottom up explaining all things correctly, there wouldn't be a 'the more you learn, the less you know' feeling each time you realize that things are more complex than you thought. There would be a 'the more you learn, the more you know' feeling, you don't find out that things are a little more complex than you first thought, because that never happens. Same thing with all things, they first teach you calculus before you even know what a function is. They first teach that to say 'He has ...' in Finnish is 'Sillä on ...' and later on you see it actually means 'On that/it/her/him is ...'

I had some debates about this, they called me insane on #scheme for thinking that learning it bottom-up instead of top-down is a superior method to understand the language. I learned German top-down, all kinds of phrases I learned before understand the systematics behind it. I learn Old English bottom-up, I first learned the phonology, then the grammar together with all linguistic data on the pattern behind the umlauts (which also greatly expanded my knowledge of German) and even though I had about three times as much time for German, and the latter way had a learning curve, I'm probably the only Dutch person on the planet who has less troubles reading Old English than German nowadays.

Especially in programming languages, understanding just exactly what happens before using it of course is essential to security.
 

Similar threads

  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 11 ·
Replies
11
Views
6K
  • · Replies 4 ·
Replies
4
Views
3K
Replies
4
Views
1K
  • · Replies 111 ·
4
Replies
111
Views
8K
  • · Replies 12 ·
Replies
12
Views
4K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 10 ·
Replies
10
Views
2K