Skip to content

Latest commit

 

History

History
84 lines (72 loc) · 4.72 KB

excavators.md

File metadata and controls

84 lines (72 loc) · 4.72 KB

Reasons to NOT use excavators

Yes, this kind of excavator:

A big metal excavator near a heap of dirt

If you don't know what it has to do with programming, continue reading, you'll see.

The introduction of excavator

One day someone came up with the idea that maybe people should not dig holes in ground by hand and created a machine to do it for them. I imagine people in that era might have these reasons to not use it:

  • It's very difficult to learn to operate an excavator! Shovel is much easier.
  • Excavators have so many levers, lights etc! A shovel has just one handle.
  • Excavator is big and can't fit in some weird places, you still need to use a shovel there.
  • If you need to use shovel anyway there's no point using an excavator.
  • It is faster to put a shovel into car and drive than to move excavator.
  • Only few people can operate an excavator, it's much easier to hire people to work with shovel than to use excavator.
  • Very few companies hire excavator drivers.
  • Only one company currently manufactures excavators. What if it goes bankrupt? All the excavators will be useless!
  • Excavator is a new, unproven thing it could break or something.
  • I heard there was a loose screw on the electric box of an excavator! An accident might have happened.
  • There are tools to repair broken handle on shovel but no such tool exists for excavator.
  • Yes, excavator protects you from rain but you sometimes have to enter it or leave it during rain so it acctually doesn't.
  • Shovel allows for higher digging precision.
  • There's a small hobbyist garden built on tiny wooden poles where the excavator can't go. We don't want to spend money on strenghtening it so don't you dare luring away shovelists to use excavators!
  • Someone experienced with a shovel will dig faster than a newbie with an excavator.
  • Experienced shovelist will know how to avoid blisters, no need to use excavators.
  • Excavator doesn't allow you to do all ways of digging such as making a small hole by sticking shovel's handle into the ground.
  • The excavators are big, we need much bigger place to store them.
  • Nobody wrote down how a generic excavator should work, there's only a specific excavator from this company.
  • A dubious violent organization or their friends didn't say it's safe to use excavator.
  • Weird people use excavators, I don't like them so I won't use an excavator.
  • Some people who use excavators don't let assholes to enter their houses and clubs! Sometimes they overreact and don't let non-assholes in as well. Therefore excavators have no future.
  • The excavators look ugly, shovels are beautiful in comparison.

Given these reasons, if you intended to dig many holes in your remaining lifetime would you choose to learn to operate an excavator or stick with a shovel?

What?

Please answer the question first.

If you are wondering what does this have to do with programming, the above is analogy to Rust vs C/C++ and various arguments against Rust. Some of them may be exaggerated or imperfect but should be close in spirit.

For those who don't want to figure out for themselves, these are essentially the arguments I have heard from various sources:

  • It's difficult to learn Rust, C is easier.
  • Rust has complicated syntax and multiple types doing same thing.
  • You sometimes need to use unsafe anyway.
  • If you need to use unsafe anyway there's no point of Rust.
  • C compiles faster than Rust.
  • Only few programmers know Rust.
  • Only few companies hire Rust developers.
  • One company develops Rust - Mozilla. (This is no longer true but was when I heard it and interesting for completeness.) If Mozilla goes bankrupt Rust will be useless.
  • Rust is new and unproven, what if there's a bug?
  • Rust has soundness bugs.
  • Debugger support is not as good in Rust as in C.
  • Rust protects you from UB except there may be compiler bugs, so it doesn't.
  • C gives you more control over memory. (It doesn't but confused C advocates say it anyway.)
  • People using very niche architectures don't want to invest into porting LLVM for them and cry when other developers decide to use a better tool for the job.
  • Experienced C programmer is faster than Rust newbie.
  • Experienced C programmer knows how to avoid security vulnerabilities.
  • Rust has little support for super-strange things like unions (no longer the case) or variadic arguments (also WIP).
  • Rust binaries are big. (Actually not necessarilly but if they were the analogy holds.)
  • There's no Rust specification.
  • Some government or bureau didn't approve Rust for some tasks.
  • Lot of SJWs use Rust.
  • Various Rust communities have some Code of Conduct. (I suspect sometimes over-enforced.)
  • I don't like Rust syntax.