Conceptos de La Programación
Conceptos de La Programación
Imperativos vs declarativos
Funcionales vs Procedimentales
Conceptos de la programación 1
Funcional se encarga en ir creando una serie de funciones en los
cuales introducimos un parámetro y obtenemos otro
Proceso de conversión
IDEs
Entorno de desarrollo integrado (IDE) → Existen varios: VSCode, Atom, Sublime
Text, PyCharm, Notepad++
Control de versiones: Si quiero volver a versiones anteriores necesito utilizar
diferentes sistemas, ejemplo git y github. Antes existía CVS y SVN para
controlar versiones del código
Lenguajes de programación
Introducción
python → Lenguaje de programación más utilizado, se utiliza para todo y tiene
frameworks para desarrollo web (django y flask), es un lenguaje fácil de utilizar
Conceptos de la programación 2
y de programación interpretado.
.NET → Framework para crear sitios web, app web, y servicios web, tiene
dificultad moderada y fue creado por Microsoft.
PHP → Lenguaje más utilizado para desarrollar app web, compite directamente
con javascript y python, muy sencillo de aprender y apoyo de la comunidad, las
webs son un poco mas lentas a JS
HTML → Lenguaje de etiquetado, deben interpretar todos los navegadores, se
utiliza para crear sitios web ESTÁTICAS, es muy sencillo de aprender.
Dart → Desarrollado por google, se utiliza para web, servidores y móvil, sintaxis
como C y lenguaje complejo de aprender y con comunidad muy pequeña
Kotlin → Se desarrollo para competir contra JAVA, mas sencillo que utilizar con
el mismo output, puede interactuar con código java y se utiliza para desarrolla
app móviles.
Conceptos de la programación 3
Swift → Lenguaje para desarrollar app de IOS, esta respaldado por Apple y
tiene soporte a partir del iOS7
BONUS → Lenguajes más utilizados JS, HTML/CSS, Python, SQL, Java, Node,
TypeScript, C#, Bash, C++, PHP, C, PowerShell, Go, Kotlin, Rust, Ruby.
Paradigmas de programación
Programación Estructurada → Primera programacion, por secuencias para
ejecutar una instrucción abajo de la otra, que puede tener una condición y
variar una instrucción o otra
Para crear los objetos se hace uso de las CLASES, en base a esta clase (que
tiene métodos y atributos) podemos crear diferentes objetos.
Conceptos claves:
Herencia: Podemos tener una clase padre y de este podemos hacer clases
derivadas
Conceptos de la programación 4
Se puede utilizar tanto como Programación Estructurada y POO.
Desarrollo web
Front y Back → Frontend (el diseño o la cara visible) Backend (darle la
informacion al frontend), & FULLSTACK (comprende ambos desarrollo)
Lenguajes del lado del servidor → Java, Ruby, PHP, Python, C#, .NET, Perl,
NodeJS. Se encarga de liberar de carga computacional al cliente.
Lenguajes del lado del cliente → HTML, CSS, JS, TypeScript, Ajax.
Stacks → Conjuntos de tecnologías que permiten crear web full stacks. LAMP,
WAMP, XAMPP (Basados en php), MERN, MEAN, MEVN, PERN (Basado en JS).
Conceptos de la programación 5
Desarrollo multiplataforma
Crear un solo codigo y que despues se creen diferentes archivos para las
diferentes plataformas existen.
Plataformas → iOS, MacOS, Windows, Linux, Android, JVM.
Lenguajes multiplataforma → JS, JAVA, Python, C#, Ruby, Dart. Pero necesito
tambien diferentes Frameworks para que funcione multiplataforma
Code review
Que es? Cuando trabajamos en un equipo utilizando git se crea un “pull
request”, va a pasar el filtro de alguien que revisa y testea el codigo antes de
llevarlo a produccion.
Las plataformas que facilitan la revision del codigo son muchas, las mas
utilzadas son GitLab, GitHub, CodeFactor
DevOps y CICD
Conceptos de la programación 6
Que son DevOps → Es una metodologia de desarrollo de software que consiste
en ir desarrollando y publicando codigo de poco en poco, PAra las facilidades
se desarrollo el CI (integracion continua, lo que hace es publicar el codigo a
travez de un merge, pull, etc.) y CD (despliegue continuo, desplegar la
aplicacion a produccion para que se pueda utilizar).
Las herramientas o servicios que ofresen soporte CI/CD, Ansible, HELM,
Jenkins, GitLab, GitHub, BitBucket.
Contenedores
Contenedores → infraestructura, el sistema operativo, el software (contenedor
motor) donde le paso cada uno de los contenedores, libreria, software, etc. Por
lo que trabajamos con menos MB por contenedor (mayor rapidez). Docker y
Pdman.
Cloud Computing
Que es? → Es un modelo de entrega de servicios de computación a través de
Internet. En lugar de almacenar y procesar datos en dispositivos locales, como
computadoras personales o servidores locales, el Cloud Computing permite
acceder a recursos informáticos, como almacenamiento, potencia de
procesamiento y software, a través de la red. Las companias mas conocidas
son AWS, Google Cloud y Azure.
Quality Assurance
Conceptos de la programación 7