Me gustaría saber si algunos de los principales lenguajes de programación no se pueden usar para crear algunos tipos de software muy específicos.
Por lenguaje de programación principal me refiero a los gustos de C ++, C #, Java, Ruby, Python. Por "no se puede desarrollar" quiero decir que no se puede desarrollar o no es realista hacerlo debido al rendimiento, la dificultad de implementación, etc.
Siempre he pensado que cualquier lenguaje de programación podría usarse para resolver cualquier problema, pero últimamente he estado pensando que algunos lenguajes no son adecuados para algunos proyectos.
Si puede proporcionar ejemplos de tales aplicaciones, se lo agradeceríamos. Gracias.
programming-languages
mbillard
fuente
fuente
task
aproject
. Espero que sea menos confuso.Respuestas:
Los lenguajes de nivel superior, especialmente los que no proporcionan ningún medio para jugar con la memoria directamente (de su lista: Java, Ruby, Python) no son adecuados para la programación de sistemas. Para dar ejemplos concretos, no implementaría (parte de, por ejemplo, un controlador) un sistema operativo o una máquina / intérprete virtual en Python.
Lo inverso no es tan cercano a "imposible", pero escribir, por ejemplo, scripts de utilidad o un prototipo de software complejo y complicado, como un compilador en, por ejemplo, C ++ (doblemente en C) puede ser tan engorroso que se convierte en un factor decisivo, teniendo en cuenta que obtienes muchas cargas más pequeñas además del problema real.
fuente
Absolutamente, todo depende del hardware subyacente.
Por ejemplo, si fuera a programar el telar Jaquard , no podría usar C ++ para hacerlo porque no existe un compilador para ese hardware. Yo diría que ningún compilador sería posible porque el hardware no admite muchos de los requisitos que C ++ requeriría para funcionar como lenguaje.
Una extensión de esto es el mundo de las computadoras analógicas que funcionan de una manera completamente diferente a las digitales que prevalecen en la actualidad.
Sin embargo, podría considerar que, con el tiempo suficiente, podría encontrar un compilador / ensamblador para cualquier máquina von Neumann (entrada-> procesador / almacenamiento-> salida). Pero algunas máquinas von Neumann, como la MU0 , son demasiado simples para permitir que se ejecute. Más información sobre MU0 para el lector interesado .
fuente
Sí, hay ciertas cosas que no se pueden hacer con varios idiomas. Estos son algunos de los principales criterios que afectan eso:
Esas son algunas de las cosas que se me ocurren. Estoy seguro de que hay más. Pero el punto importante es que sí, existen requisitos limitantes clave que impedirán el uso de un idioma.
fuente
restrict
implementaciones previas .Sí, eso es correcto y siempre lo ha sido. "Incapacidad" e "Inadecuado" son muy diferentes.
Podrías clavar un clavo en una tabla con el extremo de un destornillador. Podrías meter un tornillo con el borde de un martillo. Pero el martillo es mucho más adecuado y es una mejor herramienta para golpear clavos, y un destornillador es una mejor herramienta para sujetadores roscados.
Los lenguajes de programación son herramientas. Ciertas herramientas son mejores en ciertas tareas.
fuente
Lo único en lo que puedo pensar que no es realista es el desarrollo de controladores de dispositivos de bajo nivel en un lenguaje altamente virtualizado como Java o C #: si está tratando de manipular hardware, la VM más increíble (que hace que tantas cosas sean tan agradables y simple) se interpondrá en tu camino. Estoy seguro de que se podría hacer, si REALMENTE quisiera, pero implicaría muchas adaptaciones de VM para que funcione.
Cualquier otra cosa se puede hacer prácticamente en cualquier idioma que desee.
fuente
Sistema integrado viene a la mente. No es realista programar un enrutador, por ejemplo, o algún tipo de robótica usando un lenguaje como C #. Aunque hay proyectos como netduin aprovechando el micro marco, por lo que puedo haber refutado mi propio punto.
fuente
Los llamados lenguajes 4GL están limitados por el entorno de programación al que están obligados. No podría programar una GUI con ABAP, por ejemplo. Todo lo que se puede hacer es como una GUI en el entorno limitado de un cliente SAP (y esto solo puede ejecutarse conectado a una instancia de SAP).
fuente