Un blog para programadores

Noticias e información techie en un solo lugar

¿Quienes somos?

Hace tiempo, ni mucho ni poco, pues siempre dependerá con lo que se compare; y en una galaxia cercana, tan cercana como es en la que vivimos… nació Sena Coders. Era el año 2020 cuando se construyeron los cimientos de lo que somos...

Sena Coders

Centro de formación de alto rendimiento en programación y tecnología

Para programar...

No necesitas ningún conocimiento en programación. Solo motivación y trabajo duro.

¡Hola mundo!

Saber programar es saber crear grandes y bellos sistemas informáticos donde la lógica es tan compleja que el resultado aparenta ser magia.

jueves, 3 de diciembre de 2020

Python, un potente lenguaje de programación




Python fue creado a finales de los ochenta por Guido van Rossum en el Centro para las Matemáticas y la Informática (CWI, Centrum Wiskunde & Informatica), en los Países Bajos, como un sucesor del lenguaje de programación ABC, capaz de manejar excepciones e interactuar con el sistema operativo Amoeba.

Durante su estancia en CNRI, van Rossum lanzó la iniciativa Computer Programming for Everybody (CP4E), con el fin de hacer la programación más accesible a más gente, con un nivel de 'alfabetización' básico en lenguajes de programación, similar a la alfabetización básica en inglés y habilidades matemáticas necesarias por muchos trabajadores.

En el año 2000, el equipo principal de desarrolladores de Python se cambió a BeOpen.com para formar el equipo BeOpen PythonLabs.Después que Python 2.0 fuera publicado por BeOpen.com, Guido van Rossum y los otros desarrolladores de PythonLabs se unieron en Digital Creations.

Python 2.0 tomó una característica mayor del lenguaje de programación funcional Haskell: listas por comprensión. La sintaxis de Python para esta construcción es muy similar a la de Haskell, salvo por la preferencia de los caracteres de puntuación en Haskell, y la preferencia de Python por palabras claves alfabéticas. Python 2.0 introdujo además un sistema de recolección de basura capaz de recolectar referencias cíclicas.

Python 2.1 fue un trabajo derivado de las versiones 1.6.1 y 2.0. Es a partir de este momento que Python Software Foundation (PSF) pasa a ser dueño del proyecto, organizada como una organización sin ánimo de lucro fundada en el año 2001, tomando como modelo la Apache Software Foundation.3

Una innovación mayor en Python 2.2 fue la unificación de los tipos en Python (tipos escritos en C), y clases (tipos escritos en Python) dentro de una jerarquía. Esa unificación logró un modelo de objetos de Python puro y consistente.

Python 2, es decir Python 2.7.x, fue oficialmente descontinuado el 1 de enero de 2020 (primero planeado para 2015) después de lo cual no se publicarán parches de seguridad y otras mejoras para él.19​20​ Con el final del ciclo de vida de Python 2, solo tienen soporte la rama Python 3.5.x21​ y posteriores.




Muchas de las empresas de tecnología  exitosas están eligiendo Python para el backend de su página web,entre estas estan:

- Instagram

- Google

- Netflix

- Spotify

- Uber 



Ruby - El mejor amigo de un programador


¿Se pregunta por qué Ruby es tan popular? Sus fanáticos lo llaman un lenguaje hermoso e ingenioso. Y, sin embargo, dicen que es útil y práctico. ¿Lo que da?

Los ideales del creador de Ruby

Ruby es un lenguaje de cuidadoso equilibrio. Su creador, Yukihiro “Matz” Matsumoto, combinó partes de sus lenguajes favoritos (Perl, Smalltalk, Eiffel, Ada y Lisp) para formar un nuevo lenguaje que equilibraba la programación funcional con la programación imperativa.

A menudo ha dicho que está "tratando de hacer que Ruby sea natural, no simple", de una manera que refleje la vida.

Sobre esta base, agrega:

Ruby es simple en apariencia, pero es muy complejo por dentro, al igual que nuestro cuerpo humano.

Acerca del crecimiento de Ruby

Desde su lanzamiento público en 1995, Ruby ha atraído a codificadores dedicados en todo el mundo. En 2006, Ruby logró una aceptación masiva. Con grupos de usuarios activos formados en las principales ciudades del mundo y conferencias relacionadas con Ruby llenas al máximo.

Ruby-Talk, la lista de correo principal para la discusión del lenguaje Ruby, subió a un promedio de 200 mensajes por día en 2006. Ha caído en los últimos años a medida que el tamaño de la comunidad empujó la discusión de una lista central a muchos grupos más pequeños.

