I spend far too much time talking about my opinions on programming languages. At least on this page, I will try to keep it short and blunt.
…a hash table with a built-in scripting language.
…innovative, classic, and obsolete.
…extremely powerful, to the extent that it is a local optimum, and thus stale.
…very powerful, and with a clearly visible slope to even greater heights.
…a domain-specific language for composing system calls in the Unix virtual machine.
…an attempt at imposing control on C idioms, much like the attempt to control dinosaurs in Jurassic Park, and occasionally with similar consequences.
…a sublimely elegant masterpiece of data processing, rendered in crayon.
…and that’s bad enough.
…so weak that it is like a row of words that does not have any big words, but it still has to be long to tell the thing that it wants to tell, and so results in writing that is not pretty and is not elegant but which is able to do the thing that the writer wanted it to do, some of the time.
…a wonderful, if complex, part of the Unix toolbox, although it diverges in many quirky ways from others of the C famility.