Últimos Comentarios…

Algunas Razones del Porque Aprender a Programar

Introducción (Breve Recuento y Contexto Actual):

Siento que casualmente mi generación, esa de los 80s tuvo por así decirlo, la dicha de ser testigo de esa transición entre la era industrial y la era tecnológica… o al menos presenciar el nacimiento del internet, lo que no es poca cosa…

Fuimos testigos además de esos primeros ordenadores personales, el primer salto en la evolución de los videos juegos con el Nintendo, y si nos colocamos en la época reciente… el como a traves de cuenta gotas, la industria ha ido soltando sus publicitadas mejoras a nivel de software y hardware(que quizás solo quizás, no son ni tan revolucionarias ni tan innovadoras)…

Un ejemplo interesante podría ser que a excepción de esa tecnología 3D que ahora se puede decir da un salto para el publico general. Muchos de los gráficos, efectos e incluso los niveles de complejidad de muchos videojuegos o programas de diseño… como el Drawboard básico de cualquier Apple antigua han desmejorado de alguna manera.

Me parece observar que ese concepto de complejidad dentro de la síntesis y optimización de recursos, se ha truncado un tanto por una necesidad de crecimiento de mercado.

Que no solo hace un producto obsoleto a nivel de hardware mucho antes del tiempo de vida útil que podría definir su estructura original, sino que además esto se expande al software (ese conjunto intangible que aun nos suena a magia)…

Y además, tristemente, a los procesos internos que hacen uso de los recursos generales de un sistema dado…

Entonces se podría hablar no sin razón, de “Obsolescencia Programada”… pero esa es otra historia y …

En fin el tema se presta para desviarse bastante de la idea principal o el titulo de esta entrada, pero posiblemente sea un tema para una próxima.

Lo cierto es que estas generaciones actuales, o digamos incluso en particular la del 2020. Será ahora testigo presencial inmediato de la revolución IA y también esperemos de las energías renovables, como de la transformación de los poderes judiciales mundiales y el como se manejan los recursos… pasando de democracias representativas a consensos públicos más amplios…

Y con un poco de imaginación, ¿porque no? redes paralelas, no controladas por un Sistema o DeepState invisible y con un guion diferente al planteado por la Media y los Multimedia en general.

En todo caso las computadoras, las IAs(Inteligencias Artificiales) y los procesos informáticos detrás de cada software que hace posible: telecomunicaciones, tableros eléctricos de coches, electrocardeogramas, sensores, dispositivos móviles, neveras, electrodomésticos y casi cualquier proceso que envuelva el uso de alguna fuente artificial de energía…

…dependen de un código invisible(…010001011101…) relacionado a algún lenguaje de programación, como a muchos procesos que pueden envolver el uso de información personal (por lo general desconocidos y almacenados en alguna especie de caja negra)…

Sí, aunque parezca una cosa de ciencia ficción. En esta era de El Internet de las Cosas y conceptos como M2M(Machine Two Machine) se hace posible que tu microondas comparta información con tu dispositivo móvil, tu nevera… tu toilet jeje(sí, no es broma), así como tu coche, tu reloj de pulsera o el parquímetro y algún sensor oculto en alguna estructura publica…

¿Y qué con esto? Al final, parte del proceso evolutivo de la tecnología y la sociedad

Pues sí, quizás solo eso. Pero lo grave es que cada vez, de alguna manera se van creando más capas que dejan esos procesos aislados e invisibles al ojo de los usuarios finales e incluso muchos de los desarrolladores a cargo de la creación de interfaces como apps o websites, y con ello la manera en que se hace uso de estos datos…

Como las capas de Google que te ves forzado a aceptar al comprar un móvil nuevo y vienen con su spyware añadido(entre otras cosas)

Por ello no es nada extraño ya, que a los minutos de haber estado hablando de una locación o un chollo determinado…

…aparezca como salido de un Sombrero de Ilusionista o ya por Sincronía Divina, una publicidad invitándote a adquirir un paquete turístico o un descuento relacionado a … (y quizás aquí entra otra utilidad a esos números complejos usados para cálculos astronómicos a la hora de enumerar una de estas innumerables necesidades de ocasión…)

Y resulta grave cuando observamos que no solo todo el sector laboral, artístico, educativo… se relaciona cada vez de manera más directa con estos softwares (programas/códigos) ininteligibles a la mayoría, sino que aparecen toda una gama de herramientas que hacen posible acceder o generar muchos de estos procesos y servicios sin conocimientos previos de programación.

