¿Todos los lenguajes de programación son iguales?

Tabla de contenido

¿Todos los lenguajes de programación son iguales?

Sí, los lenguajes de programación son diferentes.

Cuanto más avanzado sea el idioma, mejor, ¿no?

Derivación de varios lenguajes de programación.


¿Todos los lenguajes de programación son iguales?

 Los lenguajes de programación son todos similares, sabiendo que uno es igual a todos” .

Sí, los lenguajes de programación son diferentes.

Nuestra discusión se basa en lenguajes de alto nivel, la gran mayoría de los programadores programan en lenguajes de alto nivel la mayor parte del tiempo, y pocas personas usan lenguaje ensamblador en estos días. El tiempo del programador es mucho más caro que el tiempo de la computadora, que se ha abaratado tanto que apenas vale la pena desarrollar software en lenguaje ensamblador. Solo algunas de las partes más críticas pueden seguir usando lenguaje ensamblador, como cuando se desarrolla un juego de computadora, es necesario controlar el hardware a un nivel micro, de modo que se pueda maximizar la velocidad final del juego.

Fortran, Lisp, Cobol, Basic, C, Pascal, Smalltalk, C++, Java, Perl y Python son lenguajes de alto nivel. Son solo algunos de los más conocidos. Probablemente hay cientos de lenguajes de alto nivel en la actualidad. Los conjuntos de instrucciones de diferentes lenguajes de máquina son básicamente los mismos, pero los lenguajes de alto nivel son diferentes y los modos de sus programas de desarrollo son bastante diferentes. Entonces, ¿qué idioma debería usar?

Bueno, hay mucho debate sobre esto en este momento, en parte porque si usas un idioma durante mucho tiempo, lentamente comienzas a pensar en la mentalidad del idioma. Entonces, más adelante, cuando te encuentres con cualquier otro idioma que sea significativamente diferente, incluso si no hay nada de malo en ese idioma en sí, te resultará extremadamente difícil de usar.

Los programadores sin experiencia a menudo se dejan engañar por esta mentalidad al juzgar los pros y los contras de varios lenguajes, quizás porque quieren presumir de sus conocimientos, y algunos de sus compañeros le dirán que todos los lenguajes de alto nivel son básicamente similares. "He usado todos los lenguajes de programación", un colega que parece curtido y fresco se sentó en el bar, "No importa qué lenguaje uses, lo que importa es si tienes una comprensión correcta del problema. Otras cosas que el código Esa es la clave".

Esto es, por supuesto, una tontería, los idiomas son tan diferentes. Por ejemplo, FortranI y la última versión de Perl son dos lenguajes completamente diferentes, y la diferencia entre la primera versión de Perl y la última versión de Perdl también es sorprendente. Sin embargo, ese colega jactancioso realmente podría creer sus propias palabras, y de hecho es posible escribir programas en todos los diferentes lenguajes que son casi tan buenos como los escritos en el lenguaje Pascal original. Porque si alguna vez has comido en McDonald's, sabes que los McDonald's de todo el mundo saben prácticamente igual.

A algunos colegas solo les gusta el idioma que usan y odian todos los demás idiomas. Otros hablan todos los idiomas por igual. La verdad está en algún lugar entre estos dos extremos. De hecho, existen diferencias entre los idiomas, pero es difícil decir cuál es el mejor porque el campo aún se está desarrollando rápidamente.

Cuanto más avanzado sea el idioma, mejor, ¿no?

En términos de expresividad, el lenguaje de alto nivel está más cerca del lenguaje humano que del lenguaje ensamblador y más lejos que otros lenguajes. Por ejemplo, el lenguaje C es un lenguaje de bajo nivel, muy cercano al hardware, casi un lenguaje ensamblador portátil, y el lenguaje Lisp es de bastante alto nivel.Si el lenguaje de alto nivel es más propicio para la programación que el lenguaje ensamblador, usted puede pensar que cuanto mayor sea el nivel de la lengua, mejor. Esto es generalmente cierto, pero no absoluto. Los lenguajes de programación pueden volverse abstractos y completamente separados del hardware, pero también pueden ir en la dirección equivocada. Por ejemplo, creo que el lenguaje Prolog tiene este problema. Su capacidad de abstracción es increíble, pero solo se puede usar para resolver el 2% de los problemas. El resto del tiempo piensas mucho y usas estas habilidades de abstracción para escribir programas que en realidad son programas en lenguaje Pascal.

Si está muy preocupado por la velocidad de ejecución, entonces es mejor usar un lenguaje que esté cerca de la máquina. La razón por la que utilizará un lenguaje de bajo nivel en este momento es la eficiencia. No es casualidad que la mayoría de los sistemas operativos estén escritos en C. Sin embargo, el hardware es cada vez más rápido, por lo que la necesidad de desarrollar aplicaciones en un lenguaje de bajo nivel como C está disminuyendo, pero todo el mundo parece querer que el sistema operativo sea lo más rápido posible.

Derivación de varios lenguajes de programación.

La derivación de diferentes variantes de lenguajes de programación refleja las diferentes intenciones originales de los diseñadores y varias soluciones.

Quizás la mayor división entre los diseñadores de lenguajes es que algunas personas piensan que un lenguaje de programación debería evitar que los programadores hagan cosas estúpidas, mientras que otros piensan que los programadores deberían poder hacer lo que quieran con un lenguaje de programación. El lenguaje Java es un representante del campo anterior, y el lenguaje Per es un representante del último campo.

Dado que hay varias formas de evitar que los programadores hagan cosas estúpidas, el debate anterior se ha dividido gradualmente en varios problemas menores. Uno de los temas más activos en este momento es el debate entre lenguajes tipificados estáticamente y lenguajes tipificados dinámicamente. En un lenguaje de tipado estático, debe conocer el tipo de cada variable al escribir código, mientras que en un lenguaje de tipado dinámico, puede establecer una variable en un valor de cualquier tipo en cualquier momento.

Los defensores de los lenguajes tipificados estáticamente argumentan que esto previene errores y ayuda a los compiladores a generar código más rápido (ambas razones son ciertas). Los defensores de los lenguajes de escritura dinámica argumentan que la escritura estática impone restricciones a los programas (y por una buena razón). Personalmente prefiero la escritura dinámica y odio los lenguajes que limitan mi libertad. Sin embargo, hay algunas personas realmente inteligentes a las que parece gustarles los lenguajes escritos estáticamente. Por lo tanto, esta pregunta aún es digna de discusión y no hay una respuesta fija.

Lectura recomendada:

Tecnología central de alto rendimiento y alto rendimiento de Kafka y la mejor aplicación...

Control de flujo inteligente en servicios de alta concurrencia...

Trucos de optimización de base de datos Mysql...

Extensibilidad de la subbase de datos y la subtabla de la base de datos y los problemas de sesgo/calor de los datos...

Cinco minutos para construir monitoreo en tiempo real basado en Prometheus+Grafana ...

Supongo que te gusta

Origin blog.csdn.net/qq_34417408/article/details/126135023
Recomendado
Clasificación