Modulo 4

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

MODULO 4:

• Conceptos y tipos de paradigmas:

→ 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 Imperativo: Los programas se componen de una secuencia claramente


definida de instrucciones que se ejecutan en orden.

✔ Paradigma Declarativo: Se piden los resultados esperados sin mostrar explícitamente


los pasos para alcanzarlos.

✔ Paradigma Lógico: La mayoría de los lenguajes de programación se basan en la


teoría lógica de primer orden. La idea sería “Aplicar reglas lógicas para inferir”.

✔ 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.

→ POO – Programación Orientada a Objetos: El paradigma de programación


orientada a objetos plantea que todo sistema o proceso informático puede
modelarse (ser pensado) como “objetos” cotidianos. Es decir, programar bajo este
paradigma implica que nuestros programas deberán ser pensados de forma especial y
diferente.

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).

Los objetos son entidades que combinan características (variables) y métodos


(funciones).

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.

• Tipos de lenguajes y características:

→ Lenguajes de programación: Un lenguaje de programación consiste en un


vocabulario que contiene un conjunto de reglas gramaticales e instrucciones, para que
un dispositivo informático ejecute tareas específicas.

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.

→ Lenguajes compilados vs interpretados: Compiladores e interpretadores son


programas que convierten el código que escribes a lenguaje de máquina. El lenguaje
de maquina son las instrucciones que entiende la computadora.

Un programa realizado con algún lenguaje compilado requiere ser convertido


antes de ser ejecutado por primera vez. Esto se hace una sola vez, en la “compilación”.
Este tipo de programas se ejecutan más rápido y gastan menos recursos, pero son
lenguajes de tipado estático. Esto nos obliga a declarar el tipo de dato asociado a
una variable, haciendo un poco más difícil el desarrollo.

Para que todo funcione correctamente, para cada sistema operativo, hay que hacer una
compilación diferente.

Un programa escrito con lenguaje interpretado es procesado a lenguaje de


maquina a medida que se ejecuta por el “interprete” (en vivo). Son lenguajes de
alto nivel, de tipado dinámico.

Corren en cualquier sistema operativo, siempre y cuando el interprete este instalado.


Como contrapartida, se corren 2 programas, el que escribimos nosotros y el intérprete,
que interpreta nuestro código. Esto los hace menos rápidos y mas derrochadores de
recursos.

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.

La popularidad de un lenguaje depende de las funcionalidades y utilidades que


proporcione a los programadores. Las características que debe tener para destacar son
las siguientes: simplicidad, naturalidad, abstracción, eficiencia y fácil de
estructurar.

No todos los lenguajes consiguen un 100% de estas características. En la actualidad, la


capacidad de cómputo (potencia de procesamiento) mejoró sustancialmente en los
últimos años. Gracias a eso podemos hacer uso de lenguajes interpretados de alto nivel
que se acercan mucho al lenguaje ideal, los cuales nos facilitan mucho la tarea de
escribir código y nos ahorran tiempo de desarrollo.

→ Tipos de aplicaciones:

✔ Las aplicaciones de consola, son aquellas que se ejecutan dentro de una ventana de
línea de comandos.

✔ Las aplicaciones de escritorio, están instaladas en el sistema operativo y se ejecutan


con una interfaz gráfica.

✔ 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.

• Áreas y lenguajes con mayor demanda:

→ Data Science: La misión de esta área es analizar datos de múltiples fuentes, a


veces inmensas (conocidas como Big Data) y que puedan tener formatos muy
diferentes.

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.

Lenguajes empleados: Python, R, Matlab, Octave, Julia, SQL.

→ Front-End: Un desarrollador front-end domina herramientas y técnicas que se


integran para el armado y maquetado profesional de sitios web.

Se le dice front-end porque es lo que ve el “cliente” el usuario desde el navegador.

Un front-end developer debe manejar HTML y CSS, herramientas de diseño grafico


y un lenguaje de programación como JavaScript.

→ Back-end: Un desarrollador back-end trabaja del lado del servidor y procesa la


información recibida a través del front-end. Debe asegurarse de que todo funcione de
acuerdo a las interacciones que hace el usuario. Mientras que el desarrollador front-end,
se encarga de la interfaz del sitio.

El desarrollador back-end debe estudiar los diferentes lenguajes de programación que


pueden ser necesarios para desarrollar su trabajo. Además, necesita conocer las
interacciones con diferentes bases de datos y manejar sistemas operativos Linux.

Lenguajes como PHP, Python, C#, manejo de bases de datos relacionales/ no


relacionales, conocer NodeJS, son cuestiones fundamentales que debe manejar un
desarrollador back-end.

→ Full stack: Un desarrollador Full Stack Developer es un programador con un perfil


