Our Methodology
Full transparency. Every data source, weight, and formula documented.
Philosophy
Existing language popularity indexes have significant flaws:
- TIOBE uses search queries, which critics say “measures desperation, not popularity” — hence Scratch ranking #12 above Rust.
- PYPL only tracks tutorial searches and limits to 22 languages.
- RedMonk relies heavily on Stack Overflow, which has seen a 78% decline in questions due to AI assistants.
- IEEE Spectrum and GitHub Octoverse update annually — data is stale before publication.
LangPop addresses these issues with a multi-source composite that updates weekly, with full transparency on how every score is calculated.
Data Sources
GitHub
Active repositories, stars, forks, and contributor activity
We track repositories with activity in the last 90 days, weighted by stars (30%), forks (20%), issues (20%), and recent commits (30%).
Job Postings
Aggregated job listings mentioning each language
Data aggregated from major job boards. We normalize for job board size and filter out false positives (e.g., "Java" in "JavaScript").
Stack Overflow
Questions, answers, and tag activity
Note: SO questions have declined 78% YoY due to AI assistants. We weight recent activity higher and supplement with answer quality metrics.
Google Trends
Search interest relative to peak popularity
Normalized search volume with geographic weighting. Filtered for programming context (excludes "python snake" searches).
npm/PyPI/crates.io
Package downloads and ecosystem activity
Only applicable to languages with package managers. Measures ecosystem health through download velocity and package count growth.
Subreddit activity and community engagement
Tracks r/programming mentions, language-specific subreddit growth, and sentiment analysis of discussions.
Tutorial Platforms
Course enrollments and learning interest
Data from major learning platforms. Indicates new developer interest and language accessibility.
Composite Score Calculation
CompositeScore =
(GitHub × 0.25) +
(JobPostings × 0.20) +
(StackOverflow × 0.15) +
(GoogleTrends × 0.15) +
(PackageManagers × 0.10) +
(Reddit × 0.10) +
(Tutorials × 0.05)
Each component is normalized to 0-100 scale
based on the maximum value in that category.
Final scores are relative to Python = 100
(the current top-ranked language).Known Limitations
- Package manager bias: Languages without popular package managers (C, C++) score 0 in that category.
- Enterprise blind spots: Proprietary/closed-source usage is not captured by our sources.
- Geographic weighting: Data skews toward English-speaking markets; we're working on regional adjustments.
- AI assistant impact: As AI changes how developers seek help, Stack Overflow data becomes less reliable.
- Job posting noise: Some listings mention multiple languages; we use NLP to weight primary language requirements.
Update Schedule
- Daily: GitHub data collection
- Weekly (Tuesdays): All other sources + composite score recalculation + newsletter
- Monthly: Methodology review and weight adjustments
- Quarterly: Major reports with trend analysis
Methodology Changelog
v1.0 — Launch Release
February 2026
- Initial 7-source composite formula established
- Weekly update cadence implemented
- GitHub (25%), Job Postings (20%), Stack Overflow (15%), Google Trends (15%), Package Managers (10%), Reddit (10%), Tutorials (5%)
- Min-max normalization applied to all sources
- Python baseline = 100 score anchor
- Enterprise gaps and geographic bias documented
v1.1 — Planned
Q2 2026
Regional market segmentation, enterprise job board integration, AI/LLM language tracking
v2.0 — Roadmap
2026-2027
Machine learning-based trend prediction, proprietary enterprise data integration, industry/vertical-specific indexes
Note on transparency: All methodology changes will be announced in advance and the changelog updated weekly. No weight adjustments are made without explaining the rationale publicly.