News for hackers. Stuff that matters.
Re:I Like Makefiles by safety1st on Saturday September 21, 2024 @03:27AM (#41608200)
The strengths of make, in this context where it's been coaxed into serving as a task runner for small projects, are:

1) It's already installed practically everywhere

2) It reduces your cognitive load for all sorts of tasks down to just remembering one verb which you can reuse across multiple projects, even if the implementation ends up differing a bit

3) In conjunction with the similarly ubiquitous SSH and git, you have everything you need to apply the basic principles of DevOps automation and IaC

There's something special about waking up one day with an idea, and being able to create a fresh git repository where the first commit is the Makefile you've had in your back pocket for years that scripts everything from environment setup to deployment to test automation to code reviews.

There's zero effort beyond just copying your single file "cookbook" into that new repo.

Re:I Like Makefiles by yunohn on Saturday September 21, 2024 @04:19AM (#41608442)
> It's already installed practically everywhere

This always comes up, and is a sad chicken/egg problem.

We can all somehow agree that Make mostly sucks, but OS maintainers aren’t interested in providing a default alternative, due to choice overload or something.

Re:I Like Makefiles by badgersnake on Saturday September 21, 2024 @05:48AM (#41608807)
This entire article and discussion is about why people like make.
Re:I Like Makefiles by yunohn on Saturday September 21, 2024 @11:58AM (#41610763)
No, a significant amount of the comments here are about how Make sucks.
Re:I Like Makefiles by hulitu on Saturday September 21, 2024 @07:33AM (#41609308)
CMake runs make, ninja runs make.
Re:I Like Makefiles by IshKebab on Saturday September 21, 2024 @04:34AM (#41608502)
> It's already installed practically everywhere

Well, except Windows. But nobody uses that right?

Re:I Like Makefiles by maccard on Saturday September 21, 2024 @06:22AM (#41608966)
Nothing is installed out of the box on windows, but anyone with a functioning development environment for a large number of programming languages will have installed wsl, msys or git bash along the way and have make installed as part of it.
Re:I Like Makefiles by bmacho on Saturday September 21, 2024 @07:56AM (#41609405)
I don't think git bash comes with a make.
Re:I Like Makefiles by maccard on Saturday September 21, 2024 @10:45AM (#41610334)
So it doesn’t. TIL.
Re:I Like Makefiles by zelphirkalt on Saturday September 21, 2024 @06:26AM (#41608986)
I always find it a questionable choice, when someone, who wants to be a professional software engineer, uses Windows. If it is a choice at all. Of course they could also be working at some job, where there are silly ideas like everyone having to use Windows or so.

If it is a choice, it sort of shows an "I do not care" attitude to software development, or being seriously uninformed about proprietary software. Usually those are the types, for whom software engineering is merely a 9 to 5 job, and not a craft they take pride in. An activity they do not really care about at other times. Which is OK to do, not a crime. If I were hiring though, I would rather look for passionate software engineers/devs, who know a lot of stuff from tinkering and exploration. Ultimately using Windows means you are not truly in control of your productive system and are at the whim of MS. It is a risk no self-respecting software engineer should take.

To clarify, that is not to say, that there cannot be craftsmanship people using Windows. It is just way less likely. More likely they are "enterprise" software people. Even the choice to explore and use a GNU/Linux distribution betrays some kind of mentality of exploration. Wanting to know what is out there. Learning a new thing. Adapting it to ones needs. This kind of learning mindset in the long term is what sets engineers apart from others.

So I would claim, that not many good software engineers use Windows to be productive. If they have to, they will likely install some VM or some means of making things work as if they were on a GNU/Linux system. WSL or whatever, to circumvent the limitations and annoyances of a Windows system.

Re:I Like Makefiles by vouwfietsman on Saturday September 21, 2024 @07:03AM (#41609170)
This is a silly take, have you heard about game developers?

If there's craftmanship anywhere, its in game development, and they surely don't want to spend all their time working on a platform without proper tooling that their end users overwhelmingly do not use.

The choice of OS has nothing to do with craftmanship or "exploration". I "explored" linux many times and am not using it currently.

In fact, I'm happy to argue that most developers that care so much about the choice of OS that they are uninterested in using another one (and do not work in OS development) are probably somehow stuck in their ways and uninterested in exploration themselves.

Taken even further, currently the only important OS is the browser, and nobody cares who launches it.

I hope you are not somehow in charge of hiring.

Re:I Like Makefiles by zelphirkalt on Saturday September 21, 2024 @08:03AM (#41609442)
Game developers are such an exception ... And I left room for exceptions in my explanation.

But of course, if you want all the IP to leak via MS spyware phoning home, sure, let your devs work on Windows machines.

Re:I Like Makefiles by vouwfietsman on Sunday September 22, 2024 @11:45AM (#41617835)
I think you're generalizing from your position inside some bubble, I am not sure which. Equivalently I could imagine game developers generalizing that linux people are terminal fetishists and have no interest in getting stuff done, who would rather customize (a.k.a fight) their OS for days on end than provide end user value, and through their idealistic, puristic and dogmatic approach to FOSS they feel safe but are meanwhile vulnerable to exploits of bad actors through supply chain attacks.

I think neither take is true, nor does it hold much value to claim it, unless your aim is to divide developers into arbitrary adverse tribes.

Re:I Like Makefiles by IshKebab on Saturday September 21, 2024 @03:19PM (#41612046)
This is such a dumb egotistical gatekeeping take... You think you're superior because you use something niche.

Some people just don't want to have to worry about laptops melting in their bags... or hard rebooting when they run out of RAM.

If someone said something like this to me in an interview I would definitely not hire them.

Re:I Like Makefiles by zelphirkalt on Saturday September 21, 2024 @04:17PM (#41612412)
> You think you're superior because you use something niche.

Ah? Interesting! Tell me more about what I think!

> Some people just don't want to have to worry about laptops melting in their bags...

That is funny, because this is what happens with Windows installed, due to nonsensical system default settings. I've almost had that happen with Windows 7 once, due to an idiotic default setting regarding when the system is to wake up from hibernation, so that it turned back on while in my bag, inside an inner protection bag, nicely accumulating the heat.

Recently there was a whole long thread of people describing such problems with Windows machines. Here on HN.

Perhaps you are the one, who is not properly informed? Or are all those experiences with Windows machines somehow null and void, invalid?

Re:I Like Makefiles by coolgoose on Saturday September 21, 2024 @05:12AM (#41608660)
Wsl2 :)
Re:I Like Makefiles by oguz-ismail on Saturday September 21, 2024 @04:49AM (#41608578)
nmake comes with msvc
Re:I Like Makefiles by unscaled on Saturday September 21, 2024 @05:32AM (#41608744)
1. MSVC is not installed by default on Windows.

2. nmake is with POSIX make, let alone GNU make. It doesn't even support .PHONY target, which is what you need to replace Just with make.

3. Installing Just with WinGet is simpler, faster and takes probably only 1% of the space of installing Visual Studio for nmake.

Re:I Like Makefiles by overanalytcl on Saturday September 21, 2024 @08:53AM (#41609649)
> 1. MSVC is not installed by default on Windows.

Neither is Make or GCC on Unix.

Re:I Like Makefiles by wruza on Saturday September 21, 2024 @05:02AM (#41608620)
Yeah, “just install msvc”. It’s easier to install msys2 when you’re that desperate. At least the tool name will be “make” out of box.