You can speed it up somewhat by tweaking ~/.gradle/gradle.properties and adding org.gradle.daemon=true
and org.gradle.parallel=true. That way at least it doesn't have to re-read all the build files each time and will run some parts in parallel.
The benefit wrt the old Ant-based build is the way it lets you specify 3rd party dependencies. Being able to just add in say Timber, ButterKnife and Guava with a few lines of config, rather than downloading the jars, faffing with paths, making sure the pre-processing bits are in place, etc, is really a big benefit. Maybe Maven would have been a more sensible choice, since Gradle/Groovy seems pretty niche and not really used that much outside Android.
A Ninja file is probably no easier to write than a Makefile. But Ninja is a lot faster than make, which is the reason for using it. To see this, configure Chromium to build with Xcode, make, and ninja, and compare the build times.
Adding to this, from what I understand, ninja was designed to be generated by another more feature-full build tools. For example in chromium, its generated from gyp (generate your projects) files. The fact that its human readable is just a plus.
Makefiles I presume, will be hard to write by hand when:
1. Your project code base is large
2. It take large amount of time or very powerful machines to build sub-modules (V8 for e.g in chromium) so, you don't want to do it all the time
3. Conditional inclusion of sub-modules (for iOS vs Android if you have two separate set of files etc)
4. Sub-modules are pulled in from 3rd parties into your code base
I once wrote a custom build systems in python to generate Make files. I did this because I wanted to use convention instead of configuration and achieve fast builds on multicore machines. Later, after leaving that company, I wanted to recreate a similar build system. I wrote it in python to generate Ninja build files.
I found it easier and cleaner to write Ninja build files.
I wasn't able to do a direct comparison of the build speeds of the two systems, but I bet the Ninja builds were significantly faster.
I was going to gloat about how I don't use something like yik yak, but then I realized I'm anonymous here, and that HN employs heavy handed moderation to deal with near anonymous chat.
Except that you aren't anonymous here. You are pseudonymous which is very different because you have a consistent identifier allowing people to interact with you and review your history and posts and attack you. When you are anonymous it would require significant effort to identify a user using lexical analysis or the like and the false positive rate would likely be quite high.
He is very specifically releasing quickly. I didn't see anywhere an attempt to hold a bow in position for a long time to aim --- just like throwing a ball, you don't have to hold it cocked when you are an expert.
How are these trick shots, and not refined? Those sound like belittling statements. He has done good research and discovery of how ancient warriors fought. It is fair to call them different techniques, but not refined vs unrefined. It would take some serious practice to duplicate the masters in either style.
This is an article for people that like to drive, and he is correct: you want a linear response in turns. He is not dictating requirements for the general public --- he is describing reality.
Couldn't they adjust their zoning and planning to allow more housing supply, to avoid rising home prices? The Bay Area has that option too, but steadfastly rejects it almost everywhere. It seems like everyone wants to blame incoming tech workers, when the reality is more complicated.
Work smart, not hard. Cash is a metric of how valuable something is to the purchaser, and not how hard it is for the master to perform, but for the purchaser to perform from scratch. Working hard, without balance, is an obsessive-compulsive behavior, so that you needn't define yourself and figure out how to live your life. The parent of your comment is spot on.