Modulo 4
Modulo 4
Modulo 4
→ Paradigmas: Todo paradigma decide plantear algún nuevo concepto básico abstracto
de forma de pensar o resolver un problema. Hace mucho tiempo, se estudiaba la
computación como una rama de la matemática y se especializaba en ello, por eso el
concepto de paradigma ya que tiene que ver con el pensamiento científico aplicado a las
ciencias duras.
Existen varios tipos de paradigmas y con ellos ventajas a la hora de escribir código. En
los programas pueden interactuar varios paradigmas al unísono.
No es obligatorio hacer un desarrollo solo con uno, o con varios, eso depende del
programador.
Con el tiempo, uno se fija que paradigma uso para resolver un problema, se convierte en
algo inherente a la hora de programar. Pero siempre es bueno conocerlos y entender
cómo funciona.
→ Tipos de paradigmas:
✔ Paradigma Funcional: Las funciones pueden enlazarse entre ellas, utilizarse como
parámetro de otra función. Esto no solo permite reutilizar código, sino que al enlazar
una función con otra, puede generar una más compleja.
1
Los objetos con características similares, se dice que fueron creados por la misma clase
(por la misma “fabrica”, para traerlo a algo más tangible).
Las fábricas que crean estos objetos pueden ser desarrollados por el programador o
emplear ya existentes.
→ Ejemplos POO: Resulta que tenemos una fábrica de pelotas que se usa para crear una
“pelota” que son los objetos del tipo que se fabrican en ese lugar. Entonces nuestra
pelota se dice que es una “instancia de la fábrica de pelotas”.
Esta pelota tiene ciertos atributos, un color (variable color), un diámetro (variable
diámetro), etc. Pero no solo tiene atributos nuestra pelota, también tiene “métodos”
(funciones). Nuestra pelota tiene el método “picar”, con el cual puede brincar.
La fábrica, no solo crea nuestra pelota, la que charlamos en el ejemplo anterior. Puede
fabricar otras pelotas con otros atributos (otro color, otro diámetro, etc.) pero, por lo
general, con los mismos métodos. Las pelotas no son todas iguales (atributos
diferentes), pero por lo general, todas las pelotas pican.
2
Cada lenguaje de programación posee un conjunto único de palabras claves junto con
una sintaxis especial para organizar las instrucciones.
Los lenguajes reúnen características que los pueden hacer de propósito general o
específicos para una tarea y, por supuesto, muchos de ellos manejan todos o algunos
paradigmas.
→ Lenguajes de bajo nivel y alto nivel: Los lenguajes de bajo nivel son más cercanos
al “idioma” que hablan las maquinas. Un lenguaje de bajo nivel contiene una lista de
instrucciones básicas y es mucho más difícil de leer para un ser humano, pero es
mucho más óptimo para una computadora.
Por otro lado, los lenguajes de alto nivel están pensados para ser fáciles de leer y
entender, lo cual permite a los programadores escribir códigos de forma natural,
utilizando palabras y símbolos lógicos, mas cercanos.
Para que todo funcione correctamente, para cada sistema operativo, hay que hacer una
compilación diferente.
3
→ Características y consideraciones: A lo largo de las generaciones de la informática,
se han creado diferentes lenguajes de programación para diversos tipos de desarrollo. El
campo de la programación es amplio, por lo que el uso de un determinado idioma
informático dependerá de los objetivos que se quieran lograr.
→ Tipos de aplicaciones:
✔ Las aplicaciones de consola, son aquellas que se ejecutan dentro de una ventana de
línea de comandos.
✔ Una aplicación web es una aplicación que esta instalada en un servidor y para poder
acceder a usarla es necesario conectarse desde otra computadora por internet.
✔ Las aplicaciones Mobile, son las que usamos todos los días en nuestros teléfonos
inteligentes.
Estos conjuntos de datos pueden provenir de datos generados por todo tipo de
dispositivos, redes sociales, datos médicos, paginas web, etc. Y afectan de manera muy
4
significativa la investigación en muchos campos como las ciencias biológicas, la
medicina, las ciencias sociales e ingenieriles.
Machine Learning está también vinculada a esta área, se usa a la hora de resolver
distintos tipos de problemas, ya que gracias a esta ciencia podemos manejar mejor la
información y hacer algoritmos que aprendan esos datos.
5
Es un perfil que requiere de conocimientos en muchos campos: redes, servidores,
APIs, data modeling, UI y UX. Además, debe tener capacidad para entender las
necesidades del cliente y/o consumidor, y manejar equipos de trabajo interdisciplinarios.
Saber como subir las aplicaciones a los markets para que estén disponible para que todo
el mundo pueda descargar tu app.
→ Desarrollo IoT: Internet de las cosas es un área interdisciplinaria, que abarca muchas
tecnologías. Desde conocer componentes electrónicos hasta programación C++.
Saber como subir datos y conoce los protocolos de comunicación. Maneja varios
lenguajes como Python, C, C++, sabe trabajar con el front y el back-end, conoce de
bases de datos y manejar servicios web.
• Lenguajes:
6
Popular y utilizado actualmente en varias áreas: Datos, Machine Learning, inteligencia
artificial, aplicaciones web, automatización, IoT, seguridad, entre otros.
Tiene capacidades avanzadas de gráficos, por lo que nos permite realizar gráficos y
dashboards de forma que podamos presentar los resultados de forma vistosa.
Es multiplataforma y tiene detrás una comunidad bastante grande que crea nuevas
funciones.
Los creadores de Java querían crear un lenguaje compilado, pero que se pudiera ejecutar
en cualquier sistema operativo y el hardware, sin necesidad de crear varios ejecutables.
Su permanencia lo convierte en uno de los lenguajes mas elegidos. Muy utilizados para
el desarrollo de aplicaciones en smartphones.
7
→ SQL: SQL es un lenguaje estándar de consultas a bases de datos. La
programación o consultas de SQL sirve para almacenar, manipular y recuperar datos
de bases de datos relacionales.
Algunos de los sistemas de gestión de bases de datos mas utilizados son los de
ORACLE, Microsoft SQL Server, MySQL, o PostgreSQL.
Tiene un propósito muy claro: mejorar la navegación del usuario directamente desde
el navegador.
8
→ HTML Y CSS: HTML es texto plano que, por medio de etiquetas, permite armar la
vista de una pagina web. Este “lenguaje”, tuvo una constante evolución. Esto genero
que los proyectos se volvieran difíciles de mantener. Cualquier cambio en el estilo,
debía replicarse en todos los elementos relacionados, había que cambiar línea a línea
manualmente.
HTML y CSS no tienen sentencias de control, y no permiten programar rutinas. Por esa
razón no se los considera como lenguajes de programación, se los considera “lenguajes”
de desarrollo y maquetado web.
9
→ PHP: Creado con la intención de contar con un conjunto de herramientas para el
desarrollo y mantenimiento web. Es un lenguaje que se utiliza en el back-end (del
lado del servidor). Manejo y recepción de solicitudes, acceso a base de datos y muchas
tareas.
Es de fácil acceso para los programadores que están empezando y a su vez ofrece
grandes herramientas a los más experimentados.
10
→ C#: También llamado “C Sharp”, está orientado a objetos y fue desarrollado en el
año 2000 por Microsoft para ser empleado en una amplia gama de aplicaciones
empresariales ejecutadas en el framework .NET.
C Sharp es una evolución de C y C++ que se destaca por su sencillez y modernidad. Los
códigos que se escriben en C# necesitan ser compilados.
→ C y C++: El primero fue creado en 1969 en los Laboratorios Bell, por Dennis
Ritchie. Es ejecutado en la mayoría de los sistemas operativos, es de propósito general y
flexible. Se puede crear todo tipo de aplicaciones, pero esta mas orientado al
desarrollo de sistemas operativos. Necesita compilación.
C++ o C plus plus se orienta a objetos surge como una continuación y ampliación de
C. Hay una gran cantidad de programas escritos en C++. Utilizado también en la
programación de hardware. Los programas necesitan ser compilados.
• Entornos y editores:
→ Editores de texto para escribir código: Como su nombre lo indica, un editor de estas
características es una herramienta especializada para editar archivos, escribir y
modificar código. Por lo tanto, si formas parte del mundo de la programación, necesitas
utilizar uno para desarrollar tu trabajo con la mayor eficacia posible.
→ Visual Studio Code y otras posibilidades: Visual Studio Code es un editor de código
fuente desarrollado por Microsoft para Windows, Linux y macOS. Incluye soporte
11
para la depuración, control integrado de Git, resaltado de sintaxis, finalización
inteligente de código, fragmentos y refactorización de código. También es
personalizable, por lo que los usuarios pueden cambiar el tema del editor, los atajos de
teclado y las preferencias.
Otro de los puntos fuertes es que es increíblemente extensible, ya que cuenta con una
enorme cantidad de plugins disponibles para instalar.
12