La mejor respuesta
Honestamente, si está buscando hacer scripts del lado del servidor de nivel medio / simple, entonces debería opte por PhP. Es uno de los mejores scripts de servidor que existen, ¡sin duda alguna! ¡Es el idioma del lado del servidor más popular de todos los tiempos!
Si está buscando manejar cargas inmensas como Facebook o Google, entonces debería buscar en Python Scripting. O incluso usando la programación en C en el lado del servidor.
Aquí hay un resumen de los lenguajes del lado del servidor comúnmente usados
CGI / Perl
Perl ha existido por más tiempo que la propia World Wide Web. La versión 1 fue lanzada el 18 de diciembre de 1987, ¡una década completa antes de que se concibieran los otros idiomas cubiertos en este artículo! Si es nuevo en este tema, probablemente se estará preguntando cómo podría haber existido un lenguaje de desarrollo web del lado del servidor antes de la propia Web. Verá, Perl no fue creado como un lenguaje de desarrollo web. Perl es, de hecho, un lenguaje de programación multipropósito que fue diseñado para manejar tareas que involucran mucha manipulación de texto. Perl es muy bueno para hacer malabarismos con textos de varias fuentes y combinarlos para formar documentos completos, que es exactamente lo que implica el desarrollo web del lado del servidor. En la década y media desde su creación, Perl se ha expandido por medio de módulos , piezas de funcionalidades a veces complejas que se pueden conectar al lenguaje para adaptarse para diversos fines especializados. Uno de esos propósitos es la creación de contenido web dinámico a través de Common Gateway Interface (CGI) compatible con la gran mayoría de servidores web. CGI es un medio estándar por el cual el software del servidor web puede transferir la solicitud de un navegador de una página web a cualquier programa. A decir verdad, los programas CGI pueden estar (y han sido, en ocasiones) escritos en C / C ++ si es necesario. Sin embargo, con su cómodo manejo de texto, Perl siempre se ha adaptado mejor al trabajo, y ahora que Perl viene con el módulo CGI.pm integrado, la mayoría de los detalles esenciales del manejo de cosas como envíos de formularios HTML se manejan por usted. Como beneficio final, se fundó la Red integral de archivos de Perl (CPAN) para proporcionar una fuente centralizada de módulos complementarios, scripts de muestra y, en algunos casos, aplicaciones web desarrolladas. Hoy en día, las versiones de Perl están disponibles de forma gratuita en todos los sistemas operativos principales (desde Windows convencional hasta la variante Unix más desconocida), y si desea que sea algo complicado, es probable que alguien ya haya escrito un módulo para facilitar su trabajo. . El único inconveniente de este lenguaje es que, dado que no fue creado específicamente para el desarrollo web, no se ha optimizado ni para la velocidad, la escalabilidad ni la facilidad de uso en una configuración de servidor web. Hay lenguajes mucho más fáciles de aprender que pueden hacer lo mismo en el campo del desarrollo web, pero Perl también le permitirá hacer mucho más que desarrollo web si lo necesita. Ventajas:
- Un lenguaje maduro con más de una década de historia, es menos probable que te encuentres con errores en Perl que en cualquier otro idioma del lado del servidor.
- Es GRATUITO, aunque un buen libro que le muestre las cosas puede hacer que retroceda un poco.
- La mayoría de los buenos servidores web admiten Perl, por lo que probablemente no tendrá que pagar más por el alojamiento.
- Una vasta red de desarrolladores de Perl dedicados en todo el mundo están a su disposición. No solo responderán sus preguntas en innumerables grupos de discusión y listas de correo de Perl, sino que el archivo de CPAN (entre otros) le dará muchos ejemplos para trabajar.
Inconvenientes:
- Aunque existen algunas opciones para mejorar la situación, Perl no escala especialmente bien en servidores ocupados. Si está buscando crear una aplicación web que pueda generar muchas visitas en un corto espacio de tiempo, es posible que desee buscar en otra parte.
- Perl es conocido por tener cinco formas diferentes de hacer incluso lo más simple, que puede dificultar el aprendizaje del trabajo de otros si no usaron el mismo método que usted está acostumbrado a ver. Además, los desarrolladores de Perl son conocidos por encontrar la forma más corta de escribir un programa determinado, por lo que es posible que se sorprenda al mirar un script de muestra solo para descubrir que se ha escrito un script de carrito de compras de comercio electrónico completo en tres líneas de código, la mayoría de las cuales es garabatos y barras invertidas.
- Perl está optimizado para la plataforma Unix en la que se creó, por lo que si espera trabajar en un servidor Windows, es probable que tenga mejores opciones en cuanto al rendimiento.
- Perl es un software de código abierto, lo que significa que no hay soporte formal para él.A pesar de la gran comunidad de soporte disponible para usted, si algo sale mal, la única persona con la que realmente puede contar es usted mismo.
Target Developer : La mayoría de los desarrolladores web que todavía trabajan con Perl en la actualidad tienden a ser administradores y usuarios de Unix que también ponen a Perl a trabajar en otras áreas de su sistema. Para personas como estas, Perl es una herramienta reconfortante de «ir a cualquier parte, hacer cualquier cosa» en la que siempre se puede confiar. Si eres un desarrollador sin experiencia que se enfrenta a la tarea de mantener un sitio que fue escrito originalmente en Perl, entonces toma un par de buenos libros y prepárate para agregar un herramienta verdaderamente poderosa para su arsenal.
ASP
Antes de seguir adelante, dejemos algo fuera del camino para los puristas. Microsoft Active Server Pages (ASP) es no un idioma. Más bien, ASP es un marco que le permite combinar uno de varios lenguajes de secuencias de comandos (VBScript y JavaScript son las opciones más populares) con un conjunto expandible de componentes de software. . Estos componentes son tratados como objetos por el lenguaje de programación de su elección cuando se usa como parte del marco ASP. En esencia, el poder de ASP radica en su capacidad para combinar lenguajes de secuencias de comandos relativamente simples como VBScript y JavaScript con potentes componentes de software que normalmente utilizan los desarrolladores de C / C ++. Bien, ese es el argumento de venta de Microsoft fuera del camino. Ahora enfrentemos los hechos: para todos los propósitos prácticos, ASP también podría ser un lenguaje. Simplemente puede elegir entre escribir ASP de VBScript o ASP de JavaScript. Dado que la mayor parte del código de muestra está escrito en VBScript, su elección está hecha por usted. Por lo tanto, ASP generalmente se considera un lenguaje para desarrollar sitios web dinámicos usando VBScript, y bajo ese paraguas sobresale. ASP es fácil de aprender, lo suficientemente potente para la mayoría del desarrollo web convencional del lado del servidor y bastante bueno en cuanto a rendimiento. ASP está estrechamente vinculado al sistema operativo Windows (la mayoría de los componentes de software en los que se basa ASP para su funcionalidad son específicos de Windows) y el software del servidor Web de Microsoft Internet Information Services. Por estas razones, no es práctico ni deseable ejecutar un sitio web basado en ASP en cualquier cosa que no sea un servidor basado en Windows. Si está configurando su propio servidor web, eso significa que debe invertir en una copia de Windows 2000 Server (aunque gran parte de ASP se ejecuta en Windows 2000 Professional, IIS no es tan escalable en esa plataforma). Si está pagando por alojamiento web, significa pagar por un servidor basado en Windows, que suele ser más caro. De cualquier forma que se mire, ASP le costará dinero para ejecutarlo. Hay versiones de ASP que pueden ejecutarse en un servidor Apache que se ejecuta en Linux, pero a menos que su objetivo específico sea mover un sitio web ASP existente a un Servidor Linux, no tiene mucho sentido. Otra preocupación para los desarrolladores de ASP es la naturaleza relativamente limitada de los componentes que vienen incluidos con ASP. Si todo lo que necesita para su aplicación es conectividad de base de datos, un motor de búsqueda, servicios de manejo de correo electrónico, procesamiento básico de formularios y seguimiento de sesiones, entonces ASP se adaptará a sus necesidades. Sin embargo, cualquier funcionalidad menos común requerirá que instale componentes de software adicionales en su servidor. Hay muchas compañías que producen componentes para usar con ASP que generan archivos PDF, interactúan con servidores FTP, manejan cargas de archivos binarios y muchas otras cosas. Desafortunadamente, estos componentes, como ASP, tienden a ser soluciones comerciales que le costarán dinero. La ventaja de todo esto es que ASP es una tecnología muy bien soportada, con todo el respaldo de la comunidad de desarrollo de Microsoft detrás. MSDN , Microsoft Development Network ofrece una gran cantidad de artículos técnicos y material de referencia para desarrolladores ASP, y el personal de soporte de Microsoft investigará con gusto cualquier problema que tenga en sus esfuerzos de desarrollo. (por un precio). Si en algún momento necesita absolutamente una respuesta a una pregunta, puede estar seguro de que habrá alguien allí cuyo trabajo es darle la respuesta. Ventajas:
- Bastante fácil de aprender, aunque se requiere programación.
- Integrado en Windows 2000 Server – sin problemas de instalación.
- Soporte profesional disponible.
Inconvenientes:
- No es gratis (a menos que ya esté utilizando un servidor de Windows)
- La funcionalidad especializada puede requerir que compre componentes comerciales o los desarrolle usted mismo en C / C ++ o Visual Basic.
- Si está acostumbrado a la sintaxis de estilo C (compartida por C / C ++, Java, Perl, PHP, etc.), es posible que le resulte difícil entender las idiosincrasias de VBScript.
Desarrollador de destino: Si ha realizado algún desarrollo con VBScript o Visual Basic, o ha desarrollado objetos COM en Windows antes, esta es definitivamente la plataforma de desarrollo web para usted. Además, ASP es tan amigable para los no programadores como puede serlo un lenguaje de programación (pero si realmente odias la programación, echa un vistazo a Cold Fusion, a continuación). Si se siente cómodo comprometiéndose con Windows para su plataforma de servidor web y puede pagar los costos involucrados, o si la empresa para la que trabaja simplemente exige el nivel de soporte que Microsoft puede brindar, entonces ASP es una gran tecnología para aprender. Cold Fusion Para el diseñador web que nunca antes ha escrito un programa, la elección de la plataforma de desarrollo web del lado del servidor puede ser temida. Sea cual sea el camino que elija, se enfrentará a un gran y malvado lenguaje de programación que aprender y le comenzará a doler la cabeza … Creado originalmente por Allaire en 1995 y recientemente comprado por Macromedia , Cold Fusion fue diseñado para ser diferente. En lugar de un lenguaje de secuencias de comandos, Cold Fusion le ofrece un conjunto de etiquetas para aprender. Sí, etiquetas, al igual que las etiquetas HTML que conoce y ama. Tomemos el ejemplo de la publicación de información almacenada en una base de datos en la Web. Con la gran mayoría de los lenguajes del lado del servidor, debe agregar código a su Página web para salir del modo HTML, conectarse a la base de datos, solicitar las entradas de la base de datos que desea mostrar y procesar los resultados que la base de datos le envía para mostrarlos como parte de la página web. En Cold Fusion, esto La tarea común se realiza con dos etiquetas: una etiqueta
- Extremadamente fácil de aprender, ¡no se requiere programación!
- Potente y muy escalable (la última versión tiene soporte para agrupación de servidores basada en software y hardware).
- Soporte profesional de Macromedia.
- Multiplataforma.
Inconvenientes:
- Costoso de configurar Configure su propio servidor: Cold Fusion Server Professional 5.0 cuesta $ 1,295
- Es posible que a los programadores no les gusten los métodos de desarrollo basados en etiquetas.
Target Developer: diseñadores web que se sienten cómodos con HTML pero necesitan agregar habilidades del lado del servidor a su repertorio sin tener que aprender un lenguaje de programación. Desde el punto de vista del desarrollador promedio, aprender Cold Fusion es como aprender algunas etiquetas nuevas. También es probable que los no diseñadores se familiaricen con la pulcritud de la programación del lado del servidor con etiquetas, por lo que si está cansado de depurar sus scripts del lado del servidor, ¡vale la pena echarle un vistazo a Cold Fusion!
PHP
PHP, relativamente nuevo en el campo del desarrollo del lado del servidor, ha ganado un gran número de seguidores entre los programadores con su sintaxis familiar y biblioteca de funciones completa. Además, su sintaxis relativamente simple y su bajo precio (¡es gratis!) Lo han convertido en una alternativa atractiva al ASP de Microsoft para los nuevos desarrolladores. PHP ha sido apodado por algunos como el «asesino de Perl» del mundo de las secuencias de comandos del lado del servidor. Para fines de desarrollo web, PHP puede hacer casi todo lo que puede hacer Perl y, por lo general, lo hace de forma más rápida y sencilla. A diferencia de Perl, que generalmente se ejecuta como un programa CGI invocado por el servidor web para manejar cada solicitud de página, PHP puede integrarse con su servidor web para que funcione de manera mucho más eficiente.PHP es un lenguaje extremadamente capaz, con una amplia gama de funciones integradas para hacer de todo, desde rastrear sesiones de usuario hasta generar gráficos dinámicos e incluso archivos PDF sobre la marcha. Sin módulos que instalar, sin complementos comerciales que comprar… ¡PHP maneja todo por sí mismo! De hecho, casi la única debilidad de PHP es que es relativamente difícil expandir el lenguaje para agregar funcionalidad no estándar que no es manejada por sus funciones integradas. Hacer esto requiere un conocimiento de la programación C / C ++ y no es para los débiles de corazón. Afortunadamente, tendría que crear una aplicación web muy esotérica para requerir una funcionalidad que aún no está integrada en PHP. PHP es un software gratuito, multiplataforma y de código abierto. Se integra con todos los principales servidores web en todos los principales sistemas operativos. Esta es una gran ayuda para los desarrolladores con un presupuesto limitado, porque pueden configurar un servidor web completo basado en Linux con soporte PHP y no pagar un centavo por el software. La desventaja de esto, por supuesto, es que no hay soporte formal para cualquier problema que pueda encontrar con PHP. Además, dado que PHP es una tecnología tan nueva y desarrollada activamente, todavía se encuentran errores ocasionales en las últimas versiones. Sin embargo, no dejes que estas molestias te desanimen: PHP tiene una comunidad de usuarios extremadamente activa (un gran segmento de los cuales se puede encontrar en nuestros propios foros de SitePoint !) que siempre está dispuesto a ayudarlo con cualquier obstáculo, y las versiones actuales de PHP son bastante estables y confiables. Ventajas:
- Bastante fácil de aprender, especialmente para desarrolladores con experiencia en C / C ++, Java o Perl.
- Comunidad de usuarios activa dispuesta a ayudarlo para comenzar.
- Todo está integrado en el idioma.
- ¡Es gratis!
- Multiplataforma .
Inconvenientes:
- Este lenguaje fue diseñado para ser amigable para programadores, lo que, lamentablemente, lo hace un poco menos amigable para los no programadores.
Desarrollador objetivo: Desarrolladores web con un presupuesto limitado que disfrutan programación simple (por ejemplo, JavaScript), o no le importe aprender cómo. PHP le brinda una gran potencia con una estructura de código relativamente simple, pero puede que no sea adecuado para aplicaciones de muy alto nivel que no son compatibles con las funciones integradas de PHP.
Java
Java es posiblemente la plataforma más poderosa para el desarrollo web del lado del servidor en la actualidad. Desde pequeños programas Java (Servlets) que manejan solicitudes de páginas web hasta JavaServer Pages (JSP) que combinan HTML con etiquetas personalizadas y código Java, e incluso hasta Enterprise JavaBeans (EJB), componentes de software con capacidades sofisticadas para transportar información sin problemas a través de servidores y redes para acomodar aplicaciones distribuidas, Java es realmente una tecnología de moda. Un desarrollador web de Java experimentado puede obtener fácilmente salarios superiores a los 100.000 dólares estadounidenses al año. Como era de esperar, hay una razón para ello: ¡Java no es fácil de aprender! A diferencia de los lenguajes de scripting como Perl, ASP y PHP, Java es un lenguaje de programación completo y totalmente capaz de escribir grandes programas. Alguien con un poco de experiencia en programación podría esperar adquirir un conocimiento práctico del lenguaje Java en un mes o dos con la ayuda de un buen libro, y en otro mes probablemente podría aprender los conceptos básicos de la programación simple del lado del servidor. con Java. Ahora, si está interesado en hacer una carrera en la programación del lado del servidor, entonces puede que no parezca mucho, pero si solo desea que algo funcione rápidamente, un lenguaje más simple como PHP puede tenerlo en funcionamiento en una semana o ¡Menos! Java es conocido por su filosofía Write One, Run Anywhere (WORA) y, de hecho, Java se puede ejecutar en todos los principales servidores web y en todos los principales sistemas operativos. Las aplicaciones web Java también se pueden agrupar en archivos estándar de archivo de aplicaciones web (.WAR) que luego se pueden instalar en cualquier servidor web habilitado para Java, sin importar la plataforma. Los creadores de Java planearon utilizar este mecanismo para distribuir aplicaciones web comerciales para su uso en servidores web Java; sin embargo, en mi experiencia, las aplicaciones Web Java tienden a ser soluciones personalizadas para problemas complejos, en lugar de soluciones vendibles que se pueden comprar en línea. Muchos proveedores diferentes producen los complementos que permiten que los servidores web como Apache e IIS ejecuten aplicaciones web Java, y aunque la mayoría de ellos son gratuitos para uso personal y desarrollo, la mayoría debe pagarse antes de que pueda utilizarlos para ofrecer servicios comerciales. Sitio web. Ventajas:
- Extremadamente potente y escalable.
- Multiplataforma.
- La mayoría de los complementos del servidor Java son gratuitos para fines personales y de desarrollo.
Inconvenientes:
- Java requiere mucho trabajo para aprender.Ni siquiera empiece si no se toma en serio el aprendizaje de la programación orientada a objetos.
- La mayoría de los complementos de servidor Java deben ser pagados si se van a utilizar para alojar un sitio web comercial.
- / ul>
Desarrollador objetivo: Desarrolladores serios que quieren lo último en potencia, flexibilidad y escalabilidad para sus aplicaciones web, y no les importa pagar por ello en sudor, lágrimas y tiempo de desarrollo. Resumen En este artículo, analizamos las características relativas, los beneficios y las desventajas de todas las principales opciones de desarrollo del lado del servidor disponibles en la actualidad:
- Perl : un lenguaje maduro y multiplataforma que puede ser difícil de entender
- ASP : el poderoso marco de Microsoft basado en Windows
- Cold Fusion : una poderosa opción basada en etiquetas para no programadores
- PHP : una alternativa multiplataforma de código abierto con muchas funciones integradas
- Java : lo último en potencia y flexibilidad, para programadores serios
Saludos
Respuesta
PHP es solo un lenguaje de programación del lado del servidor. Se puede utilizar cualquier lenguaje de programación como alternativa siempre que haya un software de servidor disponible que lo admita. Puede utilizar Python para Django, JavaScript para Node.JS, ASP .Net para IIS, Java para Tomcat, Php para Apache y muchos más. Todavía no lo he usado.
Mi favorito personal es ASP .net MVC, porque puedo usar el poderoso Visual Studio para codificar y puedo usar C #. No me gusta php solo porque no tiene un IDE muy bueno (probablemente nunca tuve uno) tan poderoso como Visual Studio y, en su mayor parte, php sigue siendo de procedimiento. He codificado en lenguajes orientados a objetos en la mayor parte de mi carrera y escribir guiones en uno de procedimientos me parece demasiado arcaico. Incluso odio a JS por eso, pero al menos jQuery está ahí para resolver la mayoría de mis problemas.
Es sólo mi sensación que php carece de la estructura necesaria para un proyecto grande. Sí, lo sé facebook usa php, pero está muy personalizado y tienen ingenieros talentosos para crear su propio marco e IDE. Incluso he probado marcos como CodeIgniter y CakePHP. Aunque ciertamente son mejores que escribir código php sin formato, no pueden comparar el lujo de escribir código C #.