De paradigmas y lenguajes. La programación en Linux 5

De paradigmas y lenguajes

En esta serie de artículos destinada a a dar un marco de referencia a nuestros lectores interesados en aprender a programar en  Linux, llegó el momento de hablar de la codificación. Recuerden que habíamos dicho que la programación no solo es escribir código, además abarca la toma de decisiones sobre que debe hacer el programa, como debe hacerlo y como se determinará que lo hace adecuadamente.

Cómo elegir un lenguaje y no morir en el intento

La actual moda potenciada por los políticos y los medios de comunicación, de que basta enseñar programación  a los desocupados para terminar con el desempleo y la pobreza no es nueva. Yo crecí en los 80 con las Home Computers y todavía recuerdo publicidades de institutos que prometían un futuro de grandeza si te anotabas en sus curso de Basic.  Basic, como su nombre lo indica era (es) un lenguaje para enseñar los rudimentos. Aprenderlo te ayuda a convertirte en un programador profesional como aprender a leer te ayuda a convertirte en médico.

En la web hay montones de artículos defendiendo que tal o cual lenguaje de programación es la mejor opción. La verdad es que no existe algo como eso. Nuestros abuelos podían aprender mecanografía o taquigrafía con un determinado método y con eso aguantar toda su vida. No hay un equivalente en la programación, los paradigmas cambian, nuevos dispositivos aparecen. Se hace necesario trabajar con distintos métodos de entrada y salida.

Es por eso que en lugar de hacer la habitual lista de lenguajes de programación, voy a dedicar unos párrafos a los diferentes paradigmas en lenguajes de programación.

Son muy pocos los lenguajes que implementan un paradigma al 100%.  Hay algunos que en su mayor parte adscribern a uno pero implementan algunas características de otro cuando son necesarias. Por el contrario, muchos permiten la programación en uno o más paradigmas. Son los llamados lengujes de paradigmas múltiples.

De paradigmas y lenguajes de programación

La palabra paradigma, no debería relacionarse con un lenguaje de programación específico, si no con una metodología de crear los programas. Aunque cualquier lenguaje pueda utilizarse con cualquier paradigma, sus creadores tenían en mente una metodología en particular cuando los crearon, por lo que será más fácil utilizarlos dentro de ella.

Algunos paradigmas habituales son:

  • Paradigma funcional:  Pone el énfasis en la evaluación de funciones matemáticas combinadas con expresiones. En la programación funcional, en lugar de asignar funciones a las variables, se combinan llamadas a funciones. Algunos lenguajes de programación compatibles son: LISP, Scheme y Haskell
  • Paradigma imperativo: El paradigma imperativo aprovecha mejor la capacidad de las computadoras de acceder y modificar el contenido de la memoria. Eso lo hace ideal para aplicaciones donde algunos elementos de la función varíe en forma constante. En los programas escritos bajo él, los comandos muestran cómo se realiza el cálculo, paso a paso. Cada paso afecta el estado global del cálculo. Entre los lenguajes de programación podemos mencionar: Algol 68, Cobol, C, Fortran y ADA.
  • Paradigma lógico: No todos los problemas se pueden representar como funciones matemáticas.  Por eso en este paradigma se pone énfasis en las relaciones entre elementos. Los programas se construyen estableciendo relaciones que especifican hechos y reglas de inferencia, para luego comprobar automáticamente si una premisa es cierta o no. El más conocido de los lenguajes de programación bajo este paradigma es Prolog.
  • Paradigma orientado a objetos: Los otros paradigmas consideran los datos y lo que se hacen con ellos como entidades separadas. Este paradigma une los datos y los procedimientos que  se le aplican en entidades llamadas objetos. La programación se basa en el envío de mensajes a los objetos. Los objetos responden a los mensajes realizando operaciones, generalmente llamadas métodos. Los mensajes pueden tener argumentos. Acá nos encontramos con algunos conocidos; C++, Python o Java por mencionar algunos.

Que toda esta palabrería no te asuste. Era necesario hablar de los paradigmas porque cuando profundices en alguno de ellos va a salir el tema. Lo mejor que puedes hacer es ir probando diferentes lenguajes para probar con cuál te sientes más cómodo y después probar otros que pertenezcan al mismo paradigma.

from Linux Adictos https://ift.tt/2Wff1Fd
via IFTTT

Mientras Firefox fracasa al traducir paginas, Vivaldi ya permite traducir selecciones

Firefox falla al traducir

Cuesta de entender. La última versión del navegador web de Mozilla llegó y una de las novedades que mencionaban como algo importante era mejoras en el modo de impresión. Ha habido 50 millones de personas que han dejado de usarlo, y muchos comentasteis algo en lo que coincido: Mozilla se ha empeñado en abarcar mucho y apretar poco, en meterse en camisas de once varas, cuando lo que debería hacer es mejorar todo lo posible su Firefox. No lo está haciendo a la velocidad a la que debería, y un buen ejemplo es el traductor en el que ya trabaja.

