GNU/Linux >> Tutoriales Linux >  >> Linux

Qué es Python:una introducción a un lenguaje de programación multiplataforma

Ilustración de Python por Walker Cahall

Audiencia objetivo

Este artículo asume que el lector tiene al menos una familiaridad básica con los lenguajes de programación.

Introducción

Cualquier curso de Introducción a las Ciencias de la Computación estaría incompleto sin una mención de Python. Puede parecer relativamente nuevo en la escena de los lenguajes de programación, pero ha estado en uso desde principios de la década de 1990. Decenas de grandes corporaciones, incluidas Google, Facebook e incluso la NASA y el Laboratorio de Propulsión a Chorro en Pasadena, se encuentran entre las organizaciones que utilizan Python.
.

La historia del origen de Python

Python fue desarrollado por Guido van Rossum a fines de la década de 1980, incorporando lo que él vio como mejoras al lenguaje de programación ABC. Debido a que es un gran admirador de Monty Python, la compañía de comedia británica, llamó al lenguaje "Python", llegando incluso a llamar al entorno de desarrollo integrado, o IDE, IDLE en honor a Eric Idle, uno de los miembros del grupo. .

Van Rossum sigue siendo uno de los principales autores y contribuyentes del lenguaje, y ha recibido el título de BDFL (Dictador benevolente de por vida) de la comunidad de Python.

Las características de Python

Python es un lenguaje multiplataforma:un programa de Python escrito en una computadora Macintosh se ejecutará en un sistema Linux y viceversa. Los programas de Python pueden ejecutarse en una computadora con Windows, siempre que la máquina con Windows tenga instalado el intérprete de Python (la mayoría de los otros sistemas operativos vienen con Python preinstalado). Una aplicación llamada py2exe existe que permite a un usuario crear un binario de Windows a partir de un programa de Python para que un programa de Python desarrollado en otro sistema pueda ejecutarse en una máquina de Windows que no tiene Python instalado.

Python se diferencia de muchos otros lenguajes en el uso de espacios en blanco y sangrías. Mientras que muchos otros lenguajes terminan las sentencias de programación usando finales de línea como punto y coma, Python no tiene ese final. Tampoco incluye bloques de código como for bucles y if declaraciones entre llaves. Más bien, Python usa sangrías para definir un bloque de código. Cada sangría sucesiva define un bloque sucesivo. Por ejemplo, examine el siguiente código:

if i == 1:
    print "i = 1"
    for x in range(10):
        print "x = ", x
else:
    print "i does not equal 1"

Python interpreta la cuarta línea (print "x= ", x ) para formar parte de for bucle, en lugar de parte del if declaración-debido a su nivel de sangría. La sangría también delimita las definiciones de funciones y clases.

¿Lenguaje de programación o secuencias de comandos?

Entre aficionados y detractores, a menudo surge la pregunta:¿Python es un lenguaje de secuencias de comandos o un lenguaje de programación? Antes de que podamos intentar responder eso, revisemos lo que queremos decir al diferenciar los dos.

Lenguajes de programación

Los lenguajes de programación son compilados por un programa especial llamado compilador. Los lenguajes comunes como C y C++ deben ser traducidos por un compilador a un código de máquina, ininteligible para los humanos, que una computadora pueda leer y procesar. Cuando escribe un programa en C y lo compila, el .o resultante archivo es lo que lee la computadora. El código compilado generalmente da como resultado un código más rápido, y la compilación solo necesita ocurrir una vez (a menos que cambie su código). Algunos compiladores realizan una optimización básica automáticamente y otros tienen varios indicadores que se pueden usar para optimizar el código para múltiples procesadores e incluso para el procesamiento paralelo.

El código compilado que produce un lenguaje de programación se ejecuta con mayor frecuencia sobre el hardware en el que está escrito. Un programa escrito y compilado en C++ es ejecutado directamente por el procesador en el que fue compilado. Si bien esto puede hacer que el código se ejecute más rápido, a veces también tiene el efecto indeseable de hacer que un programa compilado dependa del procesador y de la máquina. Es posible que el código compilado en una computadora en particular ni siquiera se ejecute en una máquina separada, casi idéntica, debido a pequeñas diferencias en el hardware.
.

Lenguajes de secuencias de comandos

Los lenguajes de secuencias de comandos, por otro lado, se leen e interpretan cada vez que los ejecuta, sin que un compilador cree un archivo de lenguaje de máquina. No se lleva a cabo ninguna optimización, por lo que si escribe un código descuidado, obtendrá resultados descuidados, lo que puede resultar en programas más lentos.

Los lenguajes de secuencias de comandos también se ejecutan "dentro" de otro programa, en lugar de ejecutarse directamente en su procesador anfitrión. PHP se ejecuta dentro del motor de secuencias de comandos PHP, por ejemplo, y las secuencias de comandos bash se ejecutan dentro del shell bash. (Una excepción a esta regla es Java; Java se considera un lenguaje de programación, pero se ejecuta dentro de la máquina virtual de Java (JVM)).
.

