Lenguajes de programación que debes conocer en 2020

Desde 2014 publicamos cada año por estas fechas un post con el índice Tiobe como referencia de los lenguajes de programación más extendidos. Hoy volvemos a publicarlo para ver su evolución anual de abril 2019 a abril 2020.

Este índice recoge el ranking de los lenguajes de programación más populares y valorados por los ingenieros, cursos y proveedores de TI. Estos cálculos se cuantifican gracias a los motores de búsqueda de Google, Bing, Yahoo, Wikipedia, Amazon, Youtube y Baidu. Es importante tener en cuenta que el índice TIOBE no trata de puntuar el mejor lenguaje de programación o el idioma en el que se han escrito la mayoría de las líneas de código.

Ofrecemos esta referencia para comprobar cómo de actualizados están nuestros conocimientos. Tanto en cuanto a lenguajes de programación que usamos, como a la hora de decidir cuál aprender o adoptar. Y con esta tabla vemos la evolución anual entre abril 2019 y 2020.

Hay un ligero cambio en el ranking en las 4 primeras posiciones, Python ha adelantado a C++ quitándole el tercer lugar.

lenguajes programacion 2020
 

TOP 4: Python y C++ se alternan en el tercer lugar 

1º Java se mantiene en el primer puesto como lenguaje de programación más popular, es muy útil para aprender los principios de la programación orientada a objetos que se usa en otros lenguajes modernos como C++, Perl, Python, o PHP. Una vez que has aprendido Java, es más fácil aprender estos otros lenguajes. Tiene la ventaja de que es un lenguaje muy maduro y con una larga trayectoria. Se usa en una gran cantidad de entornos, incluido el desarrollo de aplicaciones en Android, así que es un lenguaje muy práctico.

2º C estable en segundo lugar y fundamenta las bases de un conocimiento de programación, mientras aprendes C estás aprendiendo conceptos básicos de lenguajes cómo Java o C#. Además no sólo es más sencillo que estos últimos, sino que también comparten gran parte de su sintaxis.

3º Python llegó hace tres años al TOP 5 y en 2020 se ha colocado tercero este abril 2020. Se trata de un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible. Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Python es un lenguaje de escritura rápido, escalable, robusta y de código abierto, lo que hacen de Python un aliado perfecto para la Inteligencia Artificial.

4º C++ como este abril, algunos meses intercambia la 4ª posición con Python. C++ es un lenguaje de nivel intermedio con características de programación orientada a objetos, originalmente diseñadas para mejorar el lenguaje C. C++ se utiliza para el desarrollo de software de sistemas, software de aplicaciones, servidores de alto rendimiento y aplicaciones de cliente y videojuegos (Firefox, Winamp y los programas de Adobe, Counter strike… ).

Los que más suben

10º (desde 16º) R es un entorno y lenguaje de programación con un enfoque al análisis estadístico. Se trata de uno de los lenguajes de programación más utilizados en investigación científica, siendo además muy popular en el campo de la minería de datos, la investigación biomédica, la bioinformática y las matemáticas financieras.

11º (desde 19º) Swift es el lenguaje de programación multiparadigma creado por Apple enfocado en el desarrollo de aplicaciones para iOS y macOS. Es su ranking más alto y veremos si lo consolida dada su vinculación a los sistemas operativos para los que se creó. 

12º (desde el 18º) Go (también Golang) es un lenguaje de programación para backend concurrente y compilado inspirado en la sintaxis de C. Ha sido desarrollado por Google en 2009. Tuvo un primer auge nada más lanzarse en 2010 y decayó hasta remontar con fuerza el año 2017. Se mantuvo de los últimos del TOP 20 hasta el 2019 y en abril 2020 se acerca a los TOP 10. Actualmente está disponible en formato binario para los sistemas operativos Windows, GNU/Linux, FreeBSD y Mac OS X. Go es un lenguaje de programación compilado, concurrente, imperativo, estructurado, orientado a objetos de una manera bastante especial. La sencillez es la característica principal de Go, su sintaxis es clara y concisa.

15º (desde el 22º)  PL/SQL (Procedural Language/Structured Query Language) es un lenguaje de programación incrustado en Oracle. PL/SQL soportará todas las consultas, ya que la manipulación de datos que se usa es la misma que en SQL. El lenguaje PL/SQL está incorporado en el servidor de la base de datos y en las herramientas de Oracle Forms, Reports, ...etc. Su popularidad va entonces muy ligada a la de Oracle.

