¿Por qué los lenguajes como PHP, Ruby, Python y similares se consideran más rápidos para desarrollar software en comparación con C ++ o Java?

Una razón importante es que muchos de los problemas que deben resolverse son fundamentalmente pequeños. Si la totalidad del trabajo real se puede hacer en una o dos pantallas de código, un lenguaje ideal es aquel que mantiene legible ese código central y le agrega muy poca información.

Prácticamente, una gran cantidad de trabajo se reduce a manejar algo de texto para producir más texto (y tal vez leer / escribir / actualizar una base de datos en alguna parte). Usando PHP y Java como ejemplos, hacer exactamente esas cosas es más fácil en PHP: sabe que normalmente desea imprimir en stdout, por lo que “imprimir” hace eso. Sabe que a menudo desea poner variables en el texto, por lo que es trivial (imprima “Hola, $ nombre”;). Sabe que a menudo necesita variables HTTP (GET, POST, cookies), por lo que es fácil acceder a ellas.

Java puede hacer todas esas cosas, pero está escrito para resolver un conjunto mucho más grande de problemas, por lo que no tiene una salida predeterminada (debe usar, por ejemplo, System.out.println), no tiene ninguna sintaxis especial para variables en cadenas (por lo que usaría String.format o un generador de cadenas), y obtener POST / GET / cookies depende completamente de la biblioteca / marco que esté utilizando.

Hay una compensación de complejidad / flexibilidad entre ellos: PHP hace que las cosas simples sean fáciles y las cosas difíciles más difíciles. Java hace que las cosas simples sean onerosas, pero las cosas difíciles son posibles. Si realmente necesita la capacidad de reutilizar o reemplazar partes del proyecto, o si es lo suficientemente grande como para ser difícil de leer sin una estructuración reflexiva, o si necesita alguna de las muchas cosas útiles e intrincadas que existen en la biblioteca estándar de Java o como tercero, entonces Java es una opción mucho mejor.

Pero si está creando un formulario de registro de “quién viene a la fiesta de Navidad”, escribir e implementar la versión de PHP probablemente tomaría menos tiempo que configurar el marco web para la versión de Java, no importa realmente escribirlo.

Porque son los llamados lenguajes de “scripting” con escritura dinámica. Por lo tanto, permiten que los programas se escriban más rápido ya que no es necesario declarar el tipo de cada nueva variable. Además, el código resultante es mucho más conciso. Pero los programas con secuencias de comandos grandes pueden ser más difíciles para las personas que intentan analizar, probar o aumentar el código fuente existente. Por lo tanto, los programas con secuencias de comandos son preferidos para la creación de prototipos y la demostración, mientras que los lenguajes de tipo estático, como Java, son preferidos para los grandes programas “empresariales”. Por supuesto, hay muchas otras razones (por ejemplo, el tamaño de la biblioteca) por las que se preferirá un idioma determinado. Entonces, otros pueden considerar mi respuesta como una gran simplificación excesiva. Espero aprender de otras respuestas.

Solo porque una línea de código / carácter generalmente hace más en estos lenguajes que el código respectivo en C ++ o Java. Esto no está establecido en piedra porque los marcos y los avances en Java / C # están cambiando la situación. Esto a veces se denomina poder expresivo de un lenguaje dado.

Basándome en mis experiencias recientes, la aplicación web Java Play Framework es mucho más rápida de desarrollar que PHP Laravel Framework. También con lambda en Java y programación en JVM como Scala y Closure puedes ser realmente más rápido que PHP, Ruby, Python.

A veces, por personas más rápidas, significa que el prototipo es más rápido, pero generalmente genera deudas técnicas para el mantenimiento. Perl será un excelente ejemplo de altamente expresivo pero no mantenible en absoluto.

Acabo de tener un proyecto con un plazo corto. Usé PHP para hacerlo a tiempo. La razón principal por la que PHP fue más rápido es porque no tuve que lidiar con una verificación de tipo fuerte y tiene una increíble cantidad de bibliotecas y paquetes disponibles. Un gran dolor de cabeza en Java es tratar con cadenas y funciones de E / S, por ejemplo. Los paquetes Java son complicados con la diferencia entre cadenas, matrices de bytes [], almacenamientos intermedios de cadenas, lectores almacenados en búfer, etc., etc. y un montón de métodos que hacen lo mismo pero aceptan y devuelven diferentes tipos de datos

JavaScript es mucho más rápido porque puede probar el código e inspeccionar el entorno de ejecución del programa para descubrir cómo funcionan realmente las cosas.

Estoy de acuerdo en que Java es mejor para grandes proyectos en general, pero PHP tiene paquetes y clases como Java.

Python es realmente genial porque tiene enlaces para acceder a muchas más cosas que PHP o Java, al igual que un programa C / C ++.

Hay C # (Pure OOPs) que se puede usar para desarrollar aplicaciones para Windows o cualquier otra plataforma. Las aplicaciones de Microsoft (ya sea una interfaz de usuario de Metro o una aplicación de formulario básico) se desarrollan ampliamente con C #.
Es eficiente, rápido y admite .NET Framework.

Más abstracción y código de alto nivel sin entrar en detalles.

Aunque eso hace que estos idiomas sean una mejor opción para un desarrollo más rápido, pero carecen de flexibilidad ya que no codifica esos pequeños bits.