El veredicto

Entonces, ¿qué es Python? Aunque a menudo se le llama lenguaje de programación, Python es, técnicamente, un lenguaje de secuencias de comandos. Su código no usa compilador y puede ejecutarse en casi cualquier dispositivo que ejecute el shell de Python. También comparte un par de otras similitudes con los lenguajes de secuencias de comandos sobre los lenguajes de programación.

Los lenguajes de secuencias de comandos suelen ser menos rígidos en lo que respecta a la sintaxis y el formato. Los espacios en blanco se tratan con más indulgencia (con la excepción de la sangría, mencionada anteriormente). Como resultado, los programadores no necesitan pasar horas depurando el código tratando de encontrar un punto y coma fuera de lugar o una llave que falta. Es motivo de orgullo para muchos programadores de Python que su código sea fácilmente legible por un ser humano, lo que facilita la depuración, cuando sea necesario.

Los lenguajes de programación (como C++) tienden a ser más complejos sintácticamente y difíciles de aprender, mientras que los lenguajes de secuencias de comandos son menos intimidantes. Considere un programa "Hola mundo" en C++:

#include <iostream>;  
using namespace std;  
int main(){  
      cout << "Hello, world!" << endl;  
      return 0;  
}

.
Ahora, el mismo programa en Python:

print "Hello, world!"

.
Debido a que no es un lenguaje compilado, algunos puristas de la programación desacreditan a Python, diciendo que puede ser lento y menos eficiente. Sin embargo, a medida que los procesadores mejoran en velocidad y arquitectura, la diferencia de velocidad entre un lenguaje compilado y uno escrito se vuelve menos apreciable. Solo cuando el rendimiento serio es un problema, podría hacerse evidente una diferencia entre los dos.
.

El cisma de la versión de Python

Los recién llegados al entorno de Python pueden notar y preguntarse acerca de las diferencias entre la versión 2 y la versión 3 del lenguaje. A diferencia de la mayoría de las versiones de software, las dos versiones existen simultáneamente y por separado y no son completamente compatibles entre sí.

La versión 3.0 se lanzó en diciembre de 2008 y se diseñó para corregir ciertas fallas en el lenguaje, principalmente eliminando algunas formas duplicadas de realizar algunas tareas. Sin embargo, no es totalmente compatible con la versión 2, y los programas escritos en 2.7 pueden fallar cuando se transfieren a la versión 3. Durante un tiempo, su desarrollo fue paralelo a la versión 2, pero ese desarrollo paralelo cesó con la versión 3.2 en febrero de 2011. Herramientas existen para facilitar un poco la portabilidad y la conversión.

Cuando un programador comienza a trabajar en Python, debe decidir qué versión usar. En el momento de escribir este artículo, la versión más utilizada es la 2.7. También es la versión final 2.x; todos los lanzamientos futuros serán para la versión 3.x. Por lo tanto, aunque la versión 2.7 está oficialmente al final de su vida útil, sigue siendo una opción popular por su amplia colección de bibliotecas. Hasta que aumente la tasa de adopción y uso de la versión 3.x (y la comunidad desarrolle el soporte de la biblioteca de esta versión), este cisma puede continuar.
.

Conclusión

Python es un lenguaje extremadamente capaz que muchos desarrolladores de software consideran que vale la pena aprender. Su portabilidad y facilidad de uso, así como su accesibilidad para los nuevos programadores, lo convierten en una solución extremadamente atractiva para muchos problemas y aplicaciones de programación.

Para obtener más artículos interesantes y procedimientos, como Cómo:Python 3 y Creación de un entorno virtual (venv) en CentOS 6.7 , asegúrese de visitar nuestro blog.

Atlantic.Net

Altantic.Net ofrece alojamiento VPS, alojamiento en la nube gestionado, instalaciones de aplicaciones en la nube con un solo clic y muchas otras soluciones de alojamiento.
.
.


Linux
  1. Que es :-!! en código C?

  2. ¿Podemos usar código C en Python?

  3. ¿Qué lenguajes de programación puedo asumir en un servidor Linux aleatorio de forma predeterminada?

  4. ¿Qué lenguaje de programación es mejor para empezar como un principiante total?

  5. ¿Es shell script un lenguaje de programación?

Instalar lenguaje de programación de raqueta en Linux

Cómo instalar el lenguaje de programación Go en Alpine Linux

Cómo instalar el lenguaje de programación Swift en Debian 11 Bullseye

Cómo instalar el lenguaje de programación Go en Ubuntu 20.04

Cómo instalar el lenguaje de programación Rust en AlmaLinux 8

Cómo instalar el lenguaje de programación Rust en Linux