muy completo. Sabría manejarse tanto en el back-end como en el front. Conocía los
diferentes sistemas operativos y los componentes.

Debería tener conocimientos de arquitectura de servidores y sistemas. Podría ser el


responsable de un proyecto completo. Ya que sus tareas van desde la puesta a punto de
los servidores, hasta el diseño.

En definitiva, El full stack developer es un programador senior con mucha experiencia.

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.

→ QA Testing: Se encargan de verificar la calidad del software, con el objetivo de


solucionar posibles errores de las aplicaciones y lograr una mejora continua de la
calidad.

Un QA Tester puede complementar sus conocimientos con herramientas de


programación en Python, HTML, manejo de bases de datos, formación de análisis
funcional y herramientas de usabilidad web y experiencia de usuario (UX) con el
fin de agregar habilidades relacionadas al puesto de Tester QA.

→ Desarrollador mobile: Crear aplicaciones, juegos para teléfonos y tabletas


inteligentes.

Saber como subir las aplicaciones a los markets para que estén disponible para que todo
el mundo pueda descargar tu app.

Temer conocimiento avanzado en programación, y conocer Kotlin, Java, base de datos


relacionales y no relacionales, servicios web, conocer tecnologías de front y back
end.

→ Desarrollo IoT: Internet de las cosas es un área interdisciplinaria, que abarca muchas
tecnologías. Desde conocer componentes electrónicos hasta programación C++.

El desarrollador IoT crea aplicaciones y desarrolla prototipos conectados.

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:

→ Python: Es un lenguaje interpretado de programación multiplataforma (funciona


sobre cualquier sistema operativo) y multiparadigma, es tipado dinámico y de propósito
general (que sirve para muchas tareas).

Su simpleza y legibilidad lo transforman en un lenguaje ideal para empezar a


programar, y para realizar desarrollos en tiempo récord.

6
Popular y utilizado actualmente en varias áreas: Datos, Machine Learning, inteligencia
artificial, aplicaciones web, automatización, IoT, seguridad, entre otros.

→ R: Es un lenguaje bastante adecuado para la estadística, ya que permite manipular


los datos rápidamente y forma precisa. Puede leer prácticamente cualquier tipo de datos.

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.

Solo se utiliza en Data Science.

→ Java: Reconocido por su legibilidad, simplicidad y popularidad. Es un lenguaje


particular porque es compilado, pero a un lenguaje intermedio llama bytecode, que
después es interpretado.

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.

La solvencia, versatilidad y consistencia de las bases de datos relacionales, hacen de


este lenguaje uno de los más importantes, útiles y demandados.

Las bases de datos almacenan y proporcionan acceso a datos. Se basa en el modelo


relacional, una forma intuitiva y directa de representar y acceder a datos en tablas.

→ JavaScript: NO confundirlo con Java, ya que son lenguajes distintos.

Javascript es un lenguaje de programación interpretado que puede ser utilizado para


crear programas que están embebidos en las paginas web. Sirve para crear efectos y
realizar acciones interactivas. Por lo general del lado del lado del cliente. Aunque
también se puede trabajar en backend.

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.

La solución vino de la mano de CSS, un lenguaje enfocado a crear y mejorar la


presentación de un documento basado en HTML. El código CSS hace la vida más
fácil al separar la estructura de un documento HTML, de su presentación.

→ HTML, CSS Y JavaScript: HTML, CSS y Javascript, es un tridente que se volvió


imprescindible para el desarrollo front-end.

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.

PHP es un lenguaje interpretado, multiparadigma y de tipado dinámico.

→ Kotlin: Es un lenguaje de programación oficialmente reconocido por Google para el


desarrollo de aplicaciones. Desde que apareció este lenguaje y, gracias a sus
características/ventajas, ha sobrepasado a Java en el desarrollo Mobile.

Se trata de un lenguaje orientado a objetos, fuertemente tipado, que se ejecuta en la


JVM (Java Virtual Machine) lo que hace que además sea interoperable 100% con
JAVA. Podemos usar Kotlin en servidores, en la web, en IOS, etc.

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.

Los editores de código son entonces la herramienta para los programadores.

→ 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.

→ Sublime Text: Sublime text 3 un editor de código multiplataforma. Es ligero, open


source, con una estabilidad alta y te permite editar un archivo de forma muy rápida.
Todo eso, precisamente, lo convierte en uno de los editores más populares después de
Visual Studio Code.

Otro de los puntos fuertes es que es increíblemente extensible, ya que cuenta con una
enorme cantidad de plugins disponibles para instalar.

→ Atom: Atom es un editor de buena velocidad y con altas posibilidades. Se trata de un


editor de texto open source desarrollado por GitHub. Es cierto que aun es mas lento que
algunos de sus competidores, pero es tan útil como cualquiera del resto de opciones.

12

También podría gustarte