Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Developers seem to be separated into two camps, those that want scripting in their build system and those that work on large projects.


I'm a bit curious, why would those goals be at odds? Is there a specific reason build systems like this don't scale well? I'm genuinely curious, not having had much experience with larger projects.

I'm not certain how use of a "proper scripting language" is much different than using automake, cmake, ant / maven ... in what ways are these necessarily different from something like gulp.js, other than syntax? Does the introduction of extra language features have a negative impact in scalability implicitly?


In a large complex project build scripts tend to take on many tasks, and some of them will not necessarily fit into the pattern of taking in a stream of file globs, modifying them and piping them on into the next task. For example your script might manage a Git repo, deploy an app to Heroku, rsync some files somewhere, run some tests in a headless browser etc. So a build system that's optimised around streams, and one that you have to script by hand, might be very well suited for small streamlined projects but once things get varied and complex it might better be better to define your tasks via configuration instead of code, i.e. Grunt.


Also most automake is a combination of automake and shell (sometimes it's hard to tell which is which).


Not sure I follow this comment. But anything non-trivial needs some sort of scripting. Take ant for example, it started out as a pure declarative build system that worked ok for simple things. Then complexity reared its ugly head - needed loops and conditionals and the tool mutated into the awful beast it is today. So I think you have it backwards.


That is one way to do things, I think the wrong way. If you need something more sophisticated your build system should have a way to write code that is testable and then used declaratively in your build. The answer should not be scripting in your build file.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: