¿Cuál es el mejor lenguaje de programación para cliente y servidor?

En el lado del cliente, no hay más remedio que usar JavaScript. Sin embargo, JS es un lenguaje muy bueno para la programación y es divertido hacer mucha manipulación de DOM.

En el lado del servidor, la elección es tuya! Si dominó JavaScript, también está disponible en el lado del servidor. Con Node.js, puede programar en el lado del servidor usando JavaScript. La mayor desventaja de NodeJS es que no está disponible en servidores de alojamiento compartido como en la actualidad.

No hay un mejor lenguaje disponible para programar para cada necesidad. Cada idioma tiene un propósito específico, por ejemplo, el lenguaje de programación R se usa específicamente para los cálculos estadísticos y, por lo tanto, para los gráficos. Fortran se utiliza para cálculos matemáticos. Así que puedes usar R para estadísticas o Fortran para matemáticas o ambas al mismo tiempo. Para eso, tiene que identificar su necesidad y dominio para el que está implementando su aplicación. Si quieres una aplicación rápida y sucia, ve a PHP. Aunque puedes crear una aplicación web muy decente y vasta usando PHP. Todo depende de sus habilidades de programación, conocimiento de algoritmos y estructuras de datos, programaciones lógicas, etc.

El universo de los lenguajes de programación es amplio y saberlo todo o aprender cada uno de ellos no es práctico ni posible.

Permítanme explicarles brevemente sobre la programación cliente-servidor:

| Lado del servidor

La programación del lado del servidor se puede explicar como:

Es el nombre general del tipo de programa que se ejecuta directamente en el servidor.

O podemos decir que la programación del lado del servidor debe lidiar con el contenido dinámico. Se ejecuta en el servidor. La mayoría de las páginas web no son estáticas, ya que tratan con búsquedas en bases de datos.

| Lado del cliente

De manera similar a la programación del lado del servidor, la programación del lado del cliente también es el nombre del programa completo que se ejecuta en el cliente.

O podemos decir que la programación del lado del cliente se ocupa principalmente de la interfaz de usuario con la que el usuario interactúa en la web. Es principalmente un navegador, en la máquina del usuario, que ejecuta el código y se realiza principalmente en cualquier lenguaje de scripting como JavaScript (o podemos usar Flash en lugar de JavaScript o VNScript).

La lista de los 15 lenguajes de programación principales de este año se presenta a continuación, y está claro que JavaScript es el más popular seguido de cerca por Java, Python y otros.

Aquí está la lista de los lenguajes de programación cliente-servidor que elegiría:

  1. JavaScript
  2. Java
  3. Pitón
  4. CSS
  5. PHP
  6. Rubí
  7. C ++
  8. do
  9. Cáscara
  10. DO#
  11. C objetivo
  12. R
  13. VimL
  14. Ir
  15. Perl

Esta es una pregunta que tiene cientos de respuestas, pero en general, prefiero el inglés para cualquier parte del lado del servidor y del cliente, debe ser el idioma que el usuario prefiere, pero con el inglés como predeterminado. 🙂

Ahora, el código del lado del servidor debe ser capaz de manejar una gran cantidad de solicitudes. El servidor generalmente es solo un sistema que puede necesitar comunicarse con miles de clientes simultáneamente. O tal vez 5 por día, dependiendo del tipo de sitio / sistema que sea.

Por lo tanto, la elección en el servidor se basa principalmente en los requisitos de velocidad y rendimiento. Con PHP o ASPX / C # ya puede mantener a cientos de personas felices con un solo servidor. Agregue más servidores y balanceo de carga y podrá administrar una gran cantidad de visitantes. Si necesita un mejor rendimiento, en última instancia, tendría que comenzar a escribir código en C ++. De lo contrario, hay bastantes buenas alternativas. También puede usar Python o Delphi o uno de los muchos otros lenguajes de programación disponibles, si el rendimiento no es un gran muerto. Incluso debería ser posible escribir el código del servidor en Brainfuck, si estás dispuesto a hacerlo realmente difícil para ti. (Esto funcionará porque Brainfuck lee y escribe en una consola y un software de servidor web como IIS puede usar tales aplicaciones usando técnicas CGI. O: mod_bsp – Brainfuck Server Pages)

El lado del cliente depende del tipo de cliente que utilizará. Si el cliente es una página web, sus opciones están limitadas a HTML y Javascript. Si es un dispositivo móvil, entonces sería Objective-C / Swift / XCode para dispositivos iOS y Java / C ++ para dispositivos Android, aunque, de nuevo, hay muchas otras opciones. (Xamarin, RemObjects Oxygene) Y si su cliente es solo una PC, sea cual sea su idioma favorito para el desarrollo de computadoras, siempre y cuando pueda comunicarse con los servicios web. (U otras técnicas basadas en red como TCP / IP sin formato, DCOM / COM +, canalizaciones con nombre).

Y, de nuevo, en el cliente depende del rendimiento, pero también de la capacidad de crear una buena interfaz de usuario. Algo así como Brainfuck para aplicaciones cliente no funcionará bien, porque todo lo que el usuario tiene es una consola. Pero C # con Silverlight haría algunas buenas aplicaciones. O Embarcadero Delphi. Incluso C ++ sería una buena opción, aunque un poco desafiante. Incluso puede crear un cliente Java, aunque Java se usa más para las soluciones del lado del servidor.

En resumen, las opciones son ilimitadas. Elija las herramientas que mejor se adapten a sus necesidades. No importa qué herramienta utilice siempre que pueda proporcionar una solución de trabajo. ¿Crees que a un carpintero le importa qué herramientas usa para construir una silla o un armario? No, porque si es necesario, ¡simplemente improvisará para hacer el trabajo!

Los lenguajes de programación son solo herramientas. Si quieres convertirte en un buen desarrollador, no te concentres en las herramientas, ¡enfócate en hacer las mejores soluciones!

JavaScript / nodo es probablemente la mejor opción para esto. Puede hacerlo php si es la línea de comandos, pero aún tendrá que usar Ajax para que sea transparente para el desarrollo web.