Secret Geek is a programmer's blog with humor, software commentary, and small coding projects.
Commenters link it for clever pieces like a readable quine and a console text adventure, plus a commentary page on a programming language study.
There is a long and ignoble tradition in the software industry of vendors who prey on the ignorance of managers and executives to sell expensive tools that allegedly eliminate or reduce the need for programming. Executives fall for it because they know that programming is hard and expensive but not why it is. The prospect of a tool that will eliminate their dependency on programmers is very seductive. What programmers produce is usually late and over budget and works like crap. They themselves tend to be weird, geeky, and erratic. Who wouldn't want to be rid of them? Meanwhile, the vendors with the magic programmer-replacement tool are wearing nice suits and know all about the problem. They are full of stories about how great it would be if business people - normal people - could "just" make the computer do what it should. "Defining business processes" shouldn't have to require programming, after all. Normal people know about business processes.
This is a sales job made in heaven. At no point in the process - the sales process - is it required for the tool to actually work. All they need is enough of a demo to convince the stakeholders - who already want to believe - that it will take away their pain.
At this point the well-chosen trivial visual example inevitably makes its triumphant appearance. Who can look at the diagram the post cited (http://secretgeek.net/image/NXTCode_small.jpg) and take anything associated with it seriously? Yet people do. Important people.
In…
> Reddit is proof that lisp is really powerful. Paul Graham originally wrote reddit, in lisp, on the back of a napkin while he was waiting for a coffee. it was so powerful that it had to be rewritten in python just so that ordinary computers could understand it. Because it was written in lisp it was almost no effort to rewrite the entire thing, and the rewrite was completed in-between two processor cycles. Paul Graham himself was completely written in lisp, by an earlier version of himself, also written in lisp, by an earlier version of lisp. It's lisp, paul graham, lisp, paul graham, all the way down.
(from http://www.secretgeek.net/lisp_truth)
From a comment I made 2 years ago when this paper was brought up:
I've been fairly skeptical of this paper ever since reading Alan Kay's rebuttal: http://www.secretgeek.net/camel_kay.asp
I trust Kay much more than these authors on matters of computer science, teaching, or ideas in general.
To expand a bit, I've since mentored over a dozen students and I've found that in most cases of students who couldn't program well, the issue was "further upstream." That is, there was some misunderstanding at a more fundamental level that was preventing them from continuing forward. Once that issue was fixed, they rapidly catch up to where they should be.
Go for Clojure if you want to explore Functional Programming, Clojure is 21st Century Lisp.
Some good resources:
1. https://github.com/hemanth/functional-programming-jargon
2. https://maryrosecook.com/blog/post/a-practical-introduction-to-functional-programming
3. http://www.secretgeek.net/lisp_truth
4. http://www.buildyourownlisp.com/
5. OS Written is Lisp: https://github.com/froggey/Mezzano
6. For Clojure: https://changelog.com/posts/rich-hickeys-greatest-hits
7. http://yogthos.github.io/ClojureDistilled.html
8. SICP https://mitpress.mit.edu/sicp/
9. Lisp http://www.gigamonkeys.com/book/
But mac os versions all have numbers that go along with them in addition to the name. It's the same system used by the Linux Kernel (i.e. 5.2 / Bobtail Squid), Ubuntu (18.04 / Bionic Beaver), and many other pieces of software. Most of the time the numbers are more useful, but there are occasions where having a non-numeric designation is helpful.
Apple's real naming sin is that they don't enumerate all of their hardware as they do with the iPhone.
But as long as we are talking about silly naming, this is always my favorite criticism: http://www.secretgeek.net/ex_ms
Ruby on Rails (http://rubyonrails.org/)
ColdFusion on Wheels (http://cfwheels.org/)
DOS on Dope (http://www.secretgeek.net/dod_intro.asp)
Haskell on a Horse (http://haskell.on-a-horse.org/ -- site seems to be down)
Cobol on Cogs (http://www.coboloncogs.org/ -- not actually real)
The $LANGUAGE on $NOUN naming convention amuses me. Any others I'm missing?