Live data from Hacker News

Make for hipsters

mattandre.ws

81–90 of 200 posts

Re: Make for hipsters

#81

Earlier quoted context omitted.

I hate this. Every programming language that bolts on its own build environment. Make is language agnostic and that's a huge benefit, it means you have to learn about just one build tool and its peculiarities and that will allow you to build many different projects in different languages. All these languages with their half-baked build tools that won't accept that they may have to play nice with other languages and t…

> Of course it is great when you write a language to also throw in a build tool, but in the end if the build tool re-implements 30% or so of make in a broken way I don't see the point. Well, other build tools sometimes also do a lot more than make ever did. (And in some areas, perhaps less.) Example: Cabal/cabal-install (for Haskell) can automatically fetch all your project's dependencies and automatically compile th…

> Tracking intra-file dependencies for proper recompilation is really difficult to for Scala code without reimplementing a huge chunk of a Scala compiler.

tup (http://gittup.org/tup) has a really nice way of handling interdependencies. They set up some filesystem magic to figure out which files were read while compiling a certain target, and record these files as dependencies for the target.

Another instance of a hard problem ("reimplementing [...] a Scala compiler") that turns into a very easy problem once you look at it from the right angle.

Re: Make for hipsters

#82
post #34

Earlier quoted context omitted.

That was Java all over again. - you've got dependencies on some basic Unix commands (cp, rm etc.) in your tasks, so better rewrite that all to use your cross-platform language's facilities. - XML, erm, no, JSON, shall be your only file format.

> dependencies on coreutils Or just install that Ubuntu on Windows thingy and be done with it.

Are there even serious developers on the Windows platform? I can't imagine many people lack the `rm` utility.

I heard a legend that even the Windows developers run some flavour of unix.

Re: Make for hipsters

#83
post #75

Meanwhile, there’s a perfectly good introduction in the GNU Make manual: https://www.gnu.org/software/make/manual/make.html#Introduct... Also available in print: https://shop.fsf.org/books-docs/gnu-make-version-381

thank you for posting this

Re: Make for hipsters

#84

Earlier quoted context omitted.

I hate this. Every programming language that bolts on its own build environment. Make is language agnostic and that's a huge benefit, it means you have to learn about just one build tool and its peculiarities and that will allow you to build many different projects in different languages. All these languages with their half-baked build tools that won't accept that they may have to play nice with other languages and t…

> Make is language agnostic and that's a huge benefit, it means you have to learn about just one build tool and its peculiarities and that will allow you to build many different projects in different languages. You need to learn the Make build tool (easy) and then you need to learn bash scripting to get anywhere (argh!). The OP has linked an example Makefile and I wouldn't be able to maintain/debug it without reading…

I am not sure if you can get rid of some those commands with any other build tool. There is simply no build tool that includes everything, so sometimes some scripting will be required. Then, why not go with bash that you hopefully already know?

Also, a lot of the complexity is due to him being new to make:

    asset%:
    	@if [ -e webpack.config.js ]; then ... fi

Re: Make for hipsters

#85

Earlier quoted context omitted.

The problem is if you want support (even commercial help) you'll need to follow some kind of prevailing trend. If I've got a system with grunt or gulp and I need help, I can probably find a local web developer. I'm not so sure if I can find someone who's an expert in Makefiles at the moment.

The main issue is that the prevailing trend in web development changes every six months. I wonder how many developers that know grunt you will find in 3 years.

I see this rhetoric being thrown around all the time, but I don't actually think its true in practice.

Grunt came out in 2011 and Gulp came out 2 years later with a superior (IMHO) code-over-convention approach. They've kinda been doing their thing since then.

Statements like seem to be nothing but FUD.

Re: Make for hipsters

#87

Earlier quoted context omitted.

Abuse of a top-level domain which occurs at the end of the author's name - that gets about a 7/10 on my hipsterometer.

I own forhipsters.com, what does that score?

5/10 but only because it's not forhipste.rs

Re: Make for hipsters

#89
post #72
post #69

Earlier quoted context omitted.

Most people are probably writing web based apps in higher level languages that don't require make files. ("Hipsters" sounds like a dig at Ruby / Node devs to me).

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?

Re: Make for hipsters

#90
post #44
post #37

Earlier quoted context omitted.

If not a ruse, this is a dumb post that discredits itself and calls makefiles hacky, not noticing that they are used by many people for most native programming on most (unix type) platforms. I'm feeling cranky every day, but just today this post is at the top of hacker news, and that's frustrating.

The refusal of so many people in this industry to learn a pretty simple and incredibly fundamental tool frustrates me no end. I guess this article could be worse: the number of times I see people reimplement poorly thought out clones of make and present them as the new thing that everyone should use is just absurd.

For simple use cases, Make is simple (and lovely, in my opinion). For moderate to complex cases, Makes syntax and contortions you have to put yourself into to work around the barrier between what Make expects and how certain things can be done today can cause a bit of pain.

That said, you can prize Make out of my cold dead hands. Still my favourite build tool, and damned powerful once you learn to tame it.

Post reply on HN