Hacker News new | ask | show | jobs
by ExtremisAndy 3688 days ago
This childish rant is embarrassing. With millions and millions of lines of C code basically running the internet and of vital importance to countless devices, calling it a s*y language is beyond ridiculous.
1 comments

Asbestos was also used in millions of buildings and was vitally important as insulation. It was also something that was a bad idea and something that we needed to move away from.
I agree with where you're coming from. Another analogy that comes to mind is knob-and-tube wiring (https://en.wikipedia.org/wiki/Knob-and-tube_wiring).

It's an older home wiring technology that works fine for years if undisturbed, is still present and working OK in homes all over, was invented in the early days of electrified homes, requires considerable skill to install properly, tends to be unsafe if not handled skillfully, is expensive and delicate to modify, has no hidden components, allows interesting wiring layouts because conductors are separated, ...

One could go on with the obvious parallels. (I learned on a PDP-11.)

Yeah. The weird thing is that in other industries, people have no trouble admitting that the old stuff is often problematic and needs to be replaced. In the supposedly forward-looking tech industry, though, we stick with our tools from 1978 and stubbornly resist admitting that we have learned anything since then. It's strange.
I don’t buy that at all. There are huge amounts of path-dependent cruft throughout all human endeavors:

  - A base ten number system
  - Lack of useful structure in the symbols and names for numerals, and lots of weird inconsistencies in number names
  - Inconsistent, confusing, and arbitrary names/notation for basic mathematical operators and functions
  - Use of inferior Gibbs/Heaviside vector algebra instead of Clifford/geometric algebra
  - Very poor notational conventions in many advanced math/physics fields
  - A highly irregular calendar
  - Poorly designed measurement systems
  - English spelling
  - Very distorted dominant world map projections
  - Most nutrition “science”, including federal dietary guidelines
  - Bogus forensic “science” used to imprison innocent people
  - The methodology and writing style used in political science
  - Many essentially debunked economic models which continue to be taught
  - A legal system chock full of incidental complexity and inconsistencies
  - Inadequate species taxonomies
  - Poor color models used in art/design
  - Even worse, specification of colors using proprietary, arbitrary Pantone chips
  - Lots of poor/obsolete metrics used for evaluating lighting
  - Audio mastering with heavy-handed dynamic range compression
  - Lectures as primary pedagogy in high school/college
  - Grammar drills as a method for teaching foreign languages
  - Modern zoning requirements in many countries
  - Many unsafe and inefficient street design requirements
  - The rigid design of modern shoes (let’s not even start on heels)
  - Terrible user interfaces for most household appliances
  - Mediocre user interfaces for many musical instruments
  - An inefficient and dangerous typewriter / computer keyboard (which persists on tiny phone screens!?)
  - Unhealthy design of office furniture, car/airplane seats, child strollers, etc.
  - .....
Some of this stuff is decades old. Some is thousands of years old.
Things look different from the outside than they do on the inside. The old saw of "science advances one funeral at a time" is true in lots of fields, you just probably see a lot more examples in programming because you spend more of your time there.
Only, it isn't knob and tube or asbestos.

It's much more like comparing crawling (machine code), walking (assembly), C (bi-cycling), and higher level languages (faster to write, more built in safety features, etc).

Each is a good fit for a given role, and sometimes you need to get through tight spaces where using one of the lower impact methods is more effective; or maybe you just can't afford something 'nicer'.

Use the correct tool for the job.

Except that we now have better bicycles (Go/Swift/Rust).
My C programs have crashed much more often than my bicycle...