Here is the scorecard of Maven (left) and Ant (right) vs. Gradle (100%), not on the card. The arrows show the trend vs. Gradle.
Maven loses to Gradle except for jobs, where it rises slightly. Ant has disappeared from searches and Stack Overflow but surprisingly gains in jobs.
Here are my recommendations:
| 2023 | Q4 | Q3 | Q2 |
| 2022 | Q4 | Q3 |
Here are the choices in alphabetical order:
Picking a popular technology makes our developer life easier: Easier to learn, easier to build, debug & deploy, easier to find jobs/hire, and easier to convince teammates & bosses. Popularity can make a difference in two situations: When multiple technologies score similarly, we could go for the most popular one. And when a technology is very unpopular, we may not use it.
I measure popularity among employers and developers as the trend between competing technologies. I count mentions in job ads at Indeed for employer popularity. For developer popularity, I use Google searches, Udemy course buyers, and Stack Overflow questions.
The Indeed job search is active in 62 countries. I picked 59 countries representing 69% of the worldwide GDP in 2022, excluding three countries because English word searches proved ineffective there: China, Japan, and South Korea. Job searches demonstrate the willingness of organizations to pay for a technology - the strongest indicator of popularity in my mind. Gradle is the baseline.
There are no job numbers for May and December 2023 because of changes on the Indeed websites.
Maven wins, Gradle is second, Ant is third, and sbt is last. Maven’s lead over Gradle is at an all-time high of nearly 2.9:1 because Gradle lost almost 20% of its mentions from October to November. Take the Ant numbers with a grain of salt – other words in job ads may account for most of that volume.
Comparing November 2023 vs. November 2022, job ads are down 32%.
Please see here for details, caveats, and adjustments to the job ad mentions.
You can find the detailed search results with links here. They include breakdowns by continents:
Udemy is one of the biggest online learning sites. They publish the number of people who bought a course (beyond a certain threshold, possibly around 100k). This shows how many people evaluate a technology.
Unfortunately, Udemy shows the number of students only for Maven (149k). That’s why there’s no chart here, as a comparison is impossible.
Here are the links that show the courses for all and the number of students for some:
Google Trends demonstrates the initial interest in a technology over time. “More searches = better” to me. The percentage behind the current value is the drop-off from the peak value, marked with a circle. This is the chart link.
Google changed its measurement algorithms on January 1, 2016, and January 1, 2022. That caused spikes for all values, especially in 2022.
Maven wins, Gradle is second, Ant is third, and sbt is last. Google searches always decline in December. Maven has twice the searches of Gradle. Maven and Gradle have roughly moved in lockstep since 2020 and are in a year-end dip. Ant and sbt have no meaningful search volume against Maven and Gradle.
We can run database queries against the questions, answers, and comments at Stack Overflow with the StackExchange Data Explorer. The number of monthly questions is a proxy for using a technology during evaluation and productive use. This number includes deleted questions to be more accurate, as Stack Overflow automatically deletes questions without answers after a year. “More questions = better” to me. The percentage behind the current value is the drop-off from the peak value, marked with a circle.
Gradle wins, Maven is second, sbt is third, and Ant is last. Maven and Gradle have traded the #1 spot several times over the last months. Maven has declined more than Gradle. Ant and sbt peaked nine years ago and slide towards zero.
I used two queries to get the number of monthly questions below because putting all in one query timed out. You can run them in the StackExchange Data Explorer.
DECLARE @StartDate DATE = '2009-01-01';
DECLARE @EndDate DATE = '2023-12-31';
WITH Tagged AS (
SELECT
Id,
CreationDate,
CASE WHEN CHARINDEX('<gradle>', Tags) > 0 THEN 1 ELSE 0 END AS GradleTag,
CASE WHEN CHARINDEX('<ant>', Tags) > 0 THEN 1 ELSE 0 END AS AntTag
FROM PostsWithDeleted
WHERE
PostTypeId = 1 AND -- 1 for
CreationDate >= @StartDate AND
CreationDate <= @EndDate
),
MonthlyCounts AS (
SELECT
DATEADD(month, DATEDIFF(month, 0, CreationDate), 0) AS Month,
SUM(GradleTag) AS Gradle,
SUM(AntTag) AS Ant
FROM Tagged
GROUP BY DATEADD(month, DATEDIFF(month, 0, CreationDate), 0)
)
SELECT
Month,
Gradle,
Ant
FROM MonthlyCounts
ORDER BY Month;
DECLARE @StartDate DATE = '2009-01-01';
DECLARE @EndDate DATE = '2023-12-31';
WITH Tagged AS (
SELECT
Id,
CreationDate,
CASE WHEN CHARINDEX('<maven>', Tags) > 0 THEN 1 ELSE 0 END AS MavenTag,
CASE WHEN CHARINDEX('<sbt>', Tags) > 0 THEN 1 ELSE 0 END AS sbtTag
FROM PostsWithDeleted
WHERE
PostTypeId = 1 AND -- 1 for
CreationDate >= @StartDate AND
CreationDate <= @EndDate
),
MonthlyCounts AS (
SELECT
DATEADD(month, DATEDIFF(month, 0, CreationDate), 0) AS Month,
SUM(MavenTag) AS Maven,
SUM(sbtTag) AS sbt
FROM Tagged
GROUP BY DATEADD(month, DATEDIFF(month, 0, CreationDate), 0)
)
SELECT
Month,
Maven,
sbt
FROM MonthlyCounts
ORDER BY Month;
Please note that the overall monthly number of Stack Overflow questions is down 55% since ChatGPT appeared (November 2022 vs. March 2024):
You can run the query below at the StackExchange Data Explorer.
DECLARE @StartDate DATE = '2009-01-01';
DECLARE @EndDate DATE = '2024-03-31';
WITH Questions AS (
SELECT
Id,
CreationDate,
1 AS AQuestion
FROM PostsWithDeleted
WHERE
PostTypeId = 1 AND
CreationDate >= @StartDate AND
CreationDate <= @EndDate
),
MonthlyCounts AS (
SELECT
DATEADD(month, DATEDIFF(month, 0, CreationDate), 0) AS Month,
SUM(AQuestion) AS Questions
FROM Questions
GROUP BY DATEADD(month, DATEDIFF(month, 0, CreationDate), 0)
)
SELECT
Month,
Questions
FROM MonthlyCounts
ORDER BY Month;
So here’s my recommendation:
The next issue will arrive in June 2024. Subscribe to it as a newsletter to have it in your inbox then!