Non-Recursive Make Considered Harmful [pdf]
research.microsoft.com
Non-Recursive Make Considered Harmful [pdf]
1–10 of 43 posts
Re: Non-Recursive Make Considered Harmful [pdf]
#2This is why I think everyone should learn programming first and linux second - since many linux tools are terrible.
As expressed in the SICP book - the programming language should allow you to build abstractions. Make doesn't at all allow that.
Re: Non-Recursive Make Considered Harmful [pdf]
#3Also, I find it amusing that they claim Make's language is horrible, when they admit their replacement isn't shorter, I have to learn Haskell to use their system, and it looks like this (random snippet). No better than Make (in my opinion), and further I have to write unicode arrows?
"∗.o" %> \out → do
let src = out - "c"Re: Non-Recursive Make Considered Harmful [pdf]
#4Paper title is about yet another build system (this one written in Haskell), to replace Make. While make is awful, Most other build systems I've ever used have ended up being awful in their own way, and have the massive disadvantage that my users probably don't have the CMake 2.8.9.2 that I wrote my build script for. Also, I find it amusing that they claim Make's language is horrible, when they admit their replacemen…
Re: Non-Recursive Make Considered Harmful [pdf]
#5Paper title is about yet another build system (this one written in Haskell), to replace Make. While make is awful, Most other build systems I've ever used have ended up being awful in their own way, and have the massive disadvantage that my users probably don't have the CMake 2.8.9.2 that I wrote my build script for. Also, I find it amusing that they claim Make's language is horrible, when they admit their replacemen…
Re: Non-Recursive Make Considered Harmful [pdf]
#6Paper title is about yet another build system (this one written in Haskell), to replace Make. While make is awful, Most other build systems I've ever used have ended up being awful in their own way, and have the massive disadvantage that my users probably don't have the CMake 2.8.9.2 that I wrote my build script for. Also, I find it amusing that they claim Make's language is horrible, when they admit their replacemen…
As a start I'd suggest to read "Shake before building".
Re: Non-Recursive Make Considered Harmful [pdf]
#7Paper title is about yet another build system (this one written in Haskell), to replace Make. While make is awful, Most other build systems I've ever used have ended up being awful in their own way, and have the massive disadvantage that my users probably don't have the CMake 2.8.9.2 that I wrote my build script for. Also, I find it amusing that they claim Make's language is horrible, when they admit their replacemen…
I suggest to read more about Shake before dismissing it. The paper is short and easy to follow. Shake solves real world problems that go ignored in other systems. If needed, one could add a simple mode via an EDSL, but so far nobody using Shake has requested such a things from what I can tell, but Neil would be better equipped to answer that. I haven't written a single Shakefile with unicode, and no you don't have to…
Re: Non-Recursive Make Considered Harmful [pdf]
#8Re: Non-Recursive Make Considered Harmful [pdf]
#9I knew Make was terrible when I was first introduced to it. This is why I think everyone should learn programming first and linux second - since many linux tools are terrible. As expressed in the SICP book - the programming language should allow you to build abstractions. Make doesn't at all allow that.
Abstractions are perfectly possible, you just do it in your own script (Python or whatever) and this way you don't have to learn a new language. Ninja is a better alternative to Make, and it is even less expressive (which is one of the reasons why it is better, IMO).
Or in other words, we build abstractions in Make by composing it with other tools, rather than creating a huge monolithic Makefile syntax which can do anything you want.
Re: Non-Recursive Make Considered Harmful [pdf]
#10Titles containing considered harmful considered harmful
Used frivolously, it feels like blasphemy.