Ruby se encuentra entre los 10 primeros en la mayoría de los índices que miden el crecimiento y la popularidad de los lenguajes de programación en todo el mundo (como el índice TIOBE). Gran parte del crecimiento se atribuye a la popularidad del software escrito en Ruby, particularmente el marco web Ruby on Rails.

Ruby también es completamente gratis. No solo es gratuito, sino también gratuito para usar, copiar, modificar y distribuir.

Mas allá de lo básico

Ruby tiene muchas otras características, entre las que se encuentran las siguientes:

Ruby tiene funciones de manejo de excepciones, como Java o Python, para facilitar el manejo de errores.

Ruby presenta un verdadero recolector de basura de marca y barrido para todos los objetos Ruby. No es necesario mantener recuentos de referencias en bibliotecas de extensión. Como dice Matz, "Esto es mejor para su salud".

Escribir extensiones C en Ruby es más fácil que en Perl o Python, con una API muy elegante para llamar a Ruby desde C. Esto incluye llamadas para incrustar Ruby en el software, para usarlo como lenguaje de scripting. También está disponible una interfaz SWIG.

Ruby puede cargar bibliotecas de extensión de forma dinámica si un sistema operativo lo permite.

Ruby presenta subprocesos independientes del sistema operativo. Por lo tanto, para todas las plataformas en las que se ejecuta Ruby, también tiene subprocesos múltiples, independientemente de si el sistema operativo lo admite o no, ¡incluso en MS-DOS!

Ruby es altamente portátil: se desarrolla principalmente en GNU / Linux, pero funciona en muchos tipos de UNIX, macOS, Windows, DOS, BeOS, OS / 2, etc.

Otras implementaciones de Ruby

Ruby, como lenguaje, tiene algunas implementaciones diferentes. Esta página ha estado discutiendo la implementación de referencia, en la comunidad a menudo conocida como MRI ("Intérprete Ruby de Matz") o CRuby (ya que está escrito en C), pero también hay otras. A menudo son útiles en determinadas situaciones, proporcionan una integración adicional a otros lenguajes o entornos, o tienen características especiales que la resonancia magnética no tiene.

Aquí tienes una lista:

JRuby es Ruby encima de JVM (Java Virtual Machine), que utiliza los compiladores JIT de optimización de JVM, recolectores de basura, subprocesos concurrentes, ecosistema de herramientas y una vasta colección de bibliotecas.

Rubinius es "Ruby escrito en Ruby". Construido sobre LLVM, Rubinius tiene una ingeniosa máquina virtual sobre la que también se están construyendo otros lenguajes.

TruffleRuby es una implementación de Ruby de alto rendimiento sobre GraalVM.

mruby es una implementación ligera del lenguaje Ruby que se puede vincular e incrustar dentro de una aplicación. Su desarrollo está dirigido por el creador de Ruby, Yukihiro "Matz" Matsumoto.

IronRuby es una implementación "estrechamente integrada con .NET Framework".

MagLev es “una implementación Ruby rápida y estable con persistencia de objetos integrada y caché compartida distribuida”.

Cardinal es un “compilador Ruby para Parrot Virtual Machine”.

Para obtener una lista más completa, consulte Awesome Rubies.

Tomado de: https://www.ruby-lang.org/en/

El POCO CONOCIDO PERO PODEROSO F#

 

F# es un lenguaje fuertemente tipado que utiliza inferencia de tipos por lo que los tipos no necesitan estar declarados explícitamente por el programador; estos serán deducidos por el compilador durante el proceso de compilación. No obstante, F# también permite la declaración explícita de tipos de datos. Por ser un lenguaje .NET, F# soporta los objetos y tipos de .NET. F# permite programar de una manera que se asemeja más a como pensamos.  

 

 F# Azure Functions. Creating Azure Functions in F# | by Ian Ormesher |  Towards Data Science 

 

F# combina a su vez la programación orientada a objetos con la funcional, proporcionando la reducción en el número de líneas de código, demandando por tanto, un mayor nivel de abstracción, siendo el lenguaje más compacto de los ofrecidos en .Net. Incorpora entre sus novedades, la posibilidad de escribir código con tuplas y funciones para simplificar el código, lo que facilita la creación de programas con complicados cálculos matemáticos. 

 

