¿Que hace un programador?
Para desarrollar un programa (software o aplicacion), hay varias etapas, la de Analisis (donde interviene el analista), Codificación (interviene el programador), Diseño o parte visual del programa (interviene el diseñador) y Debug, (depuradores, los que buscan los errores).
El programador, es el que escribe el código, pero también es necesario que conozca la tarea de análisis, diseñador y depurador, especialízate en algo, pero aprende de todo.
- Especialízate en algo, pero aprende de todo
- Enfocate en resolver problemas
- Para aprender tienes que construir, practicar y practicar
- No aprendas solo a programar, prográmate para aprender continuamente.
Distintas areas donde puedes aplicar la programación
La programación esta en todas partes, es la carrera con mayor salida laborar, aquí te contamos en que industrias podrías aplicar la programación y desarrollarte como programador.
-Distintas áreas de la programación
- 💻 Desarrollo web.
- 📱 Desarrollo móvil.
- 🎮 Videojuegos.
- 🚀 Realidad virtual y aumentada.
- 🖥 Desarrollo de aplicaciones de escritorio.
- ⌨ Sistemas operativos / Embebidos.
- 🕵️♀️ Seguridad informática.
Desarrollo Web
La web es todo lo que se puede ejecutar en un navegador. ¿Y qué es un navegador? Son programas como Chrome, Opera, Microsoft Edge que nos permiten acceder a sitios como Twitter, Facebook, YouTube, Slack, etc.
Podríamos dividir el desarrollo web en 2 partes:
- Sitios web: Son solo páginas web informativas. Su función es meramente informar al usuario, sea sobre un negocio, escuela, etc. Se puede utilizar un CMS como WordPress para crearlos.
- Aplicaciones web: Es una aplicación completa y contiene una lógica compleja, por ejemplo: YouTube es una aplicación web, se pueden realizar funciones como guardar vídeos, crear una transmisión, marcar favoritos, etc.
Desarrollo móvil
El desarrollo móvil es simples palabras es crear aplicaciones para teléfonos y estas pueden funcionar en 2 sistemas operativos: Android de Google y iOS de Apple.
En Android puedes desarrollar con lenguajes como Kotlin o Java, mientras que en IOS está Swift. A este tipo de aplicaciones se les conoce como “aplicaciones nativas”, ya que se desarrollan específicamente en un sistema, esto quiere decir que no van a funcionar en el otro, habría que crear otra aplicación para ello. Esto puede suponer un costo excesivo para las empresas, ya que habría que hacer 2 aplicaciones.
Pero, ¿qué otras alternativas existen?
- Aplicaciones multiplataforma: En este tipo de aplicaciones solo se necesita desarrollar una sola vez para funcionar en Android o iOS. Se pueden hacer con React Native, Ionic, Xamarin o Flutter.
- Progressive Web Apps: Son aplicaciones intermedias entre web y móviles, que simulan la experiencia de una aplicación nativa. Por ejemplo la aplicación de EDteam para móviles es una PWA.
Videojuegos
Ya todos los conocemos, tienen sus propias consolas, están en móviles, en ordenadores y consolas. Su mundo es enorme, hay diseñadores, storytelling, modelado de personajes. Entre los motores más importantes que puedes usar para desarrollar videojuegos se encuentran, Unity 3D que utiliza C# y Unreal Engine que usa C++. Otros mas simples y muy utilizados como Scratch y Max2d.
Realidad virtual y aumentada
La realidad virtual es una inmersión total, se suele utilizar un casco o lentes que ocupa toda tu visión, y con ello puedes transportarte a un mundo de ensueño, hay proyectos muy conocidos como Beat Saber y Half-Life: Alyx.
Mientras que la realidad aumentada combina nuestra realidad con la virtual, un ejemplo de ello es Pokémon GO o los filtros de Snapchat. ¿Y como funciona? Es muy simple, solo se necesita un dispositivo que permita observar el entorno, y con este mismo agregarle ese añadido, por ejemplo con la cámara del teléfono que puedes añadir efectos para las stories. Esta tecnología se puede trabajar con varios lenguajes, tales como C#, Java, Javascript, Python, entre otros.
Cabe mencionar que esta tecnología no está enfocada solamente en el entretenimiento, sino que se puede aplicar en áreas como la educación, medicina, mecánica, etc. Anteriormente existieron proyectos como Google Glass, que no despegó tanto como se esperaba y por su parte Microsoft sacó HoloLens.
Desarrollo de aplicaciones de escritorio
Son aplicaciones que se instalan directamente en tu sistema operativo de computadora sea Windows,Linux, Mac OS, por ejemplo: Adobe Premier, Office, un editor de código, un IDE. Para desarrollar este tipo de aplicaciones se pueden utilizar lenguajes como Java, C#, Python.
Sistemas operativos / Embebidos
Los sistemas operativos son justamente Windows, Linux, Android o IOS, es la capa más baja de software que se comunica directamente con el hardware. Se suelen usar lenguajes como Ensamblador o C para desarrollarlos.
Mientras que los sistemas embebidos son programas electrónicos que realizan pocas funciones y están diseñados para cubrir necesidades específicas, casi siempre van directamente en un chip; por ejemplo: las operaciones de una lavadora, un refrigerador o algún otro electrodoméstico.
Principalmente se desarrollan con Java o C. También se relaciona con temas como Arduino, IoT, Raspberry, que se pueden programar con lenguajes como Python y Javascript.
Seguridad informática
La seguridad informática es tarea de todos, tanto de los programadores como de los administradores de sistemas, y aunque no lo parezca el usuario como tal es el eslabón más débil. Por su parte la seguridad informática se puede clasificar en 2 áreas: OFENSIVAS Y DEFENSIVAS.
¿Cuáles lenguajes necesitas conocer para entrar en el mundo de la seguridad informática? Principalmente Python, ya que te permite automatizar procesos, por ejemplo podrías crear un script automático que recorra un sitio para buscar vulnerabilidades. También es bueno conocer sobre C, bash y los lenguajes en que están basados las aplicaciones que vas a auditar, asimismo SQL para las bases de datos.
Lenguajes de programación
Es la forma por la cual el programador crea los programas que se comunican con la maquina, ES DAR INSTRUCCIONES A UN DISPOSITIVO (PC CELULAR ETC) QUE COMPRENDA Y QUE HAGA LO QUE QUIERAS..
Lenguajes hay muchísimos, aquí te dejo algunos de los mas conocidos.
Cuales son y para que sirven
- SCRATCH (VIDEO JUEGOS)
Scratch es un lenguaje de programación para video juegos, para niños y adultos, con una interfaz gráfica muy sencilla.
- PYTHON
Es uno de las mas utilizados en la actualidad, se utiliza para desarrollos web y desarrollo de escritorio, en las finanzas
- JAVA
Es el mas usado en el mundo, se puede hacer de todo, desde sistemas de escritorio, apps de Android, juegos… ejemplo el MINECRAFT esta echo en java
- JAVASCRIPT
PARA PAGINAS WEB, FUNCIONA CON LOS NAVEGADORES
- C/C++
El lenguaje C es uno de los más antiguos que existen. Y eso, a la postre, ha sido una de sus principales bazas, que lo ha mantenido como el más usado del mundo, junto con Java.
Es un lenguaje que se creó para diseñar sistemas operativos, como Unix y otros muchos.
- PHP
Muy fácil de emplear si estás empezando en esto de la programación, pero muy completo para los programadores profesionales.
- C#
C# es un lenguaje creado por Microsoft con seguridad de tipos y orientado a objetos. Se diseñó para ejecutarse en la plataforma .NET. C# se usa para el desarrollo de juegos, servicios web XML, componentes distribuidos, aplicaciones cliente-servidor, etc. La sintaxis de C# es muy reconocida, por lo que si estás familiarizado con Java.
LINKS
Aquí les dejo unos links recomendados para entrar al mundo de la programación, especialmente el primer video, con el curso de programación desde cero.
Curso de programación desde cero – sin utilizar ningún lenguaje de programación.
Programación de video juegos con Scratch
Especialízate en ALGO pero APRENDE DE TODO.