Dando acceso sí, a una cantidad más amplia de usuarios, pero al tiempo y de manera a ratos un tanto subrepticia… ocultando más la ingeniería base que hace posible la web, el flujo de data, el sistema direccional o de seguridad de tu coche, la comunicación a través de tu dispositivo móvil, etc..

Y es que quizás aun no queda muy claro, pero incluso para el que entra al mundo de la programación en esta época, ya no le es tan vital conocer lenguajes base como JavaScript, HTML5 o CSS3 para desarrollar el Frontend(lado cliente) de un website(una pagina web) o incluso otros lenguajes más o menos elaborados para el manejo de procesos a nivel de Backend(lado servidor) como el manejo de peticiones o recursos de sistema como lenguajes como C que trabajan a nivel de procesador y son indispensables para el manejo de microprocesadores y casi cualquier sistema operativo.

Porque ya existe un Framework o un SAAS(Software as a Services) que cubre esa funcionalidad o alguna librería desarrollada por otra persona que cubre una necesidad dada

Y así lo que antes requería entender un mínimo sobre la estructura básica que hace posible un layout, una serie de estilos dados a un texto o la forma de un contenedor y/o funcionalidades/animaciones… se hace clickando o seleccionando una serie de opciones o solicitando a uno de estos Chatbot(originalmente llamaods chatterbot) que lo realice por ti.

E incluso cuando programas en alguno de estos lenguajes modernos(llamados de alto nivel en parte por lo parecido al habla humana) o haces uso de ciertas librerías y Frameworks… cada vez más procesos quedan ocultos a esas nuevas generaciones de programadores. A los que les resultaría dificil el imaginar un editor de codigo parecido a un word con tan solo unas minimas funcionalidades, sin linters que señalen fallas de manera automatica o Agentes IA integrados que puedan incluso generar codigo en tus archivos e interpretarlos.

Entonces se hace necesario no perder la curiosidad y la capacidad de adentrarse en nuevos temas y conceptos, con la finalidad de comprender un poco más los procesos que involucran las tecnologías de las que hacemos uso o desarrollamos.

Y ahora para cerrar esta introducción y antes de pasar al tema de como iniciarse en esta área o mencionar algunos de los recursos disponibles que existen para tal fin. Listemos algunas de las ventajas que presenta el aprender a programar en esta época:

Beneficios de Aprender Programación (Listamos algunas de ellas)

1. Alta demanda laboral: La programación es una de las habilidades más solicitadas en el mercado laboral actual, con empresas de todos los sectores buscando desarrolladores para crear y mantener software.

2. Salarios competitivos: Los trabajos en tecnología suelen ofrecer remuneraciones atractivas, con oportunidades de crecimiento y bonificaciones en roles especializados.

3. Versatilidad: La programación se aplica en casi todas las industrias, desde finanzas y salud, hasta educación, agricultura y entretenimiento. Permitiéndote cambiar de sector sin empezar desde cero.

4. Resolución de problemas: Desarrollas un pensamiento lógico y estructurado, mejorando tu capacidad para analizar problemas y diseñar soluciones eficientes.

5. Creatividad e innovación: Puedes materializar ideas propias, desde aplicaciones móviles hasta videojuegos o herramientas innovadoras, convirtiéndote en un creador digital.

