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 dynamic web content, however, vary vastly between sites.
Websites | Popularity (unique visitors per month) [1] | Front-end (Client-side) | Back-end (Server-side) | Database | Notes |
---|---|---|---|---|---|
Google [2] | 2,800,000,000 | JavaScript, TypeScript | C, C++, Go, [3] Java, Python, Node | Bigtable, [4] MariaDB [5] | The most used search engine in the world. |
1,120,000,000 | JavaScript, Typescript, Flow | Hack/HHVM, Python, C++, Java, Erlang, D, [6] Haskell [7] | MariaDB, MySQL, [8] HBase, Cassandra [9] | The most visited social networking site. | |
YouTube | 1,100,000,000 | JavaScript, TypeScript | Python, C, C++, Java, [10] Go [11] | Vitess, BigTable, MariaDB [5] | The most popular video sharing site. |
Yahoo | 750,000,000 | JavaScript | PHP | PostgreSQL, HBase, Cassandra, MongoDB, [12] | |
Etsy | 516,000,000 (Total, not unique) [13] | JavaScript | PHP [14] [15] | MySQL, Redis [16] | E-commerce website. |
Amazon | 2,400,000,000 [17] | JavaScript | Java, C++, Perl [18] | DynamoDB, RDS/Aurora, Redshift [19] | The most used e-commerce site in the world. |
Wikipedia | 475,000,000 | JavaScript | PHP | MariaDB [20] | A free online encyclopedia based on MediaWiki, which is programmed in PHP. |
Fandom | 315,000,000 [21] | JavaScript | PHP | MySQL | Wiki hosting service. |
X | 290,000,000 | JavaScript | C++, Java, [22] Scala, [23] Ruby (Ruby on Rails) | MySQL [24] | 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, [25] JavaScript, [26] Scala [27] | 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. |
260,000,000 | JavaScript | Java, JavaScript, [28] Scala | Venice [29] [30] | World's largest professional network. | |
250,000,000 | JavaScript | Python (Django), [31] Erlang, Elixir [32] | MySQL, Redis [33] | Search engine for ideas. | |
WordPress.com | 240,000,000 [34] | JavaScript | PHP [35] | MariaDB [36] | Website manager software. |
Netflix | 223.090.000 (Subscribers, not visitors) | JavaScript | Python, Java [37] | NMDB, [38] PostgreSQL | The biggest video streaming service in the world. |
*data on programming languages is based on:
Websites | C# | C | C++ | D | Elixir | Erlang | Go | Hack | Haskell | Java | JavaScript | Perl | PHP | Python | Ruby | Scala |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
No | Yes | Yes | No | No | No | Yes | No | No | Yes | Yes | No | No | Yes | No | No | |
YouTube | No | Yes | Yes | No | No | No | Yes | No | No | Yes | No | No | No | Yes | No | No |
No | No | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | No | No | |
Yahoo | No | Yes | Yes | No | No | No | Yes | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
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 |
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 |
No | No | No | No | No | No | No | No | No | Yes | Yes | No | No | No | No | Yes | |
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 | Yes | No | No | No | No | Yes | No | No | Yes | No | No | No | Yes | No | No |
Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities that are typically not available in traditional compiled languages.
MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database organizes data into one or more data tables in which data may be related to each other; these relations help structure the data. SQL is a language that programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer's storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.
Oracle Corporation is an American multinational computer technology company headquartered in Austin, Texas, United States. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells database software and cloud computing. Oracle's core application software is a suite of enterprise software products, such as enterprise resource planning (ERP) software, human capital management (HCM) software, customer relationship management (CRM) software, enterprise performance management (EPM) software, Customer Experience Commerce(CX Commerce) and supply chain management (SCM) software.
PostgreSQL, also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transactions with atomicity, consistency, isolation, durability (ACID) properties, automatically updatable views, materialized views, triggers, foreign keys, and stored procedures. It is supported on all major operating systems, including Linux, FreeBSD, OpenBSD, macOS, and Windows, and handles a range of workloads from single machines to data warehouses or web services with many concurrent users.
Memcached is a general-purpose distributed memory-caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source must be read. Memcached is free and open-source software, licensed under the Revised BSD license. Memcached runs on Unix-like operating systems and on Microsoft Windows. It depends on the libevent library.
IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development.
Cascading is a software abstraction layer for Apache Hadoop and Apache Flink. Cascading is used to create and execute complex data processing workflows on a Hadoop cluster using any JVM-based language, hiding the underlying complexity of MapReduce jobs. It is open source and available under the Apache License. Commercial support is available from Driven, Inc.
In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on top of" the resulting platform.
Django is a free and open-source, Python-based web framework that runs on a web server. It follows the model–template–views (MTV) architectural pattern. It is maintained by the Django Software Foundation (DSF), an independent organization established in the US as a 501(c)(3) non-profit.
HBase is an open-source non-relational distributed database modeled after Google's Bigtable and written in Java. It is developed as part of Apache Software Foundation's Apache Hadoop project and runs on top of HDFS or Alluxio, providing Bigtable-like capabilities for Hadoop. That is, it provides a fault-tolerant way of storing large quantities of sparse data.
Clojure is a dynamic and functional dialect of the Lisp programming language on the Java platform.
Google App Engine is a cloud computing platform as a service for developing and hosting web applications in Google-managed data centers. Applications are sandboxed and run across multiple servers. App Engine offers automatic scaling for web applications—as the number of requests increases for an application, App Engine automatically allocates more resources for the web application to handle the additional demand.
Redis is an open-source in-memory storage, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. Because it holds all data in memory and because of its design, Redis offers low-latency reads and writes, making it particularly suitable for use cases that require a cache. Redis is the most popular NoSQL database, and one of the most popular databases overall. Redis is used in companies like Twitter, Airbnb, Tinder, Yahoo, Adobe, Hulu, Amazon and OpenAI.
Snake case is the naming convention in which each space is replaced with an underscore (_) character, and words are written in lowercase. It is a commonly used naming convention in computing, for example for variable and subroutine names, and for filenames. One study has found that readers can recognize snake case values more quickly than camel case. However, "subjects were trained mainly in the underscore style", so the possibility of bias cannot be eliminated.
Julia is a high-level, general-purpose dynamic programming language, most commonly used for numerical analysis and computational science. Distinctive aspects of Julia's design include a type system with parametric polymorphism and the use of multiple dispatch as a core programming paradigm, efficient garbage collection, and a just-in-time (JIT) compiler.
GraalVM is a Java Development Kit (JDK) written in Java. The open-source distribution of GraalVM is based on OpenJDK, and the enterprise distribution is based on Oracle JDK. As well as just-in-time (JIT) compilation, GraalVM can compile a Java application ahead of time. This allows for faster initialization, greater runtime performance, and decreased resource consumption, but the resulting executable can only run on the platform it was compiled for. It provides additional programming languages and execution modes. The first production-ready release, GraalVM 19.0, was distributed in May 2019. The most recent release is GraalVM for JDK 21, made available in September 2023.
Presto is a distributed query engine for big data using the SQL query language. Its architecture allows users to query data sources such as Hadoop, Cassandra, Kafka, AWS S3, Alluxio, MySQL, MongoDB and Teradata, and allows use of multiple data sources within a query. Presto is community-driven open-source software released under the Apache License.
RocksDB is a high performance embedded database for key-value data. It is a fork of Google's LevelDB optimized to exploit multi-core processors (CPUs), and make efficient use of fast storage, such as solid-state drives (SSD), for input/output (I/O) bound workloads. It is based on a log-structured merge-tree data structure. It is written in C++ and provides official language bindings for C++, C, and Java. Many third-party language bindings exist. RocksDB is free and open-source software, released originally under a BSD 3-clause license. However, in July 2017 the project was migrated to a dual license of both Apache 2.0 and GPLv2 license. This change helped its adoption in Apache Software Foundation's projects after blacklist of the previous BSD+Patents license clause.