20º (desde 27º) Scratch es el lenguaje de programación basado en bloques gráfico que ha ingresado de nuevo en el índice TOP 20 de TIOBE (ya estuvo en 2017). A primera vista parece un poco extraño para un lenguaje diseñado para enseñar a los niños cómo programar; pero hay en total más de 50 millones de proyectos "escritos" en Scratch y cada mes se agregan 1 millón de nuevos proyectos Scratch. Dado que la programación se está convirtiendo cada vez más en una parte integral de la vida profesional, es bastante lógico que los lenguajes para enseñar a los niños se popularicen.

Los que bajan

14º (desde el 10º) Assembly es el lenguaje ensamblador de programación de bajo nivel. El lenguaje ensamblador expresa las instrucciones de una forma más natural al hombre a la vez que muy cercana al microcontrolador. Desde que publicamos el índice hemos visto a este lenguaje tener altibajos en su popularidad, pero nunca ha salido del TOP 20. 

17º (desde 11º) Objective C  se ha resistido varios años a ser adelantado por su sucesor para dispositivos iOS Swift, ¿será el descenso de seis puestos que vemos hoy la señal de su puesto definitivo? Objective-C es un lenguaje de programación orientado a objetos creado como un superconjunto de C. Consiste en una capa muy fina situada por encima de C, y además es un estricto superconjunto de C. Esto es, es posible compilar cualquier programa escrito en C con un compilador de Objective-C, y también puede incluir libremente código en C dentro de una clase de Objective-C.

18º (desde 12º) Matlab (abreviatura de MATrix LABoratory) subió seis puestos el año pasado y éste los ha vuelto a descender. Es un sistema de cómputo numérico que ofrece un entorno de desarrollo integrado con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows, Mac OS X y GNU/Linux . Es un software muy usado en universidades y centros de investigación y desarrollo.

Puedes consultar nuestro post anterior sobre el mismo tema en Lenguajes de programación que debes conocer en 2019
 

 

10 herramientas imprescindibles para el teletrabajo

Desde vBote queremos compartir las herramientas que para nosotros son imprescindibles para hacer teletrabajo de una manera eficaz y que nos facilitan el trabajo en remoto como equipo. 

Hay muchas en el mercado, pero esta es una recopilación de las que nosotros usamos en nuestro día a día y que consideramos infalibles para el buen funcionamiento del trabajo en equipo a distancia. Aplicaciones para la gestión de recursos humanos, otras para hacer reuniones, de productividad, de almacenamiento, para envío de archivos...

Esperamos que os sirvan de ayuda y que os hagan mantener la productividad y la comunicación con los compañeros que estén trabajando en remoto. 

Tweem - Portal y app del empleado

Portal y app del empleado. Esta plataforma te permite a la empresa gestionar desde los registros de jornada, los fichajes de trabajadores, el envío de documentos, solicitud y firma de documentos con validez legal, gestión de horarios y de vacaciones,.. 

Recibe las solicitudes que tu equipo envía con su teléfono móvil desde cualquier lugar en el que se encuentren mediante a la app o la web de tweem. Centraliza la gestión de las solicitudes en el panel de administración web y obtén informes sobre todas las solicitudes gestionadas.

Además dispone de dos áreas muy útiles para la correcta comunicación interna de la empresa, un área de Actualidad para informar de novedades, noticias,.. y otra de Comunicación interna.

Comunícate con tu equipo de forma inteligente, segmentada e instantánea. Haz que toda la información relevante llegue al mismo tiempo a todo tu equipo.


Slack

Se trata de una aplicación de mensajería instantánea creada y utilizada para equipos como una alternativa al correo electrónico. Gracias a esta plataforma, podrás gestionar y comunicarte mucho mejor con tus empleados. Aquí van algunos detalles sobre esta herramienta:

Canales

Este apartado te permite crear diferentes ‘grupos’ para tener segmentados y organizados diferentes temas de conversación, en nuestro caso por Proyectos. Así consigues que no se hable en un mismo canal sobre todo tipo de temas, además de conseguir tener a tus empleados menos distraídos. 

 

