¿Se puede aprender a programar en forma autodidacta?

Aprender a programar es muy fácil

Cada tanto se pone de moda una profesión que, si la estudias será tu pasaporte a la fama o la fortuna o, una habilidad que si tus hijos no la aprenden los condenará al fracaso. En la actualidad es la creación de aplicaciones y, antes de que sea reemplazada por la Inteligencia Artificial intentaremos responder a la pregunta ¿Se puede aprender a programar en forma autodidacta?

Dejemoslo en claro, no hay absolutamente ninguna disciplina que te garantice el éxito y, si bien es cierto que un buen programador adquiere habilidades que le serán de utilidad en la vida, también se pueden adquirir estudiando otras cosas.

Recuerdo de mi adolescencia transcurrida en los años ochenta, una publicidad que decía que si aprendías Basic las empresas se pelearían por contratarte Basic es un lenguaje de propósito general que difícilmente sirve para construir aplicaciones que se usen en el mundo real. Años más tarde se incluyó la enseñanza de informática en los colegios que no era más que explicar el uso de las herramientas ofimáticas de Microsoft. En los últimos años popularizaron los cursos de programación que en realidad deberían llamarse cursos de codificación porque solo se limitan a enseñar los rudimentos de un lenguaje de programación.

¿Se puede aprender a programar en forma autodidacta?

La discusión sobre si se estudiar en una universidad para hacer carrera como programador reaparece cada tanto en las redes sociales.  Por supuesto que quienes la cursaron son fervientes partidarios del diploma, mientras que los que se formaron a sí mismos niegan esa necesidad. En general, las empresas del sector parecen preferir la demostración de las habilidades antes que los pergaminos.

De todas formas, no solo se aprende a programar para ganar dinero. También se puede hacerlo para colaborar en proyectos de código abierto o para crear aplicaciones que se adapten a nuestras necesidades.

Con respecto a la pregunta del título, es cierto que se puede, pero teniendo presente que cuanto más practiques mejor programador serás.

¿Qué debe aprender un programador?

Probablemente cualquier estudiante aplicado de escuela primaria sepa sobre la gramática española lo mismo que Pérez Reverte o Vargas Llosa. Sin embargo, no será capaz de escribir una buena novela. Lo mismo sucede con la programación. Puedes saberte de memoria todos los comandos de un lenguaje y memorizar miles de líneas de código y, sin embargo, eso no te convierte en un programador.

La primera habilidad requerida para un programador es la objetividad y la capacidad de razonamiento lógico. Una aplicación debe resolver problemas y quien la desarrolla debe identificar cuál es, imaginar una solución y ser capaz de implementarla antes de ponerse a escribir código.

El siguiente paso es identificar que lenguaje de programación es el más adecuado para construir la aplicación. En el sector se da mucho eso de que si solo tienes un martillo creerás que todos los problemas son clavos.

Para cada lenguaje de programación existen varios entornos integrados de desarrollo. Muchos son compatibles con varios lenguajes de programación por lo que familiarizarse con alguno de ellos ahorrará bastante trabajo.

La mayoría de las distribuciones Linux incluyen soporte para los lenguajes de programación más populares además de una selección de entornos integrados de desarrollo.

Algunas distribuciones recomendadas para aprender a programar

Esta es una selección absolutamente personal. En principio cualquier distribución Linux puede usarse para programar.

  • Ubuntu: Es una distribución muy popular por lo que si buscas cómo hacer algo en Linux probablemente encuentres cómo hacerlo en Ubuntu. Además, cuenta con la más completa selección de programas y distintas formas de instalación.
  • Red Hat Enterprise Linux: Si eres desarrollador, podrás obtener una licencia gratuita y acceder a herramientas muy útiles para programadores como gestión de contenedores y soporte para distintos lenguajes de programación.
  • Fedora:  Es una distribución comunitaria en la que se prueban las características que más adelante formarán parte de Red Hat Enterprise Linux. En sus repositorios se encuentran las versiones más actuales de las herramientas de programación.

from Linux Adictos https://ift.tt/akQRFAy
via IFTTT

Más derivadas de Arch Linux

Comentamos más distribuciones derivadas de Arch Linux

