News for hackers. Stuff that matters.
Re:Non-determinism: a sublanguage rather than a monad by worldsayshi on Wednesday September 20, 2017 @06:31PM (#15298939)
Somewhat off topic: I'm very interested but as so often before with these kind of texts I'm at least somewhat stumped by the terminology. I can almost read this and I've done two and a half ish courses of Haskell.

I've wasted so much energy feeling stupid when reading texts that I don't understand. But most of the time not understanding is not about "intelligence" but simply not having the right meaning assigned to the right amount of words.

You're not stupid, you just don't have enough structured data yet. I wish I had that kind of insight and believed in it when I started out in university. Not that I'm completely convinced even now.

Re:Non-determinism: a sublanguage rather than a monad by mikekchar on Wednesday September 20, 2017 @08:11PM (#15299515)
I first learned Haskell so I could understand some of the papers I wanted to read that used Haskell for examples. Even when doing so, I realised that I would eventually have to learn ML, but haven't gotten around to doing it. I think it's a bit like literary researchers who have to learn ancient Greek or ancient Chinese to get to the bottom of things.

It's funny that when I grew up I was always praised for being clever, so I never once doubted it. However, when I chose to learn Japanese and moved to Japan, suddenly many people assumed I was stupid -- because I could never quite understand what was going on. It's been an interesting experience. Which is it? Am I clever or stupid?

Eventually I've come to the point: clever or stupid makes no difference. The only important things to ask are, "Do I understand" and "What do I need to do to understand". It's also made me realise that relying on my supposed cleverness has actually been a source of problems in my life that I had not thought about before (because I'm clever and clever is good, right?)

Re:Non-determinism: a sublanguage rather than a monad by bojo on Wednesday September 20, 2017 @08:55PM (#15299731)
It's interesting to read this comment because I experienced nearly the same thing. Thought I was clever because everyone told me it was so, was admittedly quite arrogant about my technology skills, learned Japanese, moved to Japan, and could barely explain anything to my programming peers at the level of a five year old.

It took several years of forced humbleness to erode the arrogance, stop thinking I was so clever, and simply apply myself to the task of learning the necessary Japanese to explain myself correctly.

What I generally see with people new to learning Haskell (or similar) is that they approach it with their bag full of imperative language cleverness, and find the concepts and terminology hard to grasp because they refuse to become humble for a bit and examine it as a paradigm different from the one they know.

To be fair I was no different until I finally started understanding it, but looking back, learning Haskell was similar to my Japan experience. It became much easier once I buckled down, learned the parts that didn't make sense, and most importantly began applying them.

Re:Non-determinism: a sublanguage rather than a monad by equalunique on Wednesday September 20, 2017 @10:18PM (#15300104)
Your thoughts on cleverness reminded me of this quote from David Foster Wallace's Infinite Jest.

Talent is sort of a dark gift ... talent is its own expectation: it is there from the start and either lived up to or lost....

Here is how to avoid thinking about any of this by practicing and playing until everything runs on autopilot and talent's unconscious exercise becomes a way to escape yourself, a long waking dream of pure play.

The irony is that this makes you very good, and you start to become regarded as having a prodigious talent to live up to...

Re:Non-determinism: a sublanguage rather than a monad by worldsayshi on Thursday September 21, 2017 @04:29PM (#15307043)
My belief about intelligence is that it's mostly about your motivational properties.

"What makes you tick?" "What makes you scared?"

If math makes you tick and doesn't scare you will eventually learn a lot of it. It's not the whole story but I believe it accounts for a lot of it.

Re:Non-determinism: a sublanguage rather than a monad by agumonkey on Thursday September 21, 2017 @07:15AM (#15302274)
That's my experience too. An amazing amount of "hard" things are just "ohhh that's what they meant".. basically a communication problem when reading others. What they see is not what you see and here lie most of the problems.

For instance I failed linear algebra in college. Even though I loved CGI and 4 dimension matrices are bread and butter of 3D transforms. So I was eager to master it. I tried for 10 years reading a math text book and made no progress. I did lots of programming which helped me get a feel of what notation could be used to and also bought a stupid linalg book on amazon. Their wording and approach was different. All of a sudden everything became trivial. When I go back to the older book I understand what they mean now, but it hid so much meaning. I needed to get a culture of mathematical notation. Some kids might develop it naturally, or be able to grow with the help of teachers, I wasnt able at the time so I was left in the dark.

Now most advanced abstract subjects feel different. It's gone from mental cramp to tiny things that MUST HAVE meaning, and I just have to change my perspective and I'll see too. And weirdly it applies to CS fields too. After that I could finally read fat compilers book full of succint notation. Combinatorics became reachable, same for fancy physics. The symbols carry almost no fear no. And in a way I'm still a bit sad that I didn't know that before, feels like a huge waste, for me but for other kids too.

Lastly, going back to programming, haskell and the likes. After struggling to grok continuations and non determinism, I got a very very different picture of computing altogether. And I realize how crazy bad imperative first programming courses are. I didn't forget how impatients students can be and how efficient a simple statement sequence with visual output can be .. but gosh how far it sets you back in trying to approach different and vastly more useful ideas (say prolog).

Re:Non-determinism: a sublanguage rather than a monad by alt2501 on Thursday September 21, 2017 @07:55AM (#15302429)
So the 'stupid linalg book' was the turning point? What am I missing here?
Re:Non-determinism: a sublanguage rather than a monad by agumonkey on Thursday September 21, 2017 @08:54AM (#15302817)
It was the final nail in the coffin. Linalg was a limit cas of something that was "hard", foreign and serious. The book itself was not all, that would be dishonest, I must say that reading FP for years also brought my mind up. It took me off the material side of things, no more thinking about setting memory with bits, and looking at abstractions instead (doesn't really matter how functions and types are done below, the semantics and algebra is the focus). That said the difference in mindset and perspective in that book (Gareth Williams Linalg 5th edition) told me that a topic can be approached in many different ways. What group A say about a domain may not speak to your brain, while group B perspective will fed your brain just the right way. What is hard is mostly "impedance mismatch", not a limit in the reader.
Re:Non-determinism: a sublanguage rather than a monad by alt2501 on Thursday September 21, 2017 @03:57PM (#15306816)
Makes sense, thanks. Hard thing for me is finding the texts that match my impedance.
Re:Non-determinism: a sublanguage rather than a monad by agumonkey on Friday September 22, 2017 @01:01PM (#15313876)
Slightly related, when doing the first coursera proglang mooc, I remember newbies crying on IRC because meta evaluation made no sense to their mind. Some of the dudes that had gone through this before and could discuss it without trouble. I remember the odd feeling of being completely incapable of explaining that "simple" thing to the newcomers. Some actual mathematicians say that math makes no sense, you just get used to that, so maybe don't run from one book to another and try osmotic learning. Read some, think about it. At times I just note what eludes me without overthinking it and I come back to it later. Maybe my lower brain made sense of that overnight. One thing is that newbies were very impatient that's another thing to avoid. It's just odd to balance between patience and boredom vs impatient excitment and pain.