Está en la página 1de 10

Participante

Jonas Román Espaillat


Matricula
1000-35092
Tema
Lenguajes de Programación Libre
Asignatura
Desarrollo de Proyectos con Software Libre
Facilitador
Joan Manuel Gregorio Pérez
Fecha
05/19/2023
Investigar y escribir un breve ensayo sobre los lenguajes de programación libres,
incluyendo su definición, características y ventajas en comparación con los lenguajes de
programación propietarios. (500 palabras)

Los lenguajes de programación libres son aquellos que se distribuyen bajo una licencia de
software libre, lo que significa que cualquier persona tiene la libertad de usar, estudiar,
modificar y distribuir el código fuente del lenguaje sin restricciones. Estos lenguajes
promueven la colaboración y el intercambio de conocimientos, fomentando una
comunidad activa de desarrolladores que contribuyen a su mejora continua.

Una de las características distintivas de los lenguajes de programación libres es su


accesibilidad. Al ser de código abierto, cualquiera puede acceder y estudiar el código
fuente, lo que facilita el aprendizaje y la comprensión de cómo funcionan internamente.
Esto permite a los programadores adaptar los lenguajes a sus necesidades específicas,
corregir errores y contribuir con nuevas funcionalidades, lo que lleva a una evolución más
rápida y una mayor calidad del software.
Otra ventaja de los lenguajes de programación libres es su comunidad de desarrolladores
activa y colaborativa. Debido a que el código fuente está disponible para todos, se
fomenta la participación de la comunidad en el desarrollo y la resolución de problemas.
Esto significa que los errores se pueden corregir más rápidamente y que existen recursos y
documentación ampliamente disponibles. Además, la comunidad puede aportar ideas y
sugerencias para mejorar el lenguaje, lo que resulta en una mayor innovación y
adaptabilidad.

La flexibilidad es otra característica clave de los lenguajes de programación libres. Al tener


acceso al código fuente, los programadores pueden modificarlo para satisfacer sus
necesidades específicas. Esto permite la creación de versiones personalizadas o
bifurcaciones del lenguaje, lo que puede ser beneficioso para proyectos particulares o
industrias específicas. La capacidad de personalización también implica que los lenguajes
libres pueden adaptarse a una amplia gama de aplicaciones y entornos, lo que los hace
versátiles y poderosos.

La seguridad es un aspecto importante en los lenguajes de programación, y los lenguajes


libres a menudo destacan en este aspecto. La revisión y auditoría abierta del código
fuente por parte de la comunidad de desarrolladores aumenta la transparencia y la
confianza en la seguridad del lenguaje. Los errores y las vulnerabilidades se pueden
identificar y corregir más rápidamente, lo que lleva a una mayor confiabilidad y robustez
del lenguaje.

En comparación con los lenguajes de programación propietarios, los lenguajes de


programación libres ofrecen varias ventajas significativas. En primer lugar, no están
sujetos a las restricciones impuestas por las licencias propietarias, lo que significa que
pueden ser utilizados de forma gratuita y sin limitaciones en proyectos comerciales o
personales. Esto reduce los costos y las barreras de entrada para los desarrolladores,
permitiendo una mayor participación y promoviendo la innovación.
Realizar una presentación en equipo sobre la evolución de los lenguajes de
programación libres, incluyendo los hitos más importantes en su desarrollo y las
diferencias entre los distintos lenguajes de programación libres disponibles. (10
minutos)

https://drive.google.com/file/d/1ZN4wObRG_fUuzPlKhJZapsB_1eKhmD9w/view?usp=s
haring

Instalar y configurar un lenguaje de programación libre en un entorno de desarrollo


local, siguiendo los pasos recomendados por la documentación oficial del software.
Documentar el proceso de instalación y configuración en un informe. (500 palabras)

Este comando instala el paquete software-properties-common, que proporciona un


conjunto de utilidades comunes para administrar los repositorios de software en el
sistema.

Este comando agrega el repositorio PPA (Personal Package Archive) llamado