En mi artículo sobre CachyOS les comenté sobre que algunas distribuciones habían dado lugar a muchas otras. En este les voy a enumerar más derivadas de Arch Linux.

Debido a que se trata de una distribución enfocada en la configurabilidad y a que tiene una completa documentación, Arch Linux es una de las más elegidas para construir nuevas versiones.

Algunos conceptos básicos

Muchas veces los difusores solemos olvidarnos que todos los días se incorporan nuevos usuarios a Linux y que es un error pensar que todos saben de que estamos hablando, por lo que permítanme antes de seguir repasar algunos conceptos.

Distribución Linux

Una distribución Linux es una combinación de software incluyendo el núcleo Linux, utilidades varias (Generalmente desarrolladas por el proyecto GNU) un servidor gráfico, un gestor de ventanas, un escritorio y una colección de programas utilitarios como navegadores o suites ofimáticas.

Distribución derivada

Es una modificación de una distribución Linux existente modificada para adaptarla a las necesidades de un grupo de usuarios en particular como principiantes o especialistas en análisis forense.

Más derivadas de Arch Linux

Manjaro

¿Recuerdas la colección de libros llamada «Elige tu propia aventura»? En un momento dado te daban dos opciones y de acuerdo con cuál eligieras te mandaban a la página correspondiente. Bueno, Arch Linux es algo así, a medida que vas avanzando por el proceso de instalación puedes ir optando por las múltiples opciones que Linux ofrece para cada cosa.

Ahora bien, imagina que alguien edita esos libros y los transforma en novelas tradicionales que se leen en forma lineal. Eso sería Manjaro.

Esta distribución Linux selecciona varias de las distintas opciones de Arch y las empaqueta en soluciones listas para usar. Cuenta con tres sabores comunitarios: KDE Plasma, XFCE y GNOME. También hay versiones desarrolladas por la comunidad para los escritorios Budgie, Cinnamon y Mate y con los gestores de ventanas I3 y Sway.

El instalador Calamares (Usado por otras muchas distribuciones) es un auténtico placer, tanto por su diseño como por su uso intuitivo.  Para la instalación de aplicaciones de extenso repositorio de Arch Linux contamos con un gestor de paquetes gráficos.

Parabola GNU/Linux-libre

El software libre cómo tantas otras cosas tiene sus fundamentalistas y, si quieres probar una distribución basada en Arch Linux que no tenga un solo componente no aprobado por la FSF acá está lo que buscas.

Por empezar, en lugar del kernel Linux tradicional utiliza el del proyecto GNU Linux-libre que se asegura de expurgar cada componente privativo del mismo. Por supuesto que puedes ir olvidándote de tener soporte completo para mucho hardware, especialmente el más moderno. También identifica aquellos paquetes de los repositorios de Arch que no son considerados libres y no podrás descargarlos.

La distribución viene en dos sabores, uno sin interfaz gráfica y otro con el escritorio LXDE.

EndeavourOS

Se presenta como una distribución centrada en la terminal lo que parece limitarse a no tener un gestor de paquetes gráficos porque por lo demás tiene herramientas gráficas muy completas.

Si te conformas con el escritorio XFCE, podrás usar el ya mencionado instalador Calamares offline, pero para optar por las otras opciones gráficas: Gnome, KDE, Deepin, Budgie, Cinnamon, Mate, LXQT o i3 deberás usarlo en conjunto con una conexión a Internet. Aparentemente la distribución funciona muy bien con las tarjetas gráficas de Nvidia.

Las aplicaciones de Bienvenida se han popularizado en muchas distribuciones Linux y EndeavourOS ofrece la suya con enlaces a la documentación y sugerencias de aplicaciones que puedes instalar.

BlackArch

Si llevas suficiente tiempo en Linux habrás oído hablar de Kali Linux, una distribución especializada en seguridad informática y test de penetración basada en Debian. Bueno, BlackArch es exactamente lo mismo solo que está basada y usa los repositorios de Arch Linux. Es posible descargarse la versión con todas las herramientas o una más pequeña que permita instalar las herramientas que necesitas ya sea por rubro o por título.

El proyecto cuenta con una guía en pdf, pero lamentablemente no está ne español.

from Linux Adictos https://ift.tt/C8iNz4Z
via IFTTT