F# admite las construcciones de programación funcional, tales como:

  • Funciones como valores, lo que permite la manipulación flexible de las funciones.

  • Composición y canalización de funciones, lo que permite el encadenamiento de funciones para crear otras nuevas y simplificar la codificación de operaciones sucesivas con datos.

  • Inferencia de tipos, lo que reduce la necesidad de llamar explícitamente a los tipos, sin sacrificar la seguridad de tipos.

  • Generalización automática, lo que promueve la reutilización de código facilitando la escritura de código que funciona con diversos tipos diferentes sin ningún esfuerzo adicional.

  • Compatibilidad con la coincidencia de modelos, lo que simplifica el código condicional complejo, y las uniones discriminadas, que se optimizan para su uso con la coincidencia de modelos.

  • Tipos de colección para trabajar con datos inmutables, incluidos tipos de lista y secuencia.

  • Expresiones lambda, que son importantes para numerosas construcciones de programación funcional.

  • Aplicación parcial de argumentos de función, lo que permite crear implícitamente nuevas funciones a partir de funciones existentes.

  • Expresiones de código delimitadas, una característica que permite manipular las expresiones de F# mediante programación

    F# Logo Design on Behance
    Este lenguaje se puede utilizar para una gran variedad de funciones, desde generar JavaScript (con Fable, hacer aplicaciones web, o aplicaciones para móviles con Xamarin.
     

    Y si queréis probar F# podéis hacerlo desde un navegador!!!

     

     

 

 

 

JAVA, Su comienzo y su poder.

 


JAVA

Sus inicios:

El lenguaje Java fue desarrollado en sus inicios por James Gosling, en el año 1991. Inicialmente Java era conocido como Oak o Green. El equipo original de la empresa estaba formado por James Gosling, Eric Schmidt, John Gaga, Patrick Naughton y Wayne Rosing. En el transcurso entre los meses de junio y julio del año 1994, el equipo de profesionales desarrolló una plataforma Java basada en una máquina virtual y un lenguaje muy similar a C++. Al mismo tiempo se desarrolló un navegador compatible, HotJava.

Se presentó a responsables de Sun Mycrosystems ese mismo año con éxito. No obstante, se tuvieron que esperar hasta mediados de 1995 para su presentación oficial por parte de la compañía. La espera permitió evolucionar Java hacia una novedad interesante. No solo serviría en navegadores propios de HotJava, sino también en los de Netscape.

En el año 1996, la propia Sun Mycrosystems creó el grupo empresarial JavaSoft, orientada exclusivamente al desarrollo tecnológico de este lenguaje de programación. Desde entonces hasta la actualidad, Java ha pasado desde su versión inicial JDK 1.0 hasta la Java SE 12 que se implementó desde el 19 de marzo de 2019.

Los usos más habituales del lenguaje de programación Java son realmente variados.

Productividad y utilidades:

Java es muy utilizado en todo tipo de aplicaciones de productividad como procesadores de texto u hojas de cálculo. Incluso Google Maps en ocasiones, utiliza applet de Java que se ejecuta dentro del propio navegar del usuario reduciendo la carga del servidor.

Entretenimiento

Los juegos constituyen el uso más extendido de Java ya que gracias a su uso estos juegos pueden ser ejecutados en diferentes plataformas de gaming. Basta con hacer clic dentro de sus límites y el juego comenzará a estar plenamente operativo para el usuario.

Educación

Uno de los usos más prestigiosos de Java es el de herramientas educativas como hojas de finanzas, calculadora, gráficos, herramientas para gestionar el tiempo, composición, ejercicios.

Comunicación

Los applets de Java forman parte de las aplicaciones de mensajería instantánea (WhatsApp, Telegram, LINE…) y chats que diariamente utilizan millones y millones de personas en todo el mundo.

Aplicaciones móviles

Con Java ME o “Micro Edition”, los applets de Java, que ya son lo bastante pequeños, se hacen mucho más apropiados para las aplicaciones y navegadores que encontramos y utilizamos en nuestros dispositivos móviles.

En líneas generales, Java se encuentra en multitud de navegadores y programas pues cualquier aplicación desarrollada por con este lenguaje puede ser embebida en un website y ejecutado en un navegador, al margen del sistema operativo.

¿Qué es el lenguaje de programación R y por qué debería usarlo?





Existen una gran cantidad de lenguajes de programación perfilados para varios propósitos. Algunos de ellos pueden parecer nuevos, pero han existido durante décadas, y uno de ellos es el lenguaje de programación conocido como R. En los últimos años, R ha explotado en la escena para convertirse en uno de los más utilizados, y las cosas podrían permanecer así durante varios años.