Live data from Hacker News

Make for hipsters

mattandre.ws

171–180 of 200 posts

Re: Make for hipsters

#171

Earlier quoted context omitted.

I too think maven (from 2.0 onwards anyways) is awesome. It's also declarative, BTW, which is a big improvement over Ant. Maybe somebody should re-skin maven with a yaml based front end to attract the hipsters?

> It's also declarative, BTW, which is a big improvement over Ant. It's an improvement over pretty much anything else except for maybe cargo and whatever that haskell build tool is (name escapes me right now). Builds are not iterative/procedural tasks in my mental model, I simply have a list of inputs and desired outputs, so I agree that the declarative model of Maven is awesome. I absolutely hate dealing with MSBuil…

> whatever that haskell build tool is (name escapes me right now).

I guess you mean Shake.

Re: Make for hipsters

#172
post #171

Earlier quoted context omitted.

> It's also declarative, BTW, which is a big improvement over Ant. It's an improvement over pretty much anything else except for maybe cargo and whatever that haskell build tool is (name escapes me right now). Builds are not iterative/procedural tasks in my mental model, I simply have a list of inputs and desired outputs, so I agree that the declarative model of Maven is awesome. I absolutely hate dealing with MSBuil…

> whatever that haskell build tool is (name escapes me right now). I guess you mean Shake.

Cabal.

Re: Make for hipsters

#173
post #72

Earlier quoted context omitted.

Quite possibly, though I think most of the hipsters have left Ruby by this point. For my part, as a Ruby developer, I detest rake and tend to write makefiles for my Ruby projects instead.

really? how come? i use rake (very superficially) from time to time, and it seems fine. Any insights you have regarding its design after long-term or more indepth use?

Mostly that it adds complexity for very little benefit. 99% of the time, I can do the same thing just as easily with Makefile's and be able to have it nicely interoperate with non-Ruby tools.

Re: Make for hipsters

#174
post #58

Earlier quoted context omitted.

Unfortunately, many developers have a mortal fear of anything from before the year 2000. They've grown up with this tribal wisdom of unix and it's various tools being a beardy wilderness of byzantine hacks and toxic waste dumps. Meanwhile they'll merrily pile up a thousand node modules into a towering pillar of bad, just to run the equivalent of a shell one-liner, and call it a job well done.

Please show me the makefile for your Javascript project that will run perfectly on Linux, Windows and Mac with little to no setup. I doubt it exists. Until then, I'll stick with my Node.js build tools, thank you very much . Honestly, if anyone has an example of a makefile that can bundle my scripts, insert bundle links into my HTML which is compiled from jade and nunjucks templates, minify the JS, CSS and HTML and op…

Sure github.com/nwmcsween/asm.css/Makefile

Re: Make for hipsters

#175
The problem with $buildtool is that 99.99% of the time the people implemting it had no idea how make worked and invented something easier to use in the particular domain (grunt, gulp, webpack and many more). Make creates a DAG of files and resolves targets, the examples given in this article also fail to understand how make works.

Re: Make for hipsters

#176
post #106

Earlier quoted context omitted.

Autotools is smoking shit, but the make man page is a few pages and very comprehensive. Also the includable make libs that come with bmake allows many makefiles to be a few or one lines. Also, the best makefile I've ever seen is that of Linux, if someone considers to use make, must see that to convince himself, yes, it is possible to write a comprehensible, cross-platform and editable makefile for a big, deep project…

The concept of autotools is fine for the most part, it's just M4 that has a really bad rap (and rightfully so, it's a huge pain in the butt!). I have a couple toy vala and C++ projects I've written and autotools "just works" without much effort, but when I've needed to do something outside of the standard functionality the need to write M4 macros makes me quickly switch it out for CMake instead.

The problem with autotools is that it is an abstraction over a thing that's already simple and easy at it's heart, resulting in ultimately something more complex than it should've (and would've) been.

M4 is nice for processing text, I do use it and like it for that, but for defining dependencies among files and processes to go from source to compiled files, make itself is second to none. Autotools is basically one of the biggest exaggerations in the computers' history.

Furthermore, bmake exists and its include files are simply better.

Re: Make for hipsters

#177
post #132

I like to use makefiles for managing docker containers / images. For my needs it's a more practical and flexible solution than other docker orchestration / management tools I've tried. A few things I've learned that might be useful: * (cd /path/to/something && make goal) * You can use .DEFAULT_GOAL := goal_name to set the default target run by 'make' with no target name specified. * Adding .SILENT will suppress make…

> You can use .DEFAULT_GOAL := goal_name to set the default target run by 'make' with no target name specified. I had always, perhaps erroneously, thought that the very first goal in the file was the default one.

IIRC .DEFAULT_GOAL is a relatively new feature. If it's not set goals will be processed in the normal order.

Re: Make for hipsters

#178
post #77
post #58

Earlier quoted context omitted.

Unfortunately, many developers have a mortal fear of anything from before the year 2000. They've grown up with this tribal wisdom of unix and it's various tools being a beardy wilderness of byzantine hacks and toxic waste dumps. Meanwhile they'll merrily pile up a thousand node modules into a towering pillar of bad, just to run the equivalent of a shell one-liner, and call it a job well done.

There are far more developers who will jump on the latest new shiny with no good reason.

In counterpoint, remember that there was a time when some of the things mentioned on this page, such as autotools, were themselves the "latest new shiny".

Re: Make for hipsters

#180
post #79

Earlier quoted context omitted.

I've already configured my editors and tools to work with Make, and I'm not so much complaining about Make here as I am pointing out one of its most annoying warts. I am a pretty heavy Make user and I think it's great (not least of which because it's so darn ubiquitous). And, not to sound harsh, but if you always "accept that there is a reason some things work in certain ways" without questioning if there may be a be…

Given the downvotes I assume this is a very touchy subject to some people here... Anyway, are you saying that accepting a tools established input format is to go with the status quo? I am all for breaking new grounds, but is this one really a priority?

For a lot of people for a long time, yes. People were complaining about the syntax based upon specific types and amounts of whitespace in the 1980s. Now note from the rest of the very discussion here in front of us that people took action on this almost twenty years ago. And that's just Johnny-come-lately GNU make. Microsoft nmake accepted either spaces or tab characters pretty much a decade before that. And there were plenty of others, from Borland's to multiple shareware versions. Even I got in on the act with my own private reimplementation of make. Somewhere around 1990, if memory serves.
Post reply on HN