CachyOS, otra derivada más de Arch Linux ¿O no?

CachyOS promete hacer más rápido a tu ordenador

Hace poco mi compañero Pablinux se preguntaba por la necesidad de tantos sabores oficiales o aspirantes a oficiales de Ubuntu. Mi preocupación es en cambio por la proliferación de sabores no oficiales, este es el caso de CachyOS, otra derivada más de Arch Linux.

Que algo se pueda hacer, no significa que deba hacerse. Es cierto que las 4 libertades del software libre no solo permiten, sino que promueven la modificación y distribución del código. Sin embargo, debería existir un motivo para ello. Me refiero un motivo mejor que la vanidad de tener tu propia distro o una rabieta porque dentro de la comunidad no aceptaron tu propuesta.

La sobreabundancia de distribuciones Linux no solo es una pérdida de recursos materiales y humanos, además confunde a los nuevos usuarios. Microsoft y Apple tienen desarrolladores a tiempo completo dedicados a sus sistemas operativos. La mayoría de los sabores Linux dependen de voluntarios que trabajan en su tiempo libre. La creación de software es una actividad que demanda mucha atención.

¿Por qué hay tantas distros basadas en Arch Linux?

La mayoría de las distribuciones actuales son derivadas de Debian o de Arch Linux. En el caso de Debian es por su estabilidad y disponibilidad de útiles herramientas y su previsible ciclo de actualizaciones. En el caso de Arch Linux por su simplicidad y opciones de personalización.

En sus comienzos Arch Linux fue un proyecto individual que consistía en un script que instalaba los componentes básicos de una distribución Linux permitiendo que el usuario construyera a partir de ahí de acuerdo con sus preferencias. En el 2007 publicó su primera imagen iso y más tarde incorporó su gestor de paquetes.

En la actualidad es una de las distribuciones Linux que cuenta con una documentación más completa.

CachyOS, una derivada más de Arch Linux

Aunque todavía no la he probado, tengo que darle un punto a favor a CachyOS, al menos es original. Sus desarrolladores no apostaron a ser la millonésima versión fácil de instalar de Arch Linux.

El foco de esta distribución está en la velocidad. Lo primero que se lee cuando ingresas a su sitio web es:

CachyOS está diseñado para ofrecer una velocidad y una estabilidad ultrarrápidas, garantizando una experiencia informática fluida y agradable cada vez que lo utilices. Tanto si eres un usuario experimentado de Linux como si acabas de empezar, CachyOS es la opción ideal para quienes buscan un sistema operativo potente, personalizable y rapidísimo

¿Cómo logra esa velocidad?
En primer lugar, modifica el núcleo para que use algo llamado advanced BORE Scheduler for unparalleled performance. Se trata de una forma más equitativa de distribuir el tiempo de la CPU entre las tareas propias del sistema y las necesidades del usuario. Para la gestión de la CPU, además del tradicional CFS de Linux ofrece otras tres opciones

Por otra parte, cada núcleo se compila utilizando diferentes técnicas de optimización.

El sistema de archivos por defecto es XFS, se trata de una opción poco usada en sistemas de escritorio pero que es muy popular en servidores dado que puede trabajar con grandes cantidades de datos y facilita la recuperación de la información.

Con respecto a lo que ve el usuario, este puede optar por dos instaladores: uno gráfico y el otro por la línea de comandos. Con ellos podrá optar por los escritorios yy gestores de ventanas KDE, GNOME, XFCE, i3, bspwm, LXQT, Openbox, Wayfire y Cutefish.

Según quienes la probaron, la distribución no trae muchas aplicaciones preinstaladas más allá de su propio navegador, una versión mejorada de Firefox con prestaciones adicionales de seguridad. También trae su propio gestor de paquetes y una muy completa utilidad de configuración.

Desde luego que por la descripción parece una distribución que vale la pena probar. Aunque, si la promesa es cierta quedará pendiente la pregunta ¿Ese aumento en la velocidad aporta algo? Será el tiempo y los usuarios quienes la respondan.

Si alguno de ustedes la prueba antes de que yo lo haga, me encantará leer sus comentarios.

from Linux Adictos https://ift.tt/BCWSLFN
via IFTTT