En caso de desarrollo, los lenguajes de programación y los lenguajes de programación tienen algunos aspectos diferentes que importan como:

Tipo de lenguaje de programación que elija (como Procedimiento, No procedimiento, Imperativo, Declarativo, OOP, Visual, 4GL, 5GL, etc.) : cada lenguaje tiene diferentes ventajas y desventajas, relacionadas con el tamaño de su estructura. Mira este ejemplo:

Código fuente de Cobol

000100 DIVISIÓN DE IDENTIFICACIÓN.
000200 ID DE PROGRAMA. HOLA MUNDO.
000300
000400 *
000500 DIVISIÓN DEL MEDIO AMBIENTE.
000600 SECCIÓN DE CONFIGURACIÓN.
000700 COMPUTADORA FUENTE. RM-COBOL.
000800 OBJETO-COMPUTADORA. RM-COBOL.
000900
001000 DIVISIÓN DE DATOS.
001100 SECCIÓN DE ARCHIVO.
001200
100000 DIVISIÓN DE PROCEDIMIENTO.
100100
100200 SECCIÓN DE LÓGICA PRINCIPAL.
100300 COMIENZA.
100400 PANTALLA “” LÍNEA 1 POSICIÓN 1 BORRAR EOS.
100500 PANTALLA “¡Hola, mundo!” LÍNEA 15 POSICIÓN 10.
100600 STOP RUN.
100700 SALIDA-LÓGICA PRINCIPAL.
100800 SALIDA.

Código fuente de Java

clase pública HelloWorld {
public static void main (String [] args) {
System.out.println (“Hola Mundo”);
}
}

Puede ver la diferencia en la estructura de ambos lenguajes de programación, ambos están imprimiendo “¡Hola Mundo!”.

Otro de tu elegido

C ++ VS Python: adición de dos números

Código fuente de C ++

#include

usando el espacio de nombres estándar;

int main ()

{

int a, b, c;

cout << "Ingrese dos números para agregar \ n";

cin >> a >> b;

c = a + b;

cout << "Suma de números ingresados ​​=" << c << endl;
devuelve 0;

}

Código fuente de Python

num1 = input (‘Ingrese el primer número:’)
num2 = input (‘Ingrese el segundo número:’)
sum = float (num1) + float (num2)
print (‘La suma de {0} y {1} es {2}’. formato (num1, num2, suma))

Para leer más, consulte el artículo en Forbes sobre ¿Por qué las personas usan Python en lugar de C ++ o ensamblaje?

Tamaño del proyecto: los proyectos más grandes siempre llevarán mucho tiempo (en el caso de un equipo de desarrolladores más pequeño).

Estilo de programación (como diseño del programa, uso de construcciones de control, algoritmo, etc.) : hay algunas reglas de estilo básicas como evitar el uso de algoritmos complicados porque los algoritmos complicados reducen la legibilidad del código, mantienen la lógica del programa simple (uso de construcciones de menos control) porque también reducirá la legibilidad del código, etc.

Todo se debe a cuando se desarrollaron estos scripts. La mayoría de los scripts de la nueva era incorporan las mejores características, ignorando las características no tan agradables de los idiomas más antiguos.

Es una evolucion.

¿Usaría una PC / XT con una unidad de disquete para hacer su codificación ahora?

Me gana Encuentro que los lenguajes no verificados son lentos y tediosos para depurar, porque la máquina no puede ayudar.

La sintaxis es (a menudo) más legible y fácil de usar. El código en estos idiomas suele ser más fácil de escribir y leer. Eso no quiere decir que es imposible escribir programas legibles en C ++; Es solo más difícil.

More Interesting

¿La mayoría de las nuevas empresas tecnológicas construyen sus productos sobre un marco base que les permite administrar el producto en el back-end, o simplemente construyen sus propios back-end?

¿Cuál es la mejor empresa de aplicaciones web en Delhi?

¿En qué se diferencian los sitios web (en términos de tecnologías web utilizadas) de 2013 de 2003?

¿Cuál es el mejor editor de texto HTML 2016?

¿Cuál es el mejor enfoque para diseñar una aplicación web de reserva de hotel con Ruby on Rails?

¿Cómo realizan las personas la implementación automatizada de las aplicaciones web de Python en AWS?

¿Cuáles son algunos proyectos web interesantes de Nepal?

Soy nuevo en el desarrollo web, ¿cómo puedo publicar mi aplicación web en el mundo?

¿Cuál es la mejor opción para desarrollar aplicaciones web internas o externas?

¿Cuál es el lenguaje de programación más fácil de usar para el desarrollo web y el diseño web?

¿Es posible un cambio importante en la forma en que las páginas web se escriben y se hacen posibles en el futuro?

Cómo hacer que mi aplicación web PHP sea compatible / segura con HIPAA

Cómo comenzar a desarrollar aplicaciones basadas en criptomonedas y / o Blockchain

¿Por qué los desarrolladores dicen que Ruby on Rails tendrá demanda en 2015 si el índice Tiobe registra una disminución?

¿Cuál es el punto de mantener la autenticación de múltiples proveedores (Facebook, Twitter, etc.) y ponerlos en una cuenta en su sitio web (por ejemplo, Quora)?