deadsnakes/ppa al sistema. Los PPA son repositorios de terceros que contienen paquetes
adicionales no incluidos en los repositorios oficiales. En este caso, el PPA deadsnakes/ppa
proporciona versiones más recientes de Python para su instalación.
Este comando actualiza la lista de paquetes disponibles en los repositorios configurados
en el sistema. Se asegura de que el sistema tenga información actualizada sobre las
versiones y disponibilidad de los paquetes.

Este comando instala la versión específica de Python 3.11 en el sistema. La versión 3.11 es
mencionada en el comando, lo que indica que deseas instalar esa versión específica de
Python.
Este comando instala pip para Python 3 en el sistema. pip es el administrador de paquetes
de Python y se utiliza para instalar paquetes adicionales y bibliotecas externas.

Este comando registra la versión de Python 3.11 como la opción principal para el
comando python3. Establece una alternativa para el comando python3, lo que significa
que cuando se ejecute python3, se utilizará la versión 3.11 en lugar de cualquier otra
versión instalada en el sistema.

Es importante tener en cuenta que estos comandos están específicamente diseñados para
una distribución basada en Debian o Ubuntu y pueden no ser aplicables a otros sistemas
operativos.
Escribir un programa sencillo en el lenguaje de programación libre instalado en la tarea
anterior, que utilice estructuras básicas del lenguaje (variables, condicionales, ciclos,
funciones, etc.). Documentar el proceso de desarrollo del programa en un informe. (500
palabras)
El script es una implementación de una función llamada encontrar_persona_mas_alta que
busca la persona más alta en una lista de personas. Aquí está la explicación paso a paso
del script:
Se define la función encontrar_persona_mas_alta que toma un parámetro personas, que
se espera que sea una lista de diccionarios. Cada diccionario representa a una persona y
contiene dos claves: "nombre" y "altura".

Se inicializan dos variables: altura_maxima se establece en 0 y persona_mas_alta se


establece en None. Estas variables se utilizarán para realizar un seguimiento de la persona
más alta encontrada hasta ahora.
Se itera a través de cada elemento (persona) en la lista personas.

Dentro del bucle, se compara la altura de la persona actual (persona["altura"]) con la


altura máxima registrada hasta el momento (altura_maxima). Si la altura de la persona
actual es mayor, se actualiza altura_maxima con el nuevo valor y se actualiza
persona_mas_alta con el nombre de la persona actual.

Después de iterar sobre todas las personas en la lista, se devuelve el valor de


persona_mas_alta, que corresponde al nombre de la persona más alta encontrada.

Fuera de la función, se declara una lista llamada personas que contiene diccionarios que
representan diferentes personas con sus nombres y alturas.

Se llama a la función encontrar_persona_mas_alta pasando la lista personas como


argumento. El resultado se asigna a la variable persona_mas_alta.
Finalmente, se imprime en la consola el mensaje "La persona más alta es:" seguido del
valor de persona_mas_alta, que representa el nombre de la persona más alta encontrada
en la lista.
Investigar y recopilar una lista de los principales comandos y estructuras de un lenguaje
de programación libre, incluyendo comandos para declarar variables, operaciones
aritméticas, estructuras de control de flujo, funciones y módulos. Presentar la lista de
comandos en un documento de texto o en una presentación.

Declaración de variables:

variable = valor asigna un valor a una variable.


variable1, variable2 = valor1, valor2 asigna múltiples valores a múltiples

Operaciones aritméticas:

1. Suma: +
2. Resta: -
3. Multiplicación: *
4. División: /
5. Módulo (resto de la división): %
6. Potencia: **

Estructuras de control de flujo:


if condición:
# Código si la condición es verdadera
else:
# Código si la condición es falsa
for variable in secuencia:
# Código a repetir para cada elemento de la secuencia
while condición:
Funciones:
def nombre_función (argumento1, argumento2):
# Código de la función
return resultado
nombre_función (valor1, valor2)

Módulos:
import nombre_modulo
from nombre_módulo import funcion1, funcion2
import nombre_modulo as alias
from nombre_modulo import *

También podría gustarte