And if you think monad transformers are the answer to anything, maybe you should let go of your books and try some real problems for a change. I spent several years digging into Haskell; but in the end I couldn't shake the feeling that it's more about mental masturbation than practical problem solving, which is fine if that's what you're looking for. Even the poster child feature of GHC, Software Transactional Memory; is barely usable outside of neat tricks and toy problems.
JavaScript and PHP are badly/barely designed languages, period; no amount of excuses and comparisons is going to change the fact. Anyone with a bit of experience in either Ruby or Python will tear their hair out when doing JS, because they know it doesn't have to be that difficult. These days it's looking more and more like C++ every day...
That says more about Java than Script though, and I've done enough of that to feel your pain. Coming from plenty of experience with sane dynamic languages (Common Lisp/Smalltalk/Clojure/Julia), it looks exactly like the madness it is. It's a difference in perspective, that's all. It's not about foolproof, it's about having any kind of intellectual integrity at all.
Because real languages allow creating your own abstractions to fill the gaps, Go doesn't. Witness the total lack of decent error handling and data structures; despite probably thousands of people trying their best from user code. It's the iPhone of programming languages.
C is primitive but powerful. Go is primitive and safe. I would classify the Wirth-family of languages as safe but powerful. It all comes down to power; Go was explicitly designed to enable armies of lesser code monkeys to work together without anyone getting hurt.
Been there, done that :) It's a neat trick, but the issue for me is that you still need to pass a separate struct for state which breaks the illusion enough that you might as well just write an ordinary iterator.
Write lots of code, in different languages; find increasingly real problems to challenge your skills. Unless, of course, you're just interested in becoming another whatever; then you're better off memorizing buzzwords and JavaScript frameworks.
"Canola oil is a Canadian invention that’s backed by Canada’s government, cheap to manufacture, and many packaged or processed foods contain it. Canola oil was first created in the early 1970s as a natural oil, but in 1995, Monsanto created a genetically modified version of canola oil. As of 2005, 87 percent of canola grown in the U.S. was genetically modified, and by 2009, 90 percent of the Canadian crop was genetically engineered."
Yes, and rape seed oil has the about the same combination of fatty acids as olive oil; which is healthy; but it's still poisonous gmo crap. Same goes for HFCS. The amount of genetic manipulation, processing and refining matters.
It's always there for anyone to grab. Try lying on your back with all your gadgets turned off and eyes closed; and observe your brain thinking for a while; which is about as difficult as meditation needs to be. Might take some practice to not identify with the thoughts and get carried away, or to not block yourself by trying too hard. Then ask yourself while lying there: Who am I? Literally :) Who is observing the thoughts? The experience is not of this world, it can't be transferred using words. There are other ways to get a glimpse, mushrooms, ayahuasca etc; but introspection is the way to go for lasting results. I spent 32 years writing software, and I just know that a computer will never be able to do the same thing.
This boils down to a fundamental divide in life view. Anyone who has done any amount of expanding their consciousness will tell you that there is a ghost in the machine. It's always a mistake to assume that all you can see is all there is to see.
They're tested by the same psychos that created the drugs and their bought fan club, otherwise things like Oxy would never have made it to market. It's worth repeating, big pharma is all about creating return customers; nothing that comes out of that mess is ever going to solve problems.
From my perspective, OxyContin is obviously designed to be as addictive as possible; and they have been lying all along. These people are not fully functioning humans, they will do whatever it takes to generate more profits. I promised myself to never touch their artificial crap again; if it doesn't grow on the ground, I'm not interested.