On Tuesday, 23 October 2012 at 09:07:34 UTC, Russel Winder wrote:
On Mon, 2012-10-22 at 13:19 -0700, H. S. Teoh wrote:
[…]
<rant>
Well, this is just my biased arrogant opinion, but the root of the problem is that make is an antiquated overly-simplistic script that has long outlived its time, but due to historical reasons still survive festering under the layers of patches that it has acquired over the course of its sad life. Automake and its ilk are just yet another (system of) layer of patches upon the same broken system that doesn't address the fundamental design flaws in make. It's an edifice of cards that nobody dares touch because, well, it would take too much effort to reproduce all the tiny obscure cases it has been tweaked for over the years. But it's nonetheless a nigh unmaintainable fortress of cards that will collapse at the slightest provocation in the most unhelpful of ways. It's like implementing the whole of Windows 8 in K&R C. In this day and age, one would *think* we could do better, but no, this fossil from the 70's still shambles on, to the unnecessary suffering of
countless generations of new programmers.
</rant>

Make was a revelation and a revolution in 1977.

Surprisingly Make remains very useful for small tasks not requiring
cross-platform portability.

Autotools is very UNIX biased.

CMake keeps Make going. Just.

Waf and SCons work well across platforms for C, C++, D, Fortran, LaTeX,
Vala, but not JVM-based languages.

Gradle rules on the JVM, along with SBT and Leiningen. Gradle is also
trying to invade the C++ space.


Even worse is having new generations of developers learning that the 70's way of Make and Autotools is the way to go.

--
Paulo

Reply via email to