Falsehoods programmers believe about build systems

Dec 06, 2012 21:45

Inspired by Falsehoods Programmers Believe About Names, Falsehoods Programmers Believe About Time, and far, far too much time spent fighting autotools. Thanks to Aaron Crane, totherme and zeecat for their comments on earlier versions.It is accepted by all decent people that Make sucks and needs to die, and that autotools needs to be shot, decapitated, staked ( Read more... )

computers, programming, redo, beware the geek, build systems

Leave a comment

Comments 35

ungratefulninja December 6 2012, 22:11:58 UTC
- All build systems look like make.

Reply

ungratefulninja December 6 2012, 22:12:35 UTC
And on a related, $DAYJOB-aggravating note:

- Tools always exit with non-zero status on failure.
- Tools never exit with non-zero status on success.

Reply

pozorvlak December 6 2012, 22:13:18 UTC
Aaaaaargh. I feel your pain.

Reply

ext_1197290 December 6 2012, 22:24:26 UTC
Though I'm mostly irritated by those tools rather than the build systems which get that "wrong"...

Reply


gareth_rees December 6 2012, 23:39:44 UTC
  • A build always runs on a single computer.
  • There's always a human available to interact with the build system.

Reply

pozorvlak December 7 2012, 00:13:35 UTC
Good ones!

Reply


(The comment has been removed)

pozorvlak December 7 2012, 00:15:56 UTC
I'm inclined to say that the less scripting your build manager has to do the better - though a tool that doesn't require scripting in any situation sounds like an impossibility (and a tool that doesn't allow scripting sounds like it would eventually become painful).

Reply


senji December 7 2012, 03:14:59 UTC
  • Build steps are idempotent
  • It can be known in advance how many times a particular build step should be executed
  • Build steps do not modify the repository
  • It is possible to determine whether the build will succeed
  • It is possible to determine whether the build will even halt

Reply

pozorvlak December 8 2012, 11:46:26 UTC
*smacks forehead* - all good ones.

Reply


anonymous December 7 2012, 04:12:19 UTC
What is the point of this?

Reply

anonymous December 7 2012, 13:31:21 UTC
disabusement

Reply

pozorvlak December 8 2012, 11:46:57 UTC
Sorry that wasn't clear - I've added an explanation to the top of the post.

Reply

It's an exercise in self-importance and stupidity. anonymous November 30 2018, 11:53:00 UTC
This guy will never create a build system. Most of these assumptions are not in fact made, and the ones are made are for pragmatic reasons. I'm thankful for systems like make and cargo, and that I've never had to work with this guy or use any of his software.

Reply


Leave a comment

Up