Está en la página 1de 30

Lenguajes y herramientas de

modelado
Unidad 3
Temas
● Programación.
● Lenguajes de programación.
● Entorno de desarrollo integrado (IDE).
● Lenguaje R.
● Python.
● Actividad práctica.
Programación
¿Qué es la programación?

● La programación es una forma de ejecutar un algoritmo.


● Un algoritmo es una secuencia de pasos que lleva a un resultado.
● Una receta es un algoritmo.
● Si se sigue el algoritmo, se llega al resultado.
Ada Lovelace
1815 -1852
The First Computer Programmer
Fue una matemática y escritora inglesa, principalmente conocida por su
trabajo en la computadora mecánica de propósito general propuesta por
Charles Babbage, la Máquina Analítica. Fue la primera en reconocer que la
máquina tenía aplicaciones más allá del cálculo puro, y en haber
publicado el primer algoritmo destinado a ser llevado a cabo por una
máquina de este tipo.
Programa y computadora

● La computadora nació para resolver cálculos.


● La programación es un complemento para la computadora.
● Es una forma de que la computadora entienda el funcionamiento de un algoritmo y lo ejecute.
● La computadora entiende ceros y unos (lenguaje binario), nosotros no.
● Por lo tanto, un programa traduce un lenguaje humano a lenguaje binario.
Lenguajes de Programación
¿Interpretado o Compilado?
● La diferencia principal entre un lenguaje interpretado y uno compilado radica en el proceso de traducción del código fuente a código
de máquina (1 y 0).

● En un lenguaje compilado, el código fuente se traduce a código de máquina en una sola fase, antes de la ejecución del programa,
mediante un programa llamado "compilador".

● En un lenguaje interpretado, el código fuente se traduce a código de máquina por pedacitos, durante la ejecución del programa,
mediante un programa llamado "intérprete".

● Cada enfoque tiene sus ventajas y desventajas, y la elección del lenguaje depende de las necesidades específicas del proyecto.
Interpretado Compilado

Ventajas: Ventajas:

- Mayor flexibilidad: El código interpretado puede ser - Mejor rendimiento: se ejecuta directamente en la
modificado y ejecutado en tiempo de ejecución sin máquina, por lo que no hay sobrecarga en tiempo de
necesidad de volver a compilarlo. ejecución.
- Mayor simplicidad: El proceso de interpretación es más - Mayor control: El programador tiene un mayor control
simple y menos exigente en términos de recursos. sobre el uso de recursos, como la memoria y la CPU.
- Mayor portabilidad: El mismo código fuente puede ser - Depuración más fácil: Los errores se detectan durante
ejecutado en diferentes plataformas sin necesidad de la fase de compilación, lo que hace que la depuración
compilación adicional. sea más fácil.

Desventajas: Desventajas:

- Menor rendimiento: El proceso de interpretación puede - Menos flexibilidad: Una vez que el código ha sido
ser más lento y requerir más recursos que la compilado, no se puede modificar sin volver a
compilación. compilarlo.
- Menor control: El programador tiene menos control - Mayor curva de aprendizaje: El proceso de
sobre el uso de recursos, como la memoria y la CPU, compilación puede requerir más conocimientos
ya que el intérprete gestiona estos recursos. técnicos que la interpretación.

Ejemplos: Python, JavaScript, R, PHP. Ejemplos: C++, Java, C#, Rust


Programación y lenguajes
● No existe un solo lenguaje que solucione todos los problemas
● Cada lenguaje resuelve un conjunto de problemas posibles: Empresariales, Web, etc.
● Para Data Science, existen algunos lenguajes que funcionan muy bien: Python, R son algunos de ellos.\

Interpretado Interpretado Compilado Híbrido

Python R Julia Scala


¿SQL es un lenguaje de programación?

El concepto de "lenguaje de programación" es amplio y puede tener diferentes interpretaciones, pero en general se refiere a un conjunto de reglas,
símbolos y sintaxis que se utilizan para escribir programas informáticos.

SQL (Structured Query Language) es un lenguaje diseñado para interactuar con bases de datos relacionales y manipular datos almacenados en ellas.
Aunque no se utiliza para escribir programas de la misma manera que se usan otros lenguajes de programación como Python, Java o C++, SQL puede
considerarse un lenguaje de programación en un sentido más amplio.