Jira

Jira es una herramienta en línea para la administración de tareas de un proyecto, el seguimiento de errores e incidencias y para la gestión operativa de proyectos. La herramienta fue desarrollada por la empresa australiana Atlassian.

Jira se diseñó como un gestor de incidencias y errores. Pero ahora mismo se ha convertido en una poderosa herramienta de gestión de trabajo para todo tipo de casos de uso, desde la gestión de requisitos y casos de prueba hasta el desarrollo de software ágil. Imprescindible para equipos de desarrollo que trabajan con metodologías ágiles y de mejora contínua.

Proporciona tableros de scrum y kanban listos para usar. Los tableros son centros de gestión de tareas, donde estas se asignan a flujos de trabajo personalizables.

 

Trello

Trello es una herramienta de gestión de proyectos que hace que la colaboración sea sencilla. Una aplicación basada en el método Kanban. La realidad es que sirve para casi todo, ya estés organizando proyectos en el trabajo, tareas del hogar, viajes o cualquier otra cosa. Permitiendo organizar las tareas de equipo de una manera colaborativa, mediante tableros virtuales compuestos por listas de tareas en forma de columnas.

Ideal para la gestión de proyectos ya que se pueden representar distintos estados y compartirlas con diferentes persona que formen el proyecto. Logrando mejorar las rutinas de trabajo de un equipo, organiza el trabajo por prioridades, asignando tiempos, avisos,..

 

Bitbucket 

Bitbucket es un servicio de alojamiento basado en la web para proyectos que utilizan el sistema de control de versiones Mercurial y Git. Fue lanzado en el año 2008 por la empresa Atlassian Software y está escrito en Python mediante el framework web Django. Bitbucket ofrece cuentas gratuitas y comerciales. 

Es una plataforma de colaboración de programación para equipos de software modernos y ágiles, es el lugar en el que los equipos se reúnen para planificar, programar, probar e implementar a escala. Proporciona integraciones de Jira y Trello con Bitbucket.

Ofrece diferentes opciones de alojamiento de Bitbucket, en la Nube, en Servidor o en Centro de datos.

 

Drive

Drive es un servicio que te ofrece Google para el alojamiento de archivos y documentos que puedes compartir con otros usuarios. Google Drive utiliza la tecnología de la computación en la nube, o lo que es lo mismo, se almacenan tus datos en uno de los servidores de Google para que puedas acceder a ellos desde cualquier lugar y a cualquier hora. 

Comparte y colabora

Tener una cuenta de drive en tu negocio es fundamental para el trabajo a distancia ya que te permite trabajar varias personas sobre el mismo documento de forma simultánea. No solo podrás trabajar sobre word, sino sobre excel, powerpoint, ¡y muchos más!

 

Hangouts

Google Hangouts es una herramienta perfecta para realizar una videoconferencia en directo, programar un Hangout y poder tener una sesión de preguntas y respuestas con otros usuarios. 

Te permite programar en Calendar las videoconferencias tanto con tu equipo como con tus clientes de manera fácil y sin tener que instalar ningún programa, solo tienes que tener una cuenta de gmail. Destaca por su facilidad de uso, por ser multiplataforma y por lo bien que funciona.

 

Loom

Software gratuito de grabación de video y pantalla. Loom es una  extensión para Google Chrome que nos permite grabar y compartir la pantalla de nuestro ordenador y la webcam de forma sencilla.

Puedes elegir si compartes el navegador, todo el escritorio o la webcam. Y si eliges todo el escritorio, puedes seleccionar qué pestaña, en cuestión de minutos habrás aprendido a hacer tus vídeos y una de las mejores funciones que tiene es que está integrado con GMail, por lo que es muy fácil compartir los vídeos instantáneamente, tanto por email como por otros medios. 

Esta herramienta la utilizamos para adjuntar un vídeo para explicar una funcionalidad, una demo, incidencias encontradas… 

 

Monday

Esta plataforma está orientada hacia una mirada corporativa. Monday cuenta con distintos tipos de tableros o carpetas que ofrecen la posibilidad que puedan convivir miembros de la plantilla desde diferentes áreas de trabajo. 

Se destaca porque es fácil de usar, crea un lenguaje visual y es la única herramienta que te permite gestionar todo: proyectos, tareas, personas, campañas publicitarias, seguimiento de errores, CRM, proyectos de clientes, producción de video, etc. 

 

