¿Es posible hacer desarrollo web en C?

En primer lugar, debe comprender qué es un servidor web. Espera un minuto, creo que debería hablar sobre el servidor web antes de darte una respuesta. En términos simples, un servidor web solo sirve las páginas solicitadas al cliente. Claro que puede escribir un servidor web en C, hay muchos escritos que lo usan, por ejemplo Apache, lighttpd y nginx, por nombrar algunos. Están escritos principalmente en C porque el código C bien escrito puede brindarle un rendimiento muy bueno en comparación con lenguajes como Python y Java.


Pero el marco de aplicaciones web en estos días usa algún tipo de lenguaje orientado a objetos de alto nivel porque hace que sea fácil escribirlos en menos líneas de código que C. La web siempre está evolucionando rápidamente y la transición del backend de su sitio web escrito en C puede ser un desastre gigantesco para tratar incluso si desea hacer un pequeño cambio.

Además, hay muchos otros obstáculos por los que tienes que pasar. Por ejemplo, una ruta en su sitio web puede ser algo así como /blog/page.php?id=3 , ahora procesar esta ruta puede ser difícil de hacer en C porque tiene que hacer un trabajo pesado como analizar la consulta get, conectarse al base de datos y obtener la página solicitada y finalmente enviarla al cliente. Una cosa más que puede ser difícil es crear un sistema de plantillas en C. Hay muchos más de estos problemas aparentemente fáciles que cuando se escriben en C pueden resultar en un desorden difícil de mantener.

El código de nivel superior es más fácil de mantener a largo plazo. Por lo tanto, puede vincular su aplicación escrita en PHP o Ruby o Java o Python o JavaScript, incluso hasta Perl a un servidor web escrito en C o C ++. Este es un tipo típico de abstracción utilizada en muchos campos diferentes en el mundo de la programación de computadoras. Necesitamos abstracciones porque nos hacen la vida más fácil. Es cierto que muchas veces las abstracciones hacen que su programa sea lento debido a los niveles de indirección utilizados, pero vale la pena porque termina escribiendo líneas más manejables y con menos líneas de código.

Además, el código escrito en lenguajes de nivel superior es más portátil en comparación con el lenguaje escrito de bajo nivel como C. Por ejemplo, una de las principales razones por las que se creó Java fue para permitir la escritura de código portátil que funciona independientemente de la arquitectura o el sistema operativo, y las personas escriben aplicaciones web backend usando frameworks web Java.

Con eso en mente, ¿escribirías una aplicación web en ensamblador?

TL; DR: Claro que puedes escribir sitios web usando C, pero terminarás poniendo mucho más esfuerzo del que necesitas en comparación con el uso de un lenguaje de nivel superior.

Back end, sí, sin duda.

Front end, no, no realmente, no hasta que WebAssembly sea realmente viable.

Aquí hay un código de muestra para comenzar.
CSS en CGI con C

Sí, técnicamente puedes hacer desarrollo web en cualquier idioma. Incluso hay algunos marcos que puedes usar, como Onion.

Sin embargo, solo harías tu vida más difícil.

More Interesting

¿Qué técnicas usa Codeacademy para editar e imprimir la salida de un código?

Cómo desarrollar una aplicación web con AngularJS, Django o SQL

¿Por qué los sitios populares no usan servidores web (como GoDaddy)? ¿Debo usar un servidor web que me proporcione un creador web para una startup?

¿Cuáles son las ventajas y desventajas del proceso de impresión web?

¿JSON eliminará XML de la imagen? ¿O las dos alternativas están destinadas a quedarse?

¿Cuál es el mejor método para crear aplicaciones web basadas en Python, web2py o Django?

¿Cómo puedo registrar acciones (clics, etc.) que los usuarios realizan en una aplicación web AJAX?

¿Qué compañía ofrece el mejor desarrollo de aplicaciones web Java en Bangalore?

Web Marketing: ¿Qué necesito para llevar mi aplicación web al siguiente nivel?

¿Cuáles son las tecnologías y los idiomas con los que uno debería estar familiarizado para crear una aplicación web que interactúe con una base de datos?

Estoy tratando de construir una aplicación web y móvil de estilo periscopio. ¿Qué marco es el más adecuado para la tarea: Ruby on Rails o Meteor.js?

Como desarrollador, estoy abrumado por la cantidad de aplicaciones que mi empresa espera que cree y mantenga, ¿cuántas aplicaciones espera la mayoría de las empresas que sus empleados mantengan simultáneamente?

¿Cuál es la diferencia entre el servidor web y la aplicación web?

¿Qué es el desarrollo de aplicaciones web receptivas y por qué es bueno para una startup?

¿Qué tipo de aplicaciones web simples y completas pueden construir un principiante en PHP para mejorar sus habilidades?