Programming Has Changed My Life
blog.professorbeekums.com
blog.professorbeekums.com
I think what happened is that he basically developed his critical thinking skills naturally, regardless of the field he was working in.
The latter claim requires a lot more research because it is a huge leap.
Whether I would have developed critical thinking skills naturally can be up to debate. The argument for programming being the factor is because computers are black and white in the early days. Code works or code doesn't work. We don't always get that direct feedback in human interaction.
Glad I refreshed before I posted a similar comment! Feedback in programming has quick and usually exacting results, giving you more feedback per unit time to tune your critical thinking process.
I don't think my own error would have been corrected through programming; it might even have have led me somewhat to believe that political/religious/ethical problems can be approached the same way as writing software or formulating an equation, and they have answers that are objectively right or wrong in a way that any reasonably intelligent person would arrive at the same conclusion through the application of logic.
Which isn't to say that programming isn't a good way to treat certain kinds of unhelpful attitudes.
And according to Aumann's agreement theorem, if your priors are the same (such as preference utilitarianism) two people should agree.
That is to say, I think it can work like that, as long as everyone involved agrees on an ethical framework and decision theory. And that everyone probably should do that.
First of all, it only applies to statistical reasoning about distributions of probabilities. It does not, for example, apply to "what should one do in this situation?". Preference utilitarianism is not a prior. A prior might be "there is a 5% chance that all cats are dogs".
Next, it only applies to Bayesian agents, a subspecies of unicorn.
Next, it only applies when all agents have perfect "common knowledge" of each others' posteriors, where "common knowledge" refers to a theoretical infinite transitive closure of meta-knowledge. I think it should be clear that a situation where two agents have common knowledge of each others posteriors is almost as rare as a state where two agents are both reasoning using nothing but Bayesian inference.
And lastly, as with your confusion about priors, the agreement that results is not agreement about what to do, or what ought to be done, but is merely an agreement of posteriors.
Do you find it rational to apply mathematical theorems about very specific impossible circumstances to unrelated domains, and do you find that the word "theorem" allows to manipulate the unwary?
(Interestingly, a general theme of the textbook for the ethics class I took was that people develop their ability to make good ethical decisions largely through story-telling, since it provides an opportunity for people to imagine circumstances outside their immediate experience. If I remember correctly, a lot of the examples in the text were taken from Star Trek. It's interesting to think of Star Trek as not principally a science fiction show but rather a vehicle for exploring ethical dilemmas.)
In my opinion, there is no doubt that programming improves critical thinking, but it is possible to question the definition of critical thinking.
I've worked with programming as a tool for better learning in schools based on critical thinking or meta-cognition.
If you read the work of Jean Piaget, Seymour Papert, Jerome Bruner, Dave Catlin or John Hattie, I believe you would have a hard time saying there is no proof that programming enhances critical thinking or meta-cognition as I would call it.
It is not a guaranty, but it is possible. Programming can be scaffolding in difficulty if you constantly keep challenging yourself. You can start with "Hello World!" move to building API's to build your language. It will for sure improve your critical thinking. It is not the only activity that does so, Soduko will also help do so, but it gives you no valuable skill you can get a job with as programming does.
There is also research showing how games like Soduko reduce the chance of Alzheimer and other mental deceases.
And I had to correct everybody, reply after reply on reply.
Somebody was wrong on the internet.
http://imgs.xkcd.com/comics/duty_calls.png
On the other hand I always assume I write code just to throw it away and replace it with something better once I understand what I really should have written. I'm glad I'm not building houses or something. I would have to demolish a lot of houses half way ;)
In my understanding this comes with the combination of critical thinking and laziness. If you know that the "future you" may try to get rid of the garbage you are writing now you end up writing code that is easier to manage and to refactor without rewriting everything around it.
Being right all the time sometimes means knowing that you can not be right today but may be righter tomorrow.
I'd like to see that thread to see if some of my counter arguments were made (if it's a public thread at all).
* There is few audio apps that make use of this API, and virtually none making proper use of it. All other audio apps are as laggy as always.
* You can't expect to run well on any random device.
* Regular development is awkward and constrained. One must be able to strip or personalize android to skip most of its development hell.
* Since it needs customization and custom apps, you may as well use GNU/Linux instead, with more battle tested solutions.
It is perfectly possible. Whether it's a good idea is another thing altogether.
Can someone tell people to stop asking puzzlers in interviews then? I don't think the two are comparable at all.
Solving a man-made puzzle for me feels completly arbitrary, where either you think the same way the guy who made it and can solve it quickly, or you don't and get stuck forever.
Instead, I prefer to think about nature's puzzles, things that don't work the way I expect them to, or just trying to explain why they do. Usually they're just as arbitrary, but even if you take the wrong path, they're so deep that you'll end up learning a lot either way.
[1] http://www.joelonsoftware.com/articles/fog0000000033.html
I am trying to avoid walls of text, but I think it is an unfair statement to say that people don't like to read. People are reading the same amount of text regardless of whether pictures exist or not.
Unfortunately, I can't remember the name of the book, but there's one on brain science that discusses how people process text. Letters are still images as far as our eyes and brain are concerned. There's an extra processing step to turn one type of image (letters) into another type of image (what the letters are describing). This is exhausting and throwing in images act as "taking a break" even if that break is only a second or two.
My work ethic was mostly shaped by high school athletics, but perhaps codified (pun intended) by programming.