Zoom

Zoom es una plataforma de videoconferencia basado en la nube para empresas y profesionales para realizar reuniones. Funciona directamente desde el navegador pero también cuenta con app para iPhone/iPad, app Android, complemento de Outlook y extensiones para navegador.

Además permite escribir mensajes al mismo tiempo y compartir cualquier archivo con los demás usuarios.

Magnolia CMS es la tecnología más potente para desarrollar tu portal web multidispositivo

Cada vez es más común la utilización de sistemas de gestión de contenidos (CMS), como mecanismo de diseño, desarrollo y gestión de páginas y portales web. De esta forma, en la actualidad contamos con infinidad de estos programas que nos permiten llevar a cabo la creación y administración de nuestros sites.

CMS Open source

Uno de dichos programas, es Magnolia CMS, uno de los grandes sistemas de gestión de contenido caracterizado por, su facilidad de uso y disponibilidad, ya que se basa en una licencia Open Source, lo que le convierte en un CMS muy accesible tanto para desarrolladores, como para los editores encargados de gestionarlo.

Caracterizado por su atractiva interfaz de usuario (UI) y su facilidad de uso, Magnolia destaca por su integración con código Java, constituyéndolo como un Framework flexible y accesible tanto para usuarios, como para desarrolladores de software.

Según Gartner, durante el transcurso de 2019, Magnolia se ha situado entre uno de los 18 CMS más potentes del mundo, evidenciando su crecimiento y fiabilidad como sistema de gestión de contenidos corporativos.
“Magnolia CMS además de sus sólidas capacidades de modelado de contenido y administración de múltiples sitios, hacen que Magnolia sea ideal para experiencias digitales multi idioma, multi canal y multi sitio, es decir aquellos sitios web que involucran entregas en múltiples regiones”

Tecnología: desarrollo web con Java o sin Java

El desarrollo ligero permite implementar proyectos de CMS empresariales con un conjunto de habilidades de desarrollador de frontend y sin código. Pero también encaja perfectamente con el desarrollo de Java cuando se trata de un proyecto pesado. Los proyectos de Magnolia suelen ser una combinación de módulos ligeros (desarrollo ligero) y módulos de Java para el backend de la solución web.

Frameworks front-end en javascript 

Una característica es que permite integrar fácilmente los más modernos frameworks front-end, por ejemplo Angular JS, Polymer y Bootstrap, módulos ligeros construidos en base a configuración en lugar de utilizar Java, de un flujo de desarrollo más simple y un conjunto simplificado de plantillas que facilitan el desarrollo. Los desarrolladores front-end pueden aprender los conceptos básicos de las plantillas de Magnolia en una hora y construir un sitio web en un día, aprovechando sus habilidades y herramientas.

Ventajas para los desarrolladores de Magnolia CMS

- Low code
Utiliza los archivos de configuración YAML (archivo de serialización de datos) para realizar las tareas más comunes de CMS: modelado de contenido, plantillas, etc.

- Libertad para trabajar
Todo está configurado en archivos de texto, lo que permite trabajar cómodamente en tu propio editor.

- Interfaz de línea de comandos (CLI)
El CLI de Magnolia te ayuda en cada paso del camino. Descarga, instala e inicia un nuevo servidor Magnolia en un par de minutos.

- Carga automática y ahorro de tiempo
Cada cambio que realizas en la configuración y en las plantillas se detecta y aplica instantáneamente en el servidor de desarrollo Magnolia, lo que resulta en una excelente ergonomía para el desarrollador y la reducción del tiempo de respuesta. Sin compilación. Sin reinicio. Sin espera.

- Despliegue en caliente
La carga automática también es efectiva en los servidores de producción, aplicándose los cambios instantáneamente en el servidor.

- Onmicanalidad
Difunde los contenidos a páginas web tradicionales, aplicaciones interactivas, apps móviles e impresión desde la web, señalización digital... Previsualiza en contexto y reutiliza el contenido, desde pequeños fragmentos hasta campañas completas.

Si tienes un proyecto de desarrollo de tu portal corporativo y crees que Magnolia CMS es la tecnología que puede ayudarte contáctanos y pregunta tus dudas aquí