4 ms·
The first point is "Don’t try to be clever," and using Make in the JavaScript ecosystem defies exactly that to begin with.
by andrewmcwatters 9y ago
The first point is "Don’t try to be clever," and using Make in the JavaScript ecosystem defies exactly that to begin with.
- pvtmert 9y agoit is called 'build system' so is gradle, maven, xcode, it does not matter what target is or what source is (as language, file etc) they have tasks/recipes and dependencies/prerequistes imho JS's stack of build system still not good at all. changing to new system every 2-3 years. (note that i am not a js-dev, just outside point of view) which is kind of a not-stable-ecosystem feeling. I see small agencies spending days maybe weeks to port their 'themes' to new stacks (long ago jquery, then gulp, now webpack) where as haven't encountered single "porting to new makefile format" case, because, of course solid history/background of make.
- andrewmcwatters 9y agoyeah what's an even better idea is not to introduce a new build system, but to introduce an old one primarily used by an entirely different language ecosystem brilliant
- vorg 9y ago> gradle, maven, xcode, it does not matter what target is or what source is (as language But it does matter what the language is for the build script for each build system, e.g. Apache Groovy for Gradle, XML for Maven.
- bringtheaction 9y agoNo it doesn’t. Makefiles define inputs, outputs and the commands that transform input to output. Make then compares the last modified timestamp of inputs with outputs on each run and reruns the commands for the targets that are out of date. Make is in no way limited to C or C++ projects and there is absolutely nothing wrong in using Make for a JavaScript project. The only thing that sucks a bit is maintaining the list of inputs and outputs if you have a lot of files. Well, that and the fact that Makefiles are not generally portable between GNU and BSD Make so if you use both Linux and a BSD you need to install either gmake on BSD or bmake on Linux and then remember to invoke that rather than just make for your project. Of course you could have a bash function that will look and pick GNU make if there is a GNUmakefile in your directory and BSD make if there is a BSDmakefile, but maintaining such things is a hassle as well. It always comes down to picking the right tool and sometimes Make will be it and sometimes it won’t but whether the output is JavaScript or a PDF (e.g. from LaTeX documents) or JPEGs or whatever has very little to do with it.
- andrewmcwatters 9y ago> Make is in no way limited to C or C++ projects and there is absolutely nothing wrong in using Make for a JavaScript project. The fact that you have to acknowledge this proves how unorthodox it is, and ignores team concerns. So no, there is something wrong with using Make for a JavaScript project: people don't normally do it. > It always comes down to picking the right tool You're right, stick to the ones people actively use and don't pretend features exist in bubbles.
- markmark 9y agoI can't believe you've been down-voted for these two posts. If you convert your js projects to make you are going to be the only person on your team who ever touches them again for no pay off.
- andrewmcwatters 9y agoI've generally found that criticism, even if a reasonable sentiment, on Hacker News trends downwards. It seems to be more favorable to support something or stay silent, than to give critical commentary. It could also just be my tone. I'm sure my comments would be more popular if I ignored the realities of software development and only praised the novelties of it.
- wruza 9y ago“there is something wrong with using xxx for a yyy: people don't normally do it” seems like a logical fallacy even without considering the details, which even more people are not interested in.
- andrewmcwatters 9y agohow is that a logical fallacy at all? do you know what a logical fallacy is? it's a measurable fact nowhere does make show up on the top of the list of build tools for this ecosystem during regularly published analytics for the industry im astounded so many idiots have such high karma counts on hn, what a wonderful place to have discourse