6. Acceso a recursos y comunidades: Existen innumerables plataformas de aprendizaje (Coursera, Udemy, freeCodeCamp), foros (Stack Overflow, GitHub), youtubers (Fatz, Mouredev, Codeninja, CodeBubb, thecodetrain…) y comunidades que apoyan tu crecimiento constante ( StackOverflow ()=> https://goalkicker.com/ ).

7. Trabajo remoto y flexibilidad: Muchas empresas ofrecen modalidades híbridas o 100% remotas, permitiéndote trabajar desde cualquier lugar del mundo con solo una computadora.

8. Automatización de tareas: Puedes optimizar procesos repetitivos (ej.: análisis de datos, gestión de archivos y/o aplicaciones, tareas) con scripts, ahorrando tiempo y reduciendo errores humanos.

9. Contribución a proyectos de código abierto: Colaborar en proyectos como GitHub no solo mejora tu portfolio, sino que también te conecta con desarrolladores expertos.

10. Preparación para el futuro: En un mundo digitalizado, entender lenguajes de programación será tan esencial como saber inglés, independientemente de tu profesión.

11. Desarrollo personal: Superar desafíos de código fomenta la resiliencia, la paciencia y la autodisciplina, habilidades útiles en todos los aspectos de la vida.

12. Interacción crítica con la tecnología: Dejas de ser un usuario pasivo para comprender cómo funcionan los sistemas, tomar decisiones informadas y hasta identificar fallos de seguridad.

13. Emprendimiento digital: Tienes las herramientas para crear tu propia startup, app o servicio en línea sin depender completamente de terceros.

14. Oportunidades globales: Al ser un campo sin fronteras, puedes trabajar para empresas internacionales o incluso emigrar con facilidad (muchos países priorizan visas para tech talent).

15. Aprendizaje continuo: La tecnología evoluciona rápidamente, lo que mantiene tu mente activa y te obliga a estar siempre actualizado, evitando la obsolescencia profesional.

16. Impacto social: Puedes desarrollar soluciones para problemas reales (ej.: apps educativas, sistemas para ONGs) y contribuir a causas que te importen.

17. Trabajo freelance: Plataformas como Upwork, Fiverr, Workana permiten monetizar tus habilidades por proyecto, ideal para quienes buscan independencia financiera.

18. Mejora de habilidades matemáticas y lógicas: Conceptos como algoritmos o estructuras de datos refuerzan tu capacidad de razonamiento abstracto.

19. Personalización de herramientas: Adaptas software existente a tus necesidades (ej.: macros en Excel, plugins para WordPress) o creas extensiones propias.

20. Networking con profesionales: Asistes a hackathons, meetups o conferencias tech, expandiendo tu círculo de contactos con personas influyentes en la industria.

21. Adaptabilidad a nuevas tecnologías: Aprender un primer lenguaje facilita dominar otros después, ya que muchos conceptos son transferibles (ej.: de Python a JavaScript).

22. Satisfacción personal: La sensación de ver funcionar un programa que construiste desde cero es única y altamente motivadora.

23. Seguridad cibernética básica: Entiendes vulnerabilidades comunes (ej.: inyecciones SQL), protegiendo mejor tus datos y los de otros.

24. Educación accesible: A diferencia de otras carreras, puedes aprender programación de forma autodidacta y con inversiones mínimas (o gratuitas).

25. Diversión como hobby: Muchos programadores disfrutan codificar por placer, ya sea participando en retos (CodeWars) o desarrollando proyectos personales.

Conclusión: Espero te tomes la tarea de sacar tus propias conclusiones al respecto de si es importante o no el aprender a programar y las ventajas que esto podría representar en tu día a día o en tu relación con el entorno social(e incluso si lo pensamos un poco, la responsabilidad social que entraña).

Como nota final, dejo una pequeña lista de recursos útiles para documentación, formación, etc. en el área tratada:

Codecademy: Desde sus inicios brindó una posibilidad gratuita y otra de pago para el aprendizaje de diferentes lenguajes de programación y empleó una consola virtual online para tal fin(lo que valga decir era bastante innovador para la época). https://www.codecademy.com/

Desarrolloweb: Base de conocimiento gratuita para todos. (Creo que está web particular, al menos en mi experiencia cuando una animación o incluso los estilos de CSS eran algo mucho más complejo o más crudo) Esta web particular resulto un buen lugar donde conseguir artículos amenos que me invitaran a incursionar en este mundo del desarrollo web y me mostraran otras tantas alternativas en el área TECH. https://desarrolloweb.com/

W3School: A pesar del empeño de algunos reconocidos creadores de contenido en el área TECH y su insistencia en que nadie puede llegar a aprender a programar con solo recursos de éste site.

Es mi opinión de que no está nada mal para adquirir una primera base en algunos lenguajes e incluso medir el conocimiento teórico y a ratos practico adquirido por medio de sus test interactivos y su metodología un tanto didactica. https://www.w3schools.com/

CodePent: En sus palbras “CodePen is a social development environment for front-end designers and developers. Build and deploy a website, show off your work, build test cases to learn and debug, and find inspiration.” Esta web da la posibilidad de tres pequeñas ventanas de edición configurables hasta cierto grado… donde escribir y testear directamente código HTML, JavaScript y CSS o SASS… observando en tiempo real los cambios realizados en el codigo. https://codepen.io/

Retos de Programación(MoureDev): Éste me parece uno de los recursos más interesantes para comenzar a profundizar en cualquier lenguaje de programación(sí cualquiera)… Una de las tantas cosas interesantes de este proyecto es que los ejercicios propuestos, están planteados a modo de abstracto y pueden ser adaptados en la mayoría de los casos a cualquier lenguaje de programación. Adicional a esta Web, su creador (MoureDev) nos regala con numerosos tutoriales gratuitos en YouTube, narrados con un lenguaje apropiado y cultivado, y un tono muy cálido y personal. Y además con su propia web MoureDevPro.

https://retosdeprogramacion.com/ https://mouredev.pro/

Fatz Code: Hablando de Youtubers, no podemos dejar de lado a Fatz, quien con un tono ameno, profesional y preciso va guiándonos a través de diversas tecnologías. Mostrándolas, explicándolas y muchas veces haciendo de reportero TECH. Siendo una voz de confianza que muchos desarrolladores y amantes de la tecnología en general, valoramos y seguimos con atención y agrado.

https://faztweb.com/ https://www.youtube.com/@FaztTech

A continuación una lista breve de recursos en ingles que no debe subestimarse, + si consideramos que en ésta área particular, el ingles se ha convertido en un skill obligatorio a adquirir. So, let’s get stared…

Pedro Tech: En sus palabras “Pedrotech is a YouTube channel where I share easy-to-follow tutorials on web development, React, and all things coding. Whether you’re just starting out or looking to sharpen your skills, you’ll find tips and projects to help you build awesome stuff.”.

Me parece que cualquiera que valore el lenguaje y el contenido de calidad, donde se profundizan conceptos y se habla con propiedad de los temas expuestos, valorara sin duda los tutoriales de este chico.

https://pedrotech.co webdevultra.com

Code With Bubb: Si realmente buscas subir de nivel o ver posibilidades, sin duda este es uno de los recursos + interesantes que he encontrado en YouTube: https://www.youtube.com/codebubb

o en su web personal: https://codewithbubb.gumroad.com

The Coding Train: Este chico, con mucho humor, creatividad y experiencia nos acerca a la programación de una manera lúdica abordando en ocasiones conceptos complejos, explicados de una manera amena, que resulta en comprenderlos por otras vías.

https://thecodingtrain.com/ https://www.youtube.com/@TheCodingTrain

Net Ninja: Aunque nos quedamos con muchas teclas por pulsar… cerramos con este par de recursos, tanto en YouTube como en su web oficial. Sus tutoriales como el de los creadores anteriores mencionados se defienden por si solos: netninja

https://www.youtube.com/@NetNinja

Bonus: Beneficio de Aprender a Programar en la Era de la IA: Adaptabilidad Laboral y Neurodivergencia

Aprender a programar te permite integrar y potenciar diversas tecnologías de IA, adaptándolas a entornos laborales inclusivos donde la neurodivergencia (ej. personas con TEA, TDAH, dislexia) es una ventaja para el área creativa.

Ejemplos de tecnologías y su relación con habilidades de programación + neurodiversidad:

1. DeepSeek (LLM – Procesamiento de Lenguaje)

– Beneficio laboral: Automatizar análisis de datos, generar código asistido o crear chatbots accesibles.

– Para neurodiversidad: Ideal para perfiles con pensamiento lógico o dificultades en comunicación escrita (ej. usar IA para estructurar ideas).

2. Stable Diffusion / DALL-E (Generación de imágenes)

– Beneficio laboral: Diseñar prototipos visuales sin depender de habilidades artísticas tradicionales.

– Para neurodiversidad: Personas con pensamiento visual pueden expresar ideas complejas mediante IA.

3. AutoML (Machine Learning automatizado)

– Beneficio laboral: Crear modelos predictivos sin ser experto en matemáticas avanzadas.

– Para neurodiversidad: Enfoques no lineales (comunes en TDAH/TEA) pueden identificar patrones únicos en datos.

4. Herramientas de Automatización (Zapier, Scripting)

– Beneficio laboral: Eliminar tareas repetitivas, permitiendo enfocarse en soluciones creativas.

– Para neurodiversidad: Ideal para personas con dificultades en organización ejecutiva pero altas en resolución de problemas.

Para programación asistida por IA:

– DeepSeek Coder: Modelo especializado en generar y optimizar código (ideal para depurar errores).

– Amazon Q (AWS): Asistente para desarrollo en la nube, explica servicios técnicos en lenguaje sencillo.

Para creación de contenido:

– Suno AI: Genera música original con prompts, útil para proyectos multimedia.

– Runway ML: Edita videos con IA (ej.: eliminar fondos sin usar After Effects).

Para neurodiversidad en el trabajo:

– Goblin Tools (Magic ToDo): Desglosa tareas en pasos microscópicos (ideal para disfunción ejecutiva).

– Otter.ai: Transcripciones en vivo de reuniones, con resúmenes automáticos.

Conclusión clave:

Programar te empodera para personalizar el uso de IA, adaptándola a tu forma de pensar y a demandas laborales emergentes. La neurodiversidad, lejos de ser una barrera, se convierte en un activo al combinar pensamiento no convencional con herramientas tecnológicas flexibles.

Ejemplos concretos: Programación resolviendo problemas específicos

Caso 1: Automatización de tareas repetitivas (Scripting)

– Problema: Un empleado con TDAH pierde tiempo organizando archivos manualmente, lo que aumenta su frustración.

– Solución: Un script en Python (usando librerías como `os` o `shutil`) que:

– Clasifica automáticamente archivos por tipo (.pdf, .jpg) en carpetas.

– Renombra lotes de documentos con patrones predefinidos.

– Herramientas actuales:

– GitHub Copilot: Sugiere código en tiempo real para escribir el script más rápido.

– Make (ex-Integromat) / Zapier: Automatiza sin código, ideal para quienes prefieren interfaces visuales.

Caso 2: Análisis de datos accesible

– Problema: Una persona con dislexia necesita extraer insights de una hoja de Excel con 10,000 filas.

– Solución: Un notebook de Jupyter + Pandas que:

– Filtra datos erróneos con `df.dropna()`.

– Genera gráficos automáticos con `matplotlib` para visualizar tendencias.

– Herramientas actuales:

– ChatGPT Code Interpreter: Permite subir el archivo y pedir análisis en lenguaje natural.

– Tableau Public: Para arrastrar y soltar visualizaciones sin escribir código.

Caso 3: Comunicación alternativa

– Problema: Un profesional con TEA tiene dificultades para redactar emails claros.

– Solución: Usar la API de GPT-4 para:

– Transformar notas desorganizadas en textos estructurados.

– Generar respuestas estándar con ajustes de tono (ej.: «¿Puedes hacer este email más formal?»).

Actualización: Herramientas recientes que potencian el aprendizaje

Posibles Nuevas Entradas:

1. Obsolescencia Programada: Cómo la Programación Puede ser tu Antídoto

– Cómo reparar/extender la vida útil de dispositivos con código (ej.: Raspberry Pi para revivir hardware viejo).

2. IA Generativa: ¿Aliada o Competencia para los Programadores?

– Análisis de cómo herramientas como ChatGPT están cambiando el aprendizaje y el mercado laboral.

3. Del BASIC a Rust: Evolución de los Lenguajes y por Qué Deberías Aprender Más de Uno

– Comparativa histórica y ventajas de dominar múltiples lenguajes.

4. Programación para No Programadores: Automatiza tu Vida en 30 Minutos

– Guía práctica con scripts simples (Python/JavaScript) para automatizar tareas cotidianas.

5. DeepState Tecnológico: ¿Quién Controla tu Código?

– Reflexión sobre dependencia de corporaciones (GitHub/Microsoft, Google) y alternativas open-source.

6. Ética en la Programación: Cuando el ‘Poder’ del Código Choca con la Privacidad

– Casos como el tracking en apps y cómo proteger tus datos.

7. Frameworks vs. Código Desde Cero: ¿Dónde está el Límite?

– Pros/contra de depender de soluciones prehechas (ej.: WordPress vs. desarrollar un CMS propio).

8. Programación y Energías Renovables: Código para un Futuro Sostenible

– Proyectos que combinan IoT y programación para eficiencia energética.

9. El Mito del ‘No-Code’: ¿Empodera o Crea Usuarios Dependientes?

– Límites de plataformas como Bubble o Webflow frente al código tradicional.

10. Videojuegos Retro vs. Modernos: ¿Qué Perdimos en el Camino?

– Cómo la programación de juegos ha cambiado (ej.: motores como Unity vs. código ensamblador).

Otras Posibles Entradas:

– Cómo tu Nevera Aprende de Ti: IoT y Seguridad Doméstica

– Blockchain sin Hype: Usos Reales Más Allá de las Criptomonedas

– Programación en 2030: Predicciones (y Cómo Prepararte)

Déjanos un comentario diciéndonos cual entrada quieres que desarrollemos primero o alguna sugerencia para una próxima. O algún tutorial especial sobre por ejemplo: Cómo usar DeepSeek para mejorar el flujo de trabajo cotidiano y ahorrar tiempo.

No responses yet

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *