Re:Advice to my younger self: become allergic to the churn
by vinceguidry on Thursday August 08, 2019 @09:32AM
(#20644356)
Rake, the Ruby version of Make, is rock-solid, dependable, and crazy-powerful. Don't want a Turing-complete language in your build automation? Don't use it, the rule syntax works just fine. But it's there if you want it, and oh god is it great.
[ Parent
| on HN ]
Re:Advice to my younger self: become allergic to the churn
by nathell on Thursday August 08, 2019 @11:09AM
(#20645266)
> Rake, the Ruby version of Make
That's a common misconception, but people often don't understand what make is. Contrary to the intuition, make is _not_ a build system (like, say, cmake), although build systems can be (and often are) implemented on top of make; nor is it a task runner (like rake).
At its core, make is a declarative expert system (with a very sane design and a very quirky rule syntax). Its area of expertise is updating files. I urge every user of make who hasn't read "Recursive Make Considered Harmful"[1] to do so.
Re:Advice to my younger self: become allergic to the churn
by ummonk on Thursday August 08, 2019 @02:46PM
(#20647350)
Yup, and a common modern use case of make is to call in to other language specific build systems.
Re:Advice to my younger self: become allergic to the churn
by cjfd on Thursday August 08, 2019 @10:35AM
(#20644966)
There is something extremely weird about the idea of having a build system for a particular language. It is not uncommon for a project to have multiple languages and it is also possible that some of the source code in one language is generated by an executable in another language. Because of this and because of compatibility issues the correct number of build systems to exist is 1. If there is more than 1 in a single project it will be the case that sometimes more is rebuilt than necessary.
Re:Advice to my younger self: become allergic to the churn
by vinceguidry on Thursday August 08, 2019 @11:06AM
(#20645224)
Yes I wouldn't ever want more than one build system. I use Rake to build Crystal, and haven't even bothered to investigate Crystal's offering.
Re:Advice to my younger self: become allergic to the churn
by regularfry on Thursday August 08, 2019 @01:16PM
(#20646403)
Rake isn't for Ruby any more than Make is for C. It comes from that ecosystem, but you can use it for anything. If you've got a system ruby installed, you've probably also got rake.
Re:Advice to my younger self: become allergic to the churn
by davidjnelson on Thursday August 08, 2019 @01:52PM
(#20646797)
Exactly. Remember in 2010 before grunt a lot of us were using maven to build single page JavaScript apps? That was pretty funny in retrospect :-) The creator of angular created the precursor to the karma test runner, called jstestdriver, which was a maven plugin ;-) It worked though! We built a single page app with tdd using it at Autodesk.