pypl.github.io
PYPL index popularity of programming language
At a glance
- Category
- Development
- Language
- English
- Paid-content signal
- No paid content foundObserved
- Registered
- Unknown
- Hosting
- FastlyInferred
- HTTPS certificate trusted
- PassedObserved
- Last updated
Related questions
More questions →What Is the TIOBE Index and How Does It Differ from PYPL?
TIOBE and PYPL are both programming-language popularity rankings, but they measure different signals. TIOBE counts search-engine results that mention a language, while PYPL analyzes how often people search for language tutorials on Google. If you want a rough popularity snapshot, either can help; if you want to gauge learning interest or future adoption, PYPL's tutorial-search method is the more relevant signal. The two often disagree because they are not measuring the same thing.
What the TIOBE Index Measures
TIOBE is commonly described as a ranking based on search-engine query volume for programming languages. In practice, it aggregates how often a language's name appears in search results across major search engines, then converts that into a percentage share and a rank.
Key characteristics:
- Signal: search-engine result counts, not tutorial searches specifically.
- What it captures: general online visibility and mention volume of a language.
- What it does not capture: how many people are actively trying to learn the language, or how much code is written in it.
Because it counts mentions, a language can rank high due to news coverage, job postings, academic references, or legacy discussion — not necessarily because developers are adopting it.
What the PYPL Index Measures
The PYPL (PopularitY of Programming Language) index is built by analyzing how often language tutorials are searched on Google. Its own description states: "The more a language tutorial is searched, the more popular the language is assumed to be. It is a leading indicator. The raw data comes from Google Trends."
Key characteristics:
- Signal: frequency of Google searches for language tutorials.
- What it captures: learning interest and intent to adopt.
- Leading indicator: because people often search for tutorials before using a language, PYPL is positioned as forward-looking rather than a lagging measure of existing code.
PYPL publishes a worldwide ranking plus country filters (for example Worldwide, US, India, Germany, United Kingdom, France) and a 1-year trend column. It also offers companion indices for Top IDE, Top Online IDE, and Top Databases.
How the Two Differ
| Dimension | TIOBE | PYPL |
|---|---|---|
| Data source | Search-engine results mentioning languages | Google searches for language tutorials |
| Primary signal | Online visibility / mention volume | Learning interest |
| Indicator type | Broad popularity snapshot | Leading indicator (per PYPL) |
| Trend column | Rank and share changes | 1-year trend percentage |
| Geographic view | Varies by methodology | Country selector (Worldwide, US, India, etc.) |
The practical consequence: a language can be high on TIOBE because it is widely discussed, while ranking lower on PYPL because fewer people are searching for tutorials — or vice versa. Neither is "wrong"; they answer different questions.
How to Read the Ranking Columns
Using PYPL's published table as an example (Worldwide, Oct 2026):
- Rank: position by share.
- Change: movement versus the prior period.
- Language: the language being measured.
- Share: percentage of the index attributed to that language.
- 1-year trend: how the share moved over the past year.
In that snapshot, Python leads with 53.9% share and a +24.9% one-year trend, followed by Java at 12.98% and C/C++ at 7.97%. PYPL also notes that over the last 5 years Python grew the most (25.6%) and JavaScript lost the most (-5.9%).
When reading any such table, treat the share as relative, not absolute — it is a slice of a fixed pie, so one language rising usually means others fall. The trend column is often more informative than the rank itself, because it shows direction.
How to Use These Indices Without Over-Relying on Them
Rankings are a starting point, not a decision rule. A reasonable approach:
- Match the index to your question. Choosing what to learn? PYPL's tutorial-search signal is closer to learning interest. Assessing general visibility or legacy presence? TIOBE's mention-based view may be more relevant.
- Check the trend, not just the rank. A high rank with a falling trend tells a different story than a mid rank with a rising trend.
- Filter by geography if it matters. PYPL lets you switch between Worldwide and specific countries; popularity can differ by market.
- Cross-check with your actual constraints. Job market in your region, existing team skills, library ecosystem, and project requirements usually outweigh a global ranking.
- Avoid treating either index as a measure of quality or suitability. Both measure popularity signals, not technical merit.
If you believe in collective wisdom, as PYPL itself frames it, these indices can help you decide which language to study or which to use in a new project — but they should inform the decision, not make it.
What Is the PYPL Popularity of Programming Language Index and How Does It Rank Languages?
The PYPL (PopularitY of Programming Language) Index ranks programming languages by how often their tutorials are searched on Google, using raw data from Google Trends. It is designed as a leading indicator of language interest: the more people search for a language's tutorial, the more popular that language is assumed to be. If you accept the idea of collective wisdom, PYPL can serve as one input when deciding which language to study or use in a new project. It measures search interest, not lines of code written, job postings, or repository activity.
How the Ranking Is Built
PYPL's method is deliberately simple and narrow in scope:
- Input: Google Trends data on searches for language tutorials.
- Assumption: Tutorial searches reflect people learning or adopting a language, so they signal future usage.
- Output: A ranked list of languages with a share percentage and a 1-year trend for each.
Because the signal is search behavior, PYPL is forward-looking rather than a snapshot of what is currently deployed in production. A language can rank high on PYPL while having a smaller installed base, or rank lower while remaining heavily used in existing systems.
Reading the Share and Trend Columns
The index presents each language with a rank, a share (percentage of total tutorial-search interest), and a 1-year trend showing how that share changed over the past year. The worldwide snapshot below illustrates how to read it:
| Rank | Language | Share | 1-year trend |
|---|---|---|---|
| 1 | Python | 53.9% | +24.9% |
| 2 | Java | 12.98% | -0.1% |
| 3 | C/C++ | 7.97% | -5.0% |
| 4 | R | 3.87% | -2.4% |
| 5 | Objective-C | 3.51% | +1.6% |
| 6 | JavaScript | 2.81% | -3.2% |
| 7 | PHP | 1.74% | -1.6% |
| 8 | Rust | 1.56% | -1.3% |
| 9 | Ada | 1.55% | -1.1% |
| 10 | Swift | 1.47% | -2.3% |
How to interpret the two columns together:
- Share tells you the relative size of search interest right now. Python at 53.9% means it accounts for more than half of the measured tutorial-search interest worldwide.
- Trend tells you the direction and speed of change. Python's +24.9% indicates rapidly growing interest; C/C++ at -5.0% indicates declining search interest over the year.
- A high share with a negative trend (Java, C/C++) suggests a large but cooling base. A smaller share with a positive trend (Objective-C) suggests growing interest from a lower starting point.
The index also reports that, worldwide, Python grew the most over the last 5 years (+25.6%) and JavaScript lost the most (-5.9%).
Why the Trend Chart Uses a Logarithmic Scale
The trend chart is plotted on a logarithmic scale. This matters because language shares span a very wide range — from Python's double-digit share down to fractions of a percent for languages like Cobol or Groovy. On a linear scale, the smaller languages would be compressed into an unreadable band at the bottom. A logarithmic scale gives proportional visibility to both large and small languages, so you can compare their relative growth rates rather than just their absolute sizes.
PYPL vs. TIOBE
Both indices are frequently cited, but they answer different questions:
| PYPL | TIOBE | |
|---|---|---|
| Signal | Google searches for language tutorials | Search-engine queries across multiple engines |
| Framing | Leading indicator of learning/adoption interest | Popularity measure based on search volume |
| Best for | Gauging where learner interest is heading | A broader popularity snapshot |
If your question is "what are people trying to learn right now?", PYPL's tutorial-search signal is the more direct fit. If you want a general popularity measure, TIOBE is the more common reference. Neither measures job demand or code volume directly.
Using PYPL as One Input in a Language Decision
PYPL is a single data point, not a decision rule. A practical way to use it:
- Check the share and trend for your candidate languages. A rising trend suggests growing ecosystem momentum and future tooling, libraries, and community support.
- Match against your actual constraint. If you need hiring depth, check job markets separately — PYPL does not measure employment demand. If you need a specific domain (data science, mobile, systems), filter by relevance rather than rank.
- Look at the country view. PYPL lets you switch between Worldwide, US, India, Germany, United Kingdom, and France, so regional interest can differ from the global picture.
- Treat it as directional. Use it to confirm or challenge a hunch, not to override domain requirements.
The index also offers companion rankings for Top IDE, Top Online IDE, and Top Databases, which can help when you are choosing a full toolchain rather than just a language.
Practical Caveats
- PYPL measures tutorial search interest, so it reflects learners and evaluators more than established production teams.
- A language with a large existing codebase can rank modestly on PYPL while remaining important in practice.
- Shares are relative: when one language's share grows sharply, others' shares can fall even if their absolute interest is stable.
- The index is maintained by Pierre Carbonnelle and has been cited in trade journals including InfoWorld, eWeek, and Techworld.
What Is A++ and How Does It Teach Programming Through ARS?
A++ is an educational programming language built on the lambda calculus, designed for one purpose: helping people who want to learn programming understand the essentials of the art of programming as quickly and thoroughly as possible. It suits learners who want a deep grasp of core concepts and transferable patterns before (or instead of) wrestling with the many convenience features of mainstream languages. It is not aimed at people who need a language for practical, production-style software work.
The core idea: essentials instead of features
Most languages come with what the A++ project describes as "bells and whistles" — many soft features that are genuinely useful for coping with practical programming problems. A++ deliberately strips these away. Being based on the lambda calculus, it is presented as a hard-core language made of elements that cannot be further split up or disintegrated.
The reasoning behind this: learning the art of programming is not accomplished by becoming familiar with all the handy soft features a language offers. It comes from learning how to cope with programming problems by continuously applying three operations from beginning to end.
ARS Based Programming
A++ organizes programming around three concepts, abbreviated ARS:
- Abstraction — capturing a pattern or behavior as a reusable unit.
- Reference — using what has been abstracted.
- Synthesis — combining abstractions into larger constructs.
Programming with the focus on applying Abstraction, Reference and Synthesis is called ARS Based Programming. In A++, the project states, ARS Based Programming becomes "ultimately visible to a programmer" — the language is structured so these three operations are not hidden behind incidental syntax.
The claim for learners is twofold: quick, deep comprehension of programming, and pattern-recognition skills that apply in most other programming languages.
Implementations
A++ has been implemented in Scheme, Java, C++, C, Perl and Python, using ARS based programming techniques. The Perl and C implementations are presented in detail in the book on A++ (see below); the other implementations are covered in Programmierung pur (Undiluted Programming), published in 2003.
That spread matters for the educational argument: the same ARS approach is shown to carry across very different language families, which supports the idea that what you learn in A++ transfers rather than being tied to one tool.
Books and learning entry points
The language is introduced in A++ – The Smallest Programming Language in the World, which covers both the language and its implementation. It was first published in Darmstadt, Germany in October 2004 (ISBN 3-87820-116-8), with a 2nd edition published in April 2018 by tredition GmbH, Hamburg.
The site also lists newer titles (July 2018), including:
| Title | ISBN |
|---|---|
| A++ The Smallest Programming Language in the World | 978-3-7469-3021-3 |
| A++ and the Lambda-Calculus | 978-3-7469-3811-0 |
| A++ Die kleinste Programmiersprache der Welt | 978-3-7469-3199-9 |
| Programmieren lernen mit A++ | 978-3-7469-3098-5 |
| A++ und systemnahe Programmiersprachen | 978-3-7469-3600-0 |
| Von A++ nach ARS++ | 978-3-7469-3644-4 |
Who should consider it
A++ fits you if:
- You want to understand what programming is at a fundamental level before committing to a mainstream language.
- You are interested in the lambda calculus as a practical foundation rather than only as theory.
- You want patterns you can carry into other languages.
It probably does not fit you if:
- You need to build practical applications now and want a language with extensive libraries and convenience features.
- You are looking for a first language chosen for employability rather than conceptual depth.
For a systematic path in, the book A++ – The Smallest Programming Language in the World is the documented starting point, with A++ and the Lambda-Calculus as the natural companion for the theoretical basis.
Website Overview
Several search or sharing settings need attention. Together they may make snippets, preview images or preferred URLs less consistent across platforms.
Domain and Registration
Unknown
DNS and Email
Nameservers are provided by Amazon Route 53, indicating managed DNS hosting. CAA records restrict which certificate authorities are authorized to issue certificates. No CNAME was found; the observed records resolve directly to addresses. No MX record was found. A conventional explicit inbound-mail route is not configured. The lowest observed DNS TTL is 3189 seconds.
TLS and Certificates
The certificate uses an RSA 2048-bit public key, offering broad client compatibility. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued by Let's Encrypt, commonly associated with automated certificate services. The certificate's total validity is about 89 days, consistent with a short renewal cycle.
HTTP and Browser Security
The checked browser-security headers were not detected, leaving fewer explicit browser-side safeguards. CORS permits any origin to read this response. This is common for public resources; sensitive responses need narrower handling. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The x-cache, x-served-by, via response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers.
Technology Stack Analysis
The public page identifies jQuery, Bootstrap, Google Analytics, Fastly without precise versions, leaving fewer clues for version-specific scanning.
Search and Social Sharing
No homepage canonical URL was detected. If duplicate URLs exist, consolidation may be less explicit. Open Graph is partially configured; og:image, og:type is missing. The title has 45 characters, within a common display range. A meta description is present, with 45 characters. The observed directives allow indexing and link following.
Hosting and Email
Registration details
Unknown
DNS records
| Type | Name | Value | TTL | Priority |
|---|---|---|---|---|
| A | pypl.github.io | 185.199.108.153 | 3600 | — |
| A | pypl.github.io | 185.199.109.153 | 3600 | — |
| A | pypl.github.io | 185.199.110.153 | 3600 | — |
| A | pypl.github.io | 185.199.111.153 | 3600 | — |
| AAAA | pypl.github.io | 2606:50c0:8000::153 | 3600 | — |
| AAAA | pypl.github.io | 2606:50c0:8001::153 | 3600 | — |
| AAAA | pypl.github.io | 2606:50c0:8002::153 | 3600 | — |
| AAAA | pypl.github.io | 2606:50c0:8003::153 | 3600 | — |
| NS | github.io | dns1.p05.nsone.net | 3189 | — |
| NS | github.io | dns2.p05.nsone.net | 3189 | — |
| NS | github.io | dns3.p05.nsone.net | 3189 | — |
| NS | github.io | dns4.p05.nsone.net | 3189 | — |
| NS | github.io | ns-1339.awsdns-39.org | 3189 | — |
| NS | github.io | ns-1622.awsdns-10.co.uk | 3189 | — |
| NS | github.io | ns-393.awsdns-49.com | 3189 | — |
| NS | github.io | ns-692.awsdns-22.net | 3189 | — |
| TXT | github.io | v=spf1 a -all | 3600 | — |
| CAA | github.io | 0 issue "digicert.com" | 3600 | — |
| CAA | github.io | 0 issue "letsencrypt.org" | 3600 | — |
| CAA | github.io | 0 issue "sectigo.com" | 3600 | — |
| CAA | github.io | 0 issuewild "digicert.com" | 3600 | — |
| CAA | github.io | 0 issuewild "letsencrypt.org" | 3600 | — |
| CAA | github.io | 0 issuewild "sectigo.com" | 3600 | — |
TLS and certificates
HTTP response headers
| Header | Value |
|---|---|
| content-type | text/html; charset=utf-8 |
| cache-control | max-age=600 |
| server | GitHub.com |
| access-control-allow-origin | * |
Identified technologies
Pages, Search and Sharing
| Meta description | PYPL index popularity of programming language |
|---|---|
| Canonical URL | Not detected |
| Language | English (default) |
| Twitter Card | Not detected |
Social Sharing Preview
2 fieldsrobots.txt (opens in a new tab)
HTTP 404No robots.txt found
Sitemaps
0No sitemaps found
Recent Updates
- Website images
- Screenshots
- Pages and Search Information
- Network details
- Website Technologies
- HTTP Response Information
- TLS and certificates
- DNS Information
- Website profile
- Website Description
- Website Name
- Website profile
- Website Description
- Website Name
User reviews (0)