You have no idea what you are talking about.
I can't believe anyone is taking this seriously. Every valley company claims to hire only the best. It's marketing bs that upper management sells to themselves, and to gullible new hires. They've been doing this for decades.
Lisp programmers don't engage in "parenthesis counting". They read it by indent, like python, and the editor does the counting.
I'm working in both lisp and python at the moment, and it makes me dislike python more every day. Invariably, the allegedly readable, convenient syntax hurts more than it helps.
There's complexity that comes with the problem domain. Then there's "incidental" complexity that comes with your choice of tools. For example, languages without garbage collection have more incidental complexity than languages with garbage collection: without GC, you spend a lot of time manually solving the problem of managing memory resources.
OO introduces a lot of incidental complexity. That's the point. It's clear, since he mentions some function programming languages, that he believes FP introduces less incidental complexity. I think that's exactly right.
You're wrong about the alternatives. JVM based languages have the same libraries as java available, by definition. Check out clojure. A good place to start is the Rich Hickey videos on infoq.com.
Oh, man! I was just recently trying to remember the name of that column. Thank you!
Another relic in my head is the memory of a computer camp I attended at about that time (subject: lisp). Another camper had written a bunch of TRS-80 games with "klutz" themes. E.g. a version of "Asteroids" where, after hurtling toward your ship, the asteroids made a neat path around the ship, before continuing on their path. Or, a version of "Space Invaders" with a single alien that filled the whole screen. And so-forth. They were brilliant. Unfortunately, I didn't stay in touch with the author.
I've used TRS-DOS, DOSPLUS, and others.
What the hell is TRS-80 DOS?
Virtually nothing will protect you from people who have access to your desk. It takes only seconds to install a trojan: less time than the time-out on your password-protected screen saver. You're vulnerable unless you explicitly turn it on every time you leave your desk. Usb key loggers are easy to install and conceal, as are web cams that can watch you typing your passwords. If your cpu chassis is accessible after you leave for the day, an attacker can install a trojan even if you are methodical about locking your desktop. Whole-disk encryption can help. But who goes to all these lengths? Physical access trumps all.
I use a laptop, and lock it in a drawer when it's not in my possession. But I don't imagine that I'm invulnerable.
But you're ignoring the other RESULTS you'll accidentally succeed in achieving, viz. teaching the kid that remuneration is the only acceptable form of reward. [...] Personally, I'm interested in intelligent, creative kids - writers, poets, scientists, kids with real curiosity who want to do things because they love to do them, because the problem fascinates them, because they want to KNOW, goddamnit.
Well, surely you aren't suggesting that forcing kids to do schoolwork for no pay -- the status quo -- is somehow more likely to turn them into writers/poets/scientists than paying them to do schoolwork. So what's your alternative?
I wonder why you think that wouldn't be suggested ("surely"), considering that's exactly what research shows. Extrinsic motivators de-motivate student interest in the subjects being taught. The larger the extrinsic motivator, the less interested the student is in the subject when that motivator is removed. This is a plan for creating students who hate the subjects being taught.
California isn't half so liberal as you apparently believe it is. While the legislature is dominated by Democrats, there is a very strong Republican political machine in the state that's able to deadlock the legislative process. They've also elected quite a few governors, Nixon, Reagan, Wilson. The state school board is rather conservative. Overall, it looks a lot like Washington does now: the Dems, though in the majority, are ineffective. The Republicans are obstructionist. The policies that are implemented are not strongly liberal.
I have a Verizon phone. The platform could not be more locked-down. Nonetheless, app developers seem to be completely overwhelmed by the variety of devices on this completely locked platform. Only a handful of devices are supported by any given application, and the support is complicated by incompatible OS upgrades. In fact, Verizon is unable to give a consistent answer when asked what is the latest OS version for my phone. While the phone randomly crashes when using different apps, I'm shuttled between Verizon and the developers looking for a resolution, and no one can agree on what OS version should work.
At least with an open system there would be a final recourse: I could look at the damn code myself, and directly experiment with possible solutions.
If you interact with anyone who does not value privacy then your efforts are wasted. They can also expose your data. This is how facebook is able to know who your friends are even if you've never had a facebook account, or given them a single piece of data: they can mine the contact lists of people who have willingly exposed theirs. If you appear on any of them, facebook can start building a profile of you.
Unless you're living without human contact, you will be profiled in a database somewhere.
But I might have missed some. There is not much difference between "return 0;" and "ret=0; goto exit_function;". Both are unconditional jumps there is no rational reason why one should be "considered harmful" and the other not.
If there are resource allocations, or at any time in the future resource allocations may be added, there is a huge difference between these two in terms of maintainability. A single point of return makes it trivial to ensure that all allocations are properly freed.
There are two types of functions containing multiple points of return: those with bugs, and those that will have bugs. In a large project, with many engineers, you can reliably find bugs simply by searching for functions with multiple return statements. They're practically always buggy.
err... Word docs crud up with invisible mark-up, as well. It isn't relevant that the underlying mechanism is different. With no "reveal" option, it can be infuriating trying to find and delete the invisible things so the formatting will be correct.