SQL se utiliza para escribir instrucciones y consultas que manipulan y gestionan los datos almacenados en las bases de datos. Estas instrucciones y
consultas se escriben en un formato específico y se ejecutan en un motor de base de datos para interactuar con los datos. Aunque SQL no es un lenguaje
de programación en el sentido tradicional, es un lenguaje de consulta que utiliza una sintaxis específica y puede considerarse un lenguaje de programación
para bases de datos.
Otros lenguajes útiles en ciencia de datos

M (Power Query)
Entorno
de Desarrollo Integrado
¿Qué es un IDE?

Un entorno de desarrollo integrado o entorno de desarrollo interactivo, en inglés Integrated Development


Environment, es una aplicación informática que proporciona servicios integrales para facilitarle al
desarrollador o programador el desarrollo de software.

https://realpython.com/lessons/ides-vs-code-editors/
Algunos IDE muy comunes en Ciencia de Datos
Editores de Código
Lenguaje R
Entorno y lenguaje de programación con un enfoque al análisis
estadístico. Se trata de uno de los lenguajes de programación más
utilizados en investigación científica.
R proporciona una amplia variedad de técnicas estadísticas
(modelos lineales y no lineales, pruebas estadísticas clásicas, análisis
de series temporales, clasificación, agrupamiento, etc), generación de
gráficos y es altamente extensible.
Beneficios de RStudio
Las más importantes a mencionar son:

● Autocompletado.
● Reconocimiento de sintaxis de programación.
● Depurador de errores.
● Manual de usuarios y ayuda en línea.
¿Cómo se visualiza RStudio?

Link de descarga: https://rstudio.com/products/rstudio/download/


Python
¿Qué es Python?
Lenguaje de programación poderoso y fácil de aprender. Puede ser
clasificado como un lenguaje interpretado (ejecuta las instrucciones a
medida que las va leyendo) y de alto nivel. Python fue creado a finales de
los años 80, por un programador holandés llamado Guido van Rossum,
quien sigue siendo aún hoy el líder del desarrollo del lenguaje.
¿Qué es Python?

Python es el lenguaje más solicitado en las búsquedas laborales


relacionadas con Data Science y se ubica entre el segundo y tercer
puesto en 2021 de acuerdo a varios rankings de lenguajes de desarrollo
general (no sólo Data Science).

En otras palabras, Python no puede faltar en un portfolio de Data


Science.
¿Qué es Python?

● Lenguaje Open Source


(un código abierto y accesible diseñado para que cualquier pueda ver, modificar y distribuirlo).

● Su fuerte es la simplicidad y la facilidad para compartir código.


● Cuenta con 3 componentes:
○ Intérprete: programa intérprete, traductor a binario.
○ IDE: entorno de desarrollo, lugar donde escribiremos código.
○ Paquetes: conjuntos de funciones pre-armadas para problemas habituales.
Python tradicional

● Tradicionalmente Python puede desarrollarse en Anaconda, o en su versión simplificada, Miniconda.


● Además, puede utilizarse de varias otras formas.
○ La forma más básica es escribiendo python en la terminal, lo que abre un entorno de trabajo dentro de la misma
terminal.
⚠ NO es la forma más cómoda, ni la más utilizada.
○ Otra forma más útil es usando Python interactivo (IPython). Puede accederse escribiendo ipython en la terminal.
⚠ NO aporta muchas mejoras si se usa de esa forma.
IPython y notebooks
Las notebooks siguen siendo IPython, pero con vitaminas 🚀

● Escribimos código en el notebook que resulta ser el IDE.


● El código pasa por el mismo intérprete que el usado en la terminal.
● El código se escribe en cajas de texto (celdas) que pueden ejecutarse de a una por vez o todas
juntas.

👉 Esta configuración SÍ es de las más utilizadas para Data Science.


Librerías comunes en Python
para Ciencia de Datos
● Numpy: Es una biblioteca que da soporte para crear vectores y matrices
grandes multidimensionales, junto con una gran colección de funciones
matemáticas de alto nivel para operar con ellas.
● Pandas: Es una librería de código abierto que ofrece unas estructuras muy
poderosas y flexibles que facilitan la manipulación y tratamiento de datos.
● Sklearn: es una biblioteca para aprendizaje automático que Incluye varios
algoritmos de clasificación, regresión y análisis de grupos.
● Tensorflow: Es una biblioteca de código abierto para la computación
numérica y Machine Learning a gran escala.
● Keras: Es una biblioteca de código abierto que tiene como objetivo acelerar
la creación de redes neuronales.
🔗 Guía de instalación de Python con
Miniconda, Jupyter notebooks y Google Colab
Práctica: notebook de google cola en el enlace de la imagen.

También podría gustarte