# Programming languages used in most popular websites

One thing the most visited websites have in common is that they are dynamic websites. Their development typically involves server-side coding, client-side coding and database technology. The programming languages applied to deliver such dynamic web content vary vastly between sites. @media screen{html.client-js .mw-parser-output .sort-under.sortable.wikitable th.headerSort,html.client-js .mw-parser-output .sort-under-right.sortable.wikitable th.headerSort,html.client-js .mw-parser-output .sort-under-center.sortable.wikitable th.headerSort{padding-right:0.4em}html.client-js .mw-parser-output .sort-under.sortable:not(.wikitable) th.headerSort,html.client-js .mw-parser-output .sort-under-right.sortable:not(.wikitable) th.headerSort,html.client-js .mw-parser-output .sort-under-center.sortable:not(.wikitable) th.headerSort{padding-right:1px}html.client-js body.skin-minerva .mw-parser-output .sort-under.sortable.wikitable th.headerSort,html.client-js body.skin-minerva .mw-parser-output .sort-under-right.sortable.wikitable th.headerSort,html.client-js body.skin-minerva .mw-parser-output .sort-under-center.sortable.wikitable th.headerSort{padding-right:0.2em}html.client-js body.skin-timeless .mw-parser-output .sort-under.sortable.wikitable th.headerSort,html.client-js body.skin-timeless .mw-parser-output .sort-under-right.sortable.wikitable th.headerSort,html.client-js body.skin-timeless .mw-parser-output .sort-under-center.sortable.wikitable th.headerSort{padding-right:0.5em}html.client-js .mw-parser-output .sort-under-center.sortable th.headerSort{background-position:center bottom 0.2em}html.client-js .mw-parser-output .sort-under.sortable th.headerSort,html.client-js .mw-parser-output .sort-under-right.sortable th.headerSort{background-position:right bottom 0.2em}html.client-js .mw-parser-output .sort-under.sortable th.headerSort,html.client-js .mw-parser-output .sort-under.sortable th.unsortable,html.client-js .mw-parser-output .sort-under-right.sortable th.headerSort,html.client-js .mw-parser-output .sort-under-right.sortable th.unsortable,html.client-js .mw-parser-output .sort-under-center.sortable th.headerSort,html.client-js .mw-parser-output .sort-under-center.sortable th.unsortable{padding-bottom:1em}html.client-js body.skin-timeless .mw-parser-output .sort-under.sortable.wikitable th.headerSort,html.client-js body.skin-timeless .mw-parser-output .sort-under.sortable.wikitable th.unsortable,html.client-js body.skin-timeless .mw-parser-output .sort-under-right.sortable.wikitable th.headerSort,html.client-js body.skin-timeless .mw-parser-output .sort-under-right.sortable.wikitable th.unsortable,html.client-js body.skin-timeless .mw-parser-output .sort-under-center.sortable.wikitable th.headerSort,html.client-js body.skin-timeless .mw-parser-output .sort-under-center.sortable.wikitable th.unsortable{padding-bottom:1.2em}html.client-js body.skin-timeless .mw-parser-output .sort-under.sortable:not(.wikitable) th.headerSort,html.client-js body.skin-timeless .mw-parser-output .sort-under.sortable:not(.wikitable) th.unsortable,html.client-js body.skin-timeless .mw-parser-output .sort-under-right.sortable:not(.wikitable) th.headerSort,html.client-js body.skin-timeless .mw-parser-output .sort-under-right.sortable:not(.wikitable) th.unsortable,html.client-js body.skin-timeless .mw-parser-output .sort-under-center.sortable:not(.wikitable) th.headerSort,html.client-js body.skin-timeless .mw-parser-output .sort-under-center.sortable:not(.wikitable) th.unsortable,html.client-js body.skin-minerva .mw-parser-output .sort-under.sortable:not(.wikitable) th.headerSort,html.client-js body.skin-minerva .mw-parser-output .sort-under.sortable:not(.wikitable) th.unsortable,html.client-js body.skin-minerva .mw-parser-output .sort-under-right.sortable:not(.wikitable) th.headerSort,html.client-js body.skin-minerva .mw-parser-output .sort-under-right.sortable:not(.wikitable) th.unsortable,html.client-js body.skin-minerva .mw-parser-output .sort-under-center.sortable:not(.wikitable) th.headerSort,html.client-js body.skin-minerva .mw-parser-output .sort-under-center.sortable:not(.wikitable) th.unsortable{padding-bottom:0.8em}html.client-js .mw-parser-output .static-row-numbers.sort-under.sortable thead tr:only-child::before,html.client-js .mw-parser-output .static-row-numbers.sort-under-right.sortable thead tr:only-child::before,html.client-js .mw-parser-output .static-row-numbers.sort-under-center.sortable thead tr:only-child::before{padding-bottom:0.9em}html.client-js body.skin-timeless .mw-parser-output .static-row-numbers.sort-under.sortable thead tr:only-child::before,html.client-js body.skin-timeless .mw-parser-output .static-row-numbers.sort-under-right.sortable thead tr:only-child::before,html.client-js body.skin-timeless .mw-parser-output .static-row-numbers.sort-under-center.sortable thead tr:only-child::before,html.client-js body.skin-minerva .mw-parser-output .static-row-numbers.sort-under.sortable thead tr:only-child::before,html.client-js body.skin-minerva .mw-parser-output .static-row-numbers.sort-under-right.sortable thead tr:only-child::before,html.client-js body.skin-minerva .mw-parser-output .static-row-numbers.sort-under-center.sortable thead tr:only-child::before{padding-bottom:0.8em}html.client-js .mw-parser-output .sort-under.sortable.wikitable th.ts-vertical-header.headerSort,html.client-js .mw-parser-output .sort-under.sortable.wikitable th.ts-vertical-header.unsortable,html.client-js .mw-parser-output .sort-under-right.sortable.wikitable th.ts-vertical-header.headerSort,html.client-js .mw-parser-output .sort-under-right.sortable.wikitable th.ts-vertical-header.unsortable,html.client-js .mw-parser-output .sort-under-center.sortable.wikitable th.ts-vertical-header.headerSort,html.client-js .mw-parser-output .sort-under-center.sortable.wikitable th.ts-vertical-header.unsortable{padding-top:0.4em}html.client-js .mw-parser-output .sort-under.sortable:not(.wikitable) th.ts-vertical-header.headerSort,html.client-js .mw-parser-output .sort-under.sortable:not(.wikitable) th.ts-vertical-header.unsortable,html.client-js .mw-parser-output .sort-under-right.sortable:not(.wikitable) th.ts-vertical-header.headerSort,html.client-js .mw-parser-output .sort-under-right.sortable:not(.wikitable) th.ts-vertical-header.unsortable,html.client-js .mw-parser-output .sort-under-center.sortable:not(.wikitable) th.ts-vertical-header.headerSort,html.client-js .mw-parser-output .sort-under-center.sortable:not(.wikitable) th.ts-vertical-header.unsortable{padding-top:1px}html.client-js .mw-parser-output .sort-under.sortable .ts-vertical-header>div,html.client-js .mw-parser-output .sort-under-right.sortable .ts-vertical-header>div,html.client-js .mw-parser-output .sort-under-center.sortable .ts-vertical-header>div{padding-top:4px}html.client-js .mw-parser-output .sort-under.sortable:not(.wikitable) .ts-vertical-header>div,html.client-js .mw-parser-output .sort-under-right.sortable:not(.wikitable) .ts-vertical-header>div,html.client-js .mw-parser-output .sort-under-center.sortable:not(.wikitable) .ts-vertical-header>div{padding-bottom:4px}html.client-js body.skin-minerva .mw-parser-output .sort-under.sortable.wikitable .ts-vertical-header>div,html.client-js body.skin-minerva .mw-parser-output .sort-under-right.sortable.wikitable .ts-vertical-header>div,html.client-js body.skin-minerva .mw-parser-output .sort-under-center.sortable.wikitable .ts-vertical-header>div{padding-top:2px}html.client-js body.skin-timeless .mw-parser-output .sort-under.sortable.wikitable .ts-vertical-header>div,html.client-js body.skin-timeless .mw-parser-output .sort-under-right.sortable.wikitable .ts-vertical-header>div,html.client-js body.skin-timeless .mw-parser-output .sort-under-center.sortable.wikitable .ts-vertical-header>div{padding-top:0}@media(pointer:coarse){html.client-js .mw-parser-output .sort-under-center.sortable.wikitable th.headerSort{background-position:center bottom 0.5em}html.client-js .mw-parser-output .sort-under.sortable.wikitable th.headerSort,html.client-js .mw-parser-output .sort-under-right.sortable.wikitable th.headerSort{background-position:right bottom 0.5em}html.client-js .mw-parser-output .sort-under.sortable.wikitable th.headerSort,html.client-js .mw-parser-output .sort-under.sortable.wikitable th.unsortable,html.client-js .mw-parser-output .sort-under-right.sortable.wikitable th.headerSort,html.client-js .mw-parser-output .sort-under-right.sortable.wikitable th.unsortable,html.client-js .mw-parser-output .sort-under-center.sortable.wikitable th.headerSort,html.client-js .mw-parser-output .sort-under-center.sortable.wikitable th.unsortable{padding-bottom:1.6em}html.client-js body.skin-timeless .mw-parser-output .sort-under.sortable.wikitable th.headerSort,html.client-js body.skin-timeless .mw-parser-output .sort-under.sortable.wikitable th.unsortable,html.client-js body.skin-timeless .mw-parser-output .sort-under-right.sortable.wikitable th.headerSort,html.client-js body.skin-timeless .mw-parser-output .sort-under-right.sortable.wikitable th.unsortable,html.client-js body.skin-timeless .mw-parser-output .sort-under-center.sortable.wikitable th.headerSort,html.client-js body.skin-timeless .mw-parser-output .sort-under-center.sortable.wikitable th.unsortable{padding-bottom:1.8em}html.client-js .mw-parser-output .static-row-numbers.sort-under.sortable.wikitable thead tr:only-child::before,html.client-js .mw-parser-output .static-row-numbers.sort-under-right.sortable.wikitable thead tr:only-child::before,html.client-js .mw-parser-output .static-row-numbers.sort-under-center.sortable.wikitable thead tr:only-child::before{padding-bottom:1.5em}html.client-js body.skin-timeless .mw-parser-output .static-row-numbers.sort-under.sortable.wikitable thead tr:only-child::before,html.client-js body.skin-timeless .mw-parser-output .static-row-numbers.sort-under-right.sortable.wikitable thead tr:only-child::before,html.client-js body.skin-timeless .mw-parser-output .static-row-numbers.sort-under-center.sortable.wikitable thead tr:only-child::before,html.client-js body.skin-minerva .mw-parser-output .static-row-numbers.sort-under.sortable.wikitable thead tr:only-child::before,html.client-js body.skin-minerva .mw-parser-output .static-row-numbers.sort-under-right.sortable.wikitable thead tr:only-child::before,html.client-js body.skin-minerva .mw-parser-output .static-row-numbers.sort-under-center.sortable.wikitable thead tr:only-child::before{padding-bottom:1.4em}}} .mw-parser-output .defaultleft{text-align:left}.mw-parser-output .defaultcenter{text-align:center}.mw-parser-output .defaultright{text-align:right}.mw-parser-output .col1left td:nth-child(1),.mw-parser-output .col2left td:nth-child(2),.mw-parser-output .col3left td:nth-child(3),.mw-parser-output .col4left td:nth-child(4),.mw-parser-output .col5left td:nth-child(5),.mw-parser-output .col6left td:nth-child(6),.mw-parser-output .col7left td:nth-child(7),.mw-parser-output .col8left td:nth-child(8),.mw-parser-output .col9left td:nth-child(9),.mw-parser-output .col10left td:nth-child(10),.mw-parser-output .col11left td:nth-child(11),.mw-parser-output .col12left td:nth-child(12),.mw-parser-output .col13left td:nth-child(13),.mw-parser-output .col14left td:nth-child(14),.mw-parser-output .col15left td:nth-child(15),.mw-parser-output .col16left td:nth-child(16),.mw-parser-output .col17left td:nth-child(17),.mw-parser-output .col18left td:nth-child(18),.mw-parser-output .col19left td:nth-child(19),.mw-parser-output .col20left td:nth-child(20),.mw-parser-output .col21left td:nth-child(21),.mw-parser-output .col22left td:nth-child(22),.mw-parser-output .col23left td:nth-child(23),.mw-parser-output .col24left td:nth-child(24),.mw-parser-output .col25left td:nth-child(25),.mw-parser-output .col26left td:nth-child(26),.mw-parser-output .col27left td:nth-child(27),.mw-parser-output .col28left td:nth-child(28),.mw-parser-output .col29left td:nth-child(29){text-align:left}.mw-parser-output .col1center td:nth-child(1),.mw-parser-output .col2center td:nth-child(2),.mw-parser-output .col3center td:nth-child(3),.mw-parser-output .col4center td:nth-child(4),.mw-parser-output .col5center td:nth-child(5),.mw-parser-output .col6center td:nth-child(6),.mw-parser-output .col7center td:nth-child(7),.mw-parser-output .col8center td:nth-child(8),.mw-parser-output .col9center td:nth-child(9),.mw-parser-output .col10center td:nth-child(10),.mw-parser-output .col11center td:nth-child(11),.mw-parser-output .col12center td:nth-child(12),.mw-parser-output .col13center td:nth-child(13),.mw-parser-output .col14center td:nth-child(14),.mw-parser-output .col15center td:nth-child(15),.mw-parser-output .col16center td:nth-child(16),.mw-parser-output .col17center td:nth-child(17),.mw-parser-output .col18center td:nth-child(18),.mw-parser-output .col19center td:nth-child(19),.mw-parser-output .col20center td:nth-child(20),.mw-parser-output .col21center td:nth-child(21),.mw-parser-output .col22center td:nth-child(22),.mw-parser-output .col23center td:nth-child(23),.mw-parser-output .col24center td:nth-child(24),.mw-parser-output .col25center td:nth-child(25),.mw-parser-output .col26center td:nth-child(26),.mw-parser-output .col27center td:nth-child(27),.mw-parser-output .col28center td:nth-child(28),.mw-parser-output .col29center td:nth-child(29){text-align:center}.mw-parser-output .col1right td:nth-child(1),.mw-parser-output .col2right td:nth-child(2),.mw-parser-output .col3right td:nth-child(3),.mw-parser-output .col4right td:nth-child(4),.mw-parser-output .col5right td:nth-child(5),.mw-parser-output .col6right td:nth-child(6),.mw-parser-output .col7right td:nth-child(7),.mw-parser-output .col8right td:nth-child(8),.mw-parser-output .col9right td:nth-child(9),.mw-parser-output .col10right td:nth-child(10),.mw-parser-output .col11right td:nth-child(11),.mw-parser-output .col12right td:nth-child(12),.mw-parser-output .col13right td:nth-child(13),.mw-parser-output .col14right td:nth-child(14),.mw-parser-output .col15right td:nth-child(15),.mw-parser-output .col16right td:nth-child(16),.mw-parser-output .col17right td:nth-child(17),.mw-parser-output .col18right td:nth-child(18),.mw-parser-output .col19right td:nth-child(19),.mw-parser-output .col20right td:nth-child(20),.mw-parser-output .col21right td:nth-child(21),.mw-parser-output .col22right td:nth-child(22),.mw-parser-output .col23right td:nth-child(23),.mw-parser-output .col24right td:nth-child(24),.mw-parser-output .col25right td:nth-child(25),.mw-parser-output .col26right td:nth-child(26),.mw-parser-output .col27right td:nth-child(27),.mw-parser-output .col28right td:nth-child(28),.mw-parser-output .col29right td:nth-child(29){text-align:right}
Programming languages used in most popular websites :
| Websites | Popularity (unique visitors per month) | Front-end (Client-side) | Back-end (Server-side) | Database | Notes |
| Google | 2,800,000,000 | JavaScript, TypeScript | C, C++, Go, Java, Python, Node | Bigtable, MariaDB | The most used search engine in the world. |
| Facebook | 1,120,000,000 | JavaScript, TypeScript, Flow | Hack/HHVM, Python, C++, Java, Erlang, D, Haskell | MariaDB, MySQL, HBase, Cassandra | The most visited social networking site. |
| YouTube | 1,100,000,000 | JavaScript, TypeScript | Python, C, C++, Java, Go | Vitess, BigTable, MariaDB | The most popular video sharing site. |
| Yahoo | 750,000,000 | JavaScript | PHP | PostgreSQL, HBase, Cassandra, MongoDB, | |
| Etsy | 516,000,000 (Total, not unique) | JavaScript | PHP | MySQL, Redis | E-commerce website. |
| Amazon | 2,400,000,000 | JavaScript | Java, C++, Perl | DynamoDB, RDS/Aurora, Redshift | The most used e-commerce site in the world. |
| Wikipedia | 475,000,000 | JavaScript | PHP | MariaDB | A free online encyclopedia based on MediaWiki, which is programmed in PHP. |
| Fandom | 315,000,000 | JavaScript | PHP | MySQL | Wiki hosting service. |
| X | 290,000,000 | JavaScript | C++, Java, Scala, Ruby (Ruby on Rails) | MySQL | Popular social network. |
| Bing | 285,000,000 | JavaScript | C++, C# | Microsoft SQL Server, Cosmos DB | Search engine from Microsoft. |
| eBay | 285,000,000 | JavaScript | Java, JavaScript, Scala | Oracle Database | Online auction house. |
| MSN | 280,000,000 | JavaScript | C# (ASP.NET) | Microsoft SQL Server | An email client, for simple use. Previously known as "messenger", not to be confused with Facebook's messaging platform. |
| LinkedIn | 260,000,000 | JavaScript | Java, JavaScript, Scala | Venice | World's largest professional network. |
| Pinterest | 250,000,000 | JavaScript | Python (Django), Erlang, Elixir | MySQL, Redis | Search engine for ideas. |
| WordPress.com | 240,000,000 | JavaScript | PHP | MariaDB | Website manager software. |
| Netflix | 223.090.000 (Subscribers, not visitors) | JavaScript | Python, Java | NMDB, PostgreSQL | The biggest video streaming service in the world. |
Back-end (Server-side) table in most popular websites :
| Websites | C# | C | C++ | D | Elixir | Erlang | Go | Hack | Haskell | Java | JavaScript | Perl | PHP | Python | Ruby | Scala |
| Google | No | Yes | Yes | No | No | No | Yes | No | No | Yes | Yes | No | No | Yes | No | No |
| Facebook | No | No | Yes | Yes | No | Yes | No | Yes | Yes | Yes | No | No | No | Yes | No | No |
| YouTube | No | Yes | Yes | No | No | No | Yes | No | No | Yes | No | No | No | Yes | No | No |
| Yahoo | No | No | No | No | No | No | No | No | No | No | No | No | Yes | No | No | No |
| Etsy | No | No | No | No | No | No | No | No | No | No | No | No | Yes | No | No | No |
| Amazon | No | No | Yes | No | No | No | No | No | No | Yes | No | Yes | No | No | No | No |
| Wikipedia | No | No | No | No | No | No | No | No | No | No | No | No | Yes | No | No | No |
| Fandom | No | No | No | No | No | No | No | No | No | No | No | No | Yes | No | No | No |
| X | No | No | Yes | No | No | No | No | No | No | Yes | No | No | No | No | Yes | Yes |
| Bing | Yes | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No |
| eBay | No | No | No | No | No | No | No | No | No | Yes | Yes | No | No | No | No | Yes |
| MSN | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
| LinkedIn | No | No | No | No | No | No | No | No | No | Yes | Yes | No | No | No | No | Yes |
| Pinterest | No | No | No | No | Yes | Yes | No | No | No | No | No | No | No | Yes | No | No |
| WordPress.com | No | No | No | No | No | No | No | No | No | No | No | No | Yes | No | No | No |
| Netflix | No | No | No | No | No | No | No | No | No | Yes | No | No | No | Yes | No | No |