Ahora mismo, ese traductor está en las versiones Nightly y Beta, pero desactivado. Y es lógico, ya que sirve de poco, o nada para los usuarios cuya lengua no es el inglés, único idioma al que traduce. Mientras Firefox se pelea para traducir páginas, Vivaldi ya lo hace de manera nativa y decente, y su última Snapshot, que son las versiones de desarrollo, ya nos permiten traducir selecciones. Menuda diferencia.

Firefox traducirá páginas web… algún día

Vivaldi Snapshot traduciendo selección

Sé que Vivaldi es un navegador web que no usamos demasiados. Está diseñado para usuarios exigentes, y trae por defecto funciones como la pantalla dividida, el cliente de correo y calendario o el traductor de páginas web. Pronto también nos permitirá traducir un texto seleccionado, y detecta perfectamente el idioma que tiene que traducir y a cuál. Esto es algo que personalmente me gusta mucho: yo no traduzco las páginas en inglés, pero puede que algo no lo entienda. Con esta función ya no necesito tirar de DeepL y puedo saber lo que pone sin salir de la página.

Firefox es la única alternativa real y multiplataforma al Chromium de Google, por lo que sólo nos queda esperar que Mozilla se lo tome más en serio y que, al menos, mejore su velocidad y diseño. Porque sí, ha mejorado algo la imagen, pero al mismo tiempo se ha cargado, como mínimo, una parte superior que es mucho más grande que en versiones anteriores. En fin, Mozilla, ponte las pilas si no quieres seguir perdiendo cuota de mercado.

from Linux Adictos https://ift.tt/3kcfaRT
via IFTTT

ScummVM: continúa con las mejoras

ScummVM

Ya hablé sobre el proyecto ScummVM en este mismo blog, ahora es el turno de comentar sobre algunas novedades que están llegando. Se trata de un proyecto cuyo objetivo es que puedas volver a resucitar multitud de videojuegos clásicos y pasar horas de diversión en Linux.

Seguro que recordarás algunos videojuegos creados con Macromedia Director, pues bien, ahora ScummVM ha incorporado en esta plataforma el soporte inicial para seguir manteniendo vivos estos títulos. Además, es totalmente gratuito y de código abierto, teniendo una gran cantidad de títulos compatibles, desde aventuras gráficas y plataformas, rol, etc. Eso sí, te harán falta tener estos videojuegos para poderlos ejecutar, ya que no vienen incluidos.

Se están haciendo mejoras para mejorar la fluidez y para la experiencia de usuario también. Con la última actualización, en la que el equipo de desarrollo ha estado trabajando durante los 5 últimos años, se ha anunciado soporte para los títulos basados en Macromedia Director 2, como Spaceship Warlock. Incluso los juegos basados en Macromedia Director 3 podrían funcionar con L-ZONE. Y continúan con las mejoras para Director 3 y Director 4, dando acceso a títulos como Journeyman Project, Meet MediaBand, Chop Suey, etc.

Macromedia Director fue un software de desarrollo multimedia para crear programas ejecutables ricos en contenido multimedia, como algunos videojuegos clásicos de aquella época. Desde que comenzó a formar parte de Adobe, el proyecto sería renombrado a Adobe Director desde 2008. En 2013 se lanzaría la última versión, y en 2017 se tomaría la decisión de abandonar el desarrollo.

También están buscando ayuda para mejorar su Wiki con las novedades de estos títulos basados en Director de ScummVM. Sin duda un trabajo realmente asombroso por parte de todos los colaboradores implicado y que harán las delicias de todos aquellos amantes de los títulos reto o clásicos, para que puedas actuar cuando la nostalgia te invade…

from Linux Adictos https://ift.tt/2UH0GRq
via IFTTT

PM Thunderstorms today!

En Veracruz hoy la condición actual es Cloudy y una temperatura de 27C.

La máxima temperatura será de 30C y la mínima de 25C.
Durante el día la condición se pronostica como PM Thunderstorms

Sunrise August 21, 2021 at 07:06AM
Sunset August 21, 2021 at 07:47PM

Viento con dirección South y velocidad de 5 Km/h

With a high of 86F and a low of 77F.
via IFTTT

Las mejores aplicaciones Android para llevar un control de las horas de trabajo o estudio

Las mejores aplicaciones Android para llevar un control de las horas de trabajo o estudio

Vamos a mostrarte un listado con las mejores aplicaciones para llevar un control de las horas de trabajo o estudio. Gracias a nuestro teléfono Android, podemos controlar al detalle cuánto tiempo hemos dedicado a estudiar o trabajar, algo que nos ayudará a hacernos una idea sobre el ritmo que llevamos.

Todas las apps que vamos a mostrarte son gratuitas y pueden descargarse desde la tienda de aplicaciones de Google. Sin más preámbulo, veamos cuáles son las mejores opciones para controlar tus jornadas.


Continue reading