News for hackers. Stuff that matters.
Re:Falsehoods Programmers Believe About Build Systems (2012) by Annatar on Sunday January 21, 2018 @03:50AM (#16197358)
Yet another Make hater; it's disgusting how many wannabe programmers misunderstand Make and then embark on some unholy crusade to kill or replace it.

And then we end up with garbage, toy build systems limited by the programmer's understanding of what the build system should be capable of. After suffering through several of those toys (never by my own choice), I don't ever want to find myself in a situation like that again.

Learn Make, truly learn and master it; don't just claim that you do! It functions the way it does for several reasons! Buy the O'Reilly book (on original Make, not the GNU Make version); go through the examples; UNDERSTAND THEM. And stop trying to build unnecessary replacements. There is enough garbage in the world of software already. Way too much in fact.

Re:Falsehoods Programmers Believe About Build Systems (2012) by stinos on Sunday January 21, 2018 @05:31AM (#16197528)
You seem to imply that once you understand make, you won't dislike it anymore or don't want to see it replaced or will stop criticizing it. For one thing, the better you understand a tool the more correct your critique on it can be.

I learned quite a bit of make and msbuild and cmake (yeah it's not a true build system but that doesn't matter here) at practically the same time. I can't say I really really like any of those. I also don't truly hate them. Yet one thing is clear: I understand how they work and how they were intended to be used. But none of them are the perfect answer.

No matter how well e.g. make works, that doesn't somehow magically make it's sometimes awkward 'let's cram as much meaning as possible into as little characters as possible like we're still programming on 75 character terminals' syntax good. Just like msbuild's overly verbose xml is no better. Though it still is more readable to me.

So just like you understand make, you should try to understand why people build replacements. If you can't, you're just blind for the downsides of your favourite build tool.

Re:Falsehoods Programmers Believe About Build Systems (2012) by Annatar on Sunday January 21, 2018 @11:48AM (#16198693)
You seem to imply that once you understand make, you won't dislike it anymore or don't want to see it replaced or will stop criticizing it.

Criticising it?!? Make is an ingenious tool! It's a phenomenal tool, if one just looks at the flexibility of it, never mind all the super useful built in rules that it comes with out of the box!

For one thing, the better you understand a tool the more correct your critique on it can be.

Correct, but therein lies the rub: the author of the essay clearly does not command understanding of Make, and even worse, he believes he does. Worst of all, he is not alone: this Make hate pops up every so often here, one can clearly see who is learning build systems and who eventually hit Make (all build systems' roads lead to Make sooner or later) and just didn't get it. By my own experience, it's mostly Windows users turned GNU/Linux.

I would be curious to learn whether I'm correct in the case of the author of the essay, really curious.

Re:Falsehoods Programmers Believe About Build Systems (2012) by dang on Sunday January 21, 2018 @04:36AM (#16197440)
Indeed there is, but would you please not rant like this here? It's basically yelling at the reader instead of teaching us.

The same goes for allcaps, which the site guidelines ask you not to use for emphasis: https://news.ycombinator.com/newsguidelines.html.

Re:Falsehoods Programmers Believe About Build Systems (2012) by Annatar on Sunday January 21, 2018 @11:42AM (#16198668)
Fine, I won't use CAPS any more.

I'm not yelling at the reader, but at the author, and even in that I am way more restrained than I should have been.

As for teaching, the teaching here is get the original Make book and go through the examples and understand them; there is no need for me to repeat what smarter and more learned men (namely the author of the Make book) have already written.

Re:Falsehoods Programmers Believe About Build Systems (2012) by dang on Sunday January 21, 2018 @03:02PM (#16199685)
The yelling affects everyone. When you post like that you're degrading the discussion for everyone and damaging the site. A few will always like it because they happen to share what you're annoyed at, or they're annoyed at something else and want a hit of rant energy. But the rest of us just cringe.

HN threads are supposed to be for thoughtful conversation, not getting anger out. That doesn't mean people can't comment on something that angers them, but it takes work to do it in a way that's informative to others. Mere venting falls below the quality line.

Re:Falsehoods Programmers Believe About Build Systems (2012) by Annatar on Monday January 22, 2018 @05:11AM (#16203256)
A thoughtful conversation requires a lot of insight and experience, both which appear to have taken a leave of absence. For a website aiming to provoke a thoughtful discussion, you (plural) sure like posting lots of inflammatory discussion material. Case in point: "death to Make!", and I quote the original article:

It is accepted by all decent people that Make sucks and needs to die

  ...
  ...
  ...
Unfortunately, all of the Make-replacements I am aware of copy one or more of Make's mistakes, and many of them make new and exciting mistakes of their own.

I want to see an end to Make in my lifetime. As a service to the Make-replacement community, therefore, I present the following list of tempting but incorrect assumptions various build tools make about building software.

Can you please provide some pointers on how I can effectively communicate a request to turn it down a couple of notches with respect to what appears to me to be a generation Y "hurt feelings" as evidenced by your response without hurting any feelings? Context:

http://reason.com/archives/2017/10/26/the-fragile-generation

https://news.ycombinator.com/item?id=15993091

have I managed to make my point clear?

Re:Falsehoods Programmers Believe About Build Systems (2012) by dang on Monday January 22, 2018 @07:01PM (#16209441)
> A thoughtful conversation requires a lot of insight and experience, both which appear to have taken a leave of absence

Yes, of course that's true, but all you've done is state the default condition of an internet forum. The whole idea of HN is to try to rise above that sludgey default, at least in part. It's a constant struggle because there's a constant downward pull, so we need users like you to understand the intention and post at a higher quality level.

I'm sure you wouldn't litter in a city park, even if there was already some litter there. You might even pick some of the litter up, if you were feeling like a good citizen that day.

If you'd take a look at https://news.ycombinator.com/newsguidelines.html and https://news.ycombinator.com/newswelcome.html and http://www.paulgraham.com/hackernews.html, I'm sure you'll get the idea.

Re:Falsehoods Programmers Believe About Build Systems (2012) by Annatar on Wednesday January 24, 2018 @02:38AM (#16221049)
I’ve already prescribed the reading material and the mastery plan; am I understanding correctly that you’d also like me to write tutorials as comments in order to up the quality? How could I have worded my response differently? A subject like Make, being such a flexible, powerful tool takes years to master, hence the Windows / generation Y / Stackoverflow crowd backlash.

Did you read some of the responses like

“You do realise that it's quite a request to make? Getting a specific book and going trough it, until you reach enlightenment? Personally I'd say that any build system requiring me to read a full book to understand it has already failed to fulfil the requirements I have. Any time I don't have to spend fiddling with or learning about build systems is time well spent in my world.”

These guys deserve far more than just yelling at them. The damage they cause to our industry and our work conditions because of their attitude is enormous, enough to want to leave the industry and never touch it again (I’ve been seriously considering a career switch after 30+ years of working with and on software and hardware). Instead of making progress, we’re regressing; for every student that studied under me, ten such guys crop up because our industry is perceived to pay well and provide job security, both intrinsically wrong motives to be in it. And they won’t listen, they think they know exactly what they’re talking about.

Re:Falsehoods Programmers Believe About Build Systems (2012) by jonex on Sunday January 21, 2018 @03:19PM (#16199759)
You do realise that it's quite a request to make? Getting a specific book and going trough it, until you reach enlightenment? Personally I'd say that any build system requiring me to read a full book to understand it has already failed to fulfil the requirements I have. Any time I don't have to spend fiddling with or learning about build systems is time well spent in my world.
Re:Falsehoods Programmers Believe About Build Systems (2012) by jonex on Wednesday January 24, 2018 @03:41AM (#16221280)
Ok, just wondering, why would I get down-voted for this? I must have misunderstood the idea about down-voting, to me it looks like people are just expressing disagreement, I thought it was about discouraging impolite discussion?
Re:Falsehoods Programmers Believe About Build Systems (2012) by Annatar on Wednesday January 24, 2018 @04:02PM (#16226278)
Read my last reply to the moderator and you will get an inkling as to why.
Re:Falsehoods Programmers Believe About Build Systems (2012) by jonex on Wednesday January 24, 2018 @05:07PM (#16226799)
From that comment it seems that the down votes are about expressing anger that people like me have the opinion that build systems are a second order priority.

I can't see how the comment itself should not be allowed as part of a discussion about the level of reading should be required to participate in a conversation about build systems?

Re:Falsehoods Programmers Believe About Build Systems (2012) by Annatar on Thursday January 25, 2018 @03:17AM (#16229534)
The comment isn’t disallowed; the downvote count just tells you how many people disagree with your statement and think you’re wrong about what you’re saying.

By the way, Make is so powerful that not only can it be used as a build engine, but for day to day system administration, web development and general task automation as well.

Re:Falsehoods Programmers Believe About Build Systems (2012) by Annatar on Monday January 22, 2018 @05:24AM (#16203319)
Do you want to master it or not? Your choice, but you won't master it via "Stack Overflow".

What would you have done if you had grown up at Bell Labs, refused to read manual pages?

Is it worth using shitty software or putting up with shitty software or reinventing the wheel over and over and over again just because you feel like mastering something is too much work? If it is... it's just one more reason for me to exit this industry, for I do not want to keep such company.

Re:Falsehoods Programmers Believe About Build Systems (2012) by tzahola on Sunday January 21, 2018 @10:24AM (#16198362)
Paraphrasing the well-known LISP aphorism: Every sufficiently complex build system will have an incomplete, buggy and slow implementation of Make within.