¿Se sigue utilizando C para el desarrollo web? De ser así, ¿qué beneficios ofrece?

C todavía se usa para el desarrollo web, pero no necesariamente de la manera que uno podría esperar. El beneficio clave de usar un lenguaje interpretado es que le permite iterar muy rápido, y también codificar y pensar a un alto nivel.

Para muchos codepaths no críticos, está bien tener cierto nivel de ineficiencia al no tener código nativo.

Por ejemplo, en Zynga usamos múltiples extensiones PHP nativas para algunas de las rutas críticas de nuestro código, pero usamos PHP vainilla para la mayoría del código de nuestro servidor con fines de desarrollo iterativo.

Como mencionan algunas de las otras respuestas, muchos servicios fuera de servicio, como equilibradores de carga, enrutadores, servidores web utilizados por CDN, etc., dependen indirectamente del desarrollo web.

Otros enfoques, por ejemplo, usan la transformación de código como HipHop o una ejecución JIT como parte de la VM V8 en Node.js

En pocas palabras, el código nativo está vivo y bien en algunos de los lugares donde se necesita, es solo que las partes de mayor valor agregado para el producto en el que trabaja a menudo no son los lugares donde necesita esa velocidad y cambiarlo Para un desarrollo más rápido es una opción muy superior.

Nginx es el segundo servidor web más utilizado y está escrito en C. Hay otros servidores de caché, servidores web, equilibradores de carga que están escritos en C. Entonces sí, de esa manera, C todavía se usa para el desarrollo web.
Por supuesto, la mayor parte del desarrollo web se realiza en otros lenguajes como Java, Php, Python, Ruby, etc.
Pero para una aplicación web normal, el uso de C podría no hacer ninguna diferencia en la escala o el rendimiento. Las aplicaciones web pasan la mayor parte de su tiempo haciendo las siguientes cosas:

  1. Obtener y analizar solicitudes
  2. Haciendo consultas a la base de datos (eventualmente leyendo desde el disco o la memoria)
  3. Hacer cálculos basados ​​en los datos recibidos
  4. Hacer llamadas de API externas (en http u otro protocolo)
  5. Crear la respuesta y enviarla de vuelta
  6. Sirviendo contenido estático

De todas las actividades anteriores, puede suponer que un servidor web normal pasará la mayor parte de su tiempo haciendo 2,3,4,5. Si puedes hacer el primero y el sexto en C, difícilmente ganarás mucho mirando el esquema general. Si 2,4,5 consumen mucho tiempo, se tratará de escalar y hacer que sus bases de datos, solicitudes externas sean rápidas / receptivas. Escribirlo en C nuevamente será un poco pequeño porque su cuello de botella es la base de datos o el ancho de banda.
Sin embargo, si su aplicación está haciendo muchos cálculos y está consumiendo mucho tiempo, escribirla en C tendrá ventajas extremas.
Puede usar la API de Python C para integrarlo con Python y de manera similar para todos los demás lenguajes.
Eventualmente, depende mucho de los detalles de su aplicación. Cada vez hay más “partes” de una aplicación escritas en C que puede usar para optimizar su aplicación asegurándose de que la lógica central esté escrita en algo que sea fácil de entender y mantener. Por lo tanto, utiliza una base de datos escrita en C, el sistema de almacenamiento en caché / db en C (redis), el servicio estático con C (nginx), el sistema de colas en C (zeromq), etc. para crear una pila optimizada completa y las otras partes en su idioma preferido .

Tradicionalmente, el escalado en la Web ha dependido del ancho de banda, los recursos del servidor y qué tan bien se usaron ambos, en lugar de la velocidad absoluta de la aplicación real. En un protocolo desconectado, como HTTP, la aplicación no ha hecho nada hasta que los paquetes llegan a su usuario, por lo que no importa cuán rápido se están ensamblando en el otro extremo.

Esto sigue siendo básicamente cierto, pero con la banda ancha ultrarrápida y la computación a gran escala (donde los recursos del servidor se miden por acre), esto se está volviendo menos problemático, por lo que algunas personas en aplicaciones web a gran escala se están moviendo hacia niveles inferiores lenguajes, para mejorar el tiempo de respuesta de la aplicación básica, pero aún así, C sería una opción de pesadilla para una aplicación web sin formato, por las razones que dice Gergely Kalman.