Lenguajes de programación que debes conocer en 2019

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 2018 a abril 2019.

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 2018 y 2019.

No ascienden nuevos lenguajes en el ranking a las 4 primeras posiciones, que se mantienen estables.

TIOBE de abril 2018 - abril 2019

 

Los Top 4 no cambian

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º C++ sigue tercero en el ranking y 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… ).

4º Python llegó hace tres años al TOP 5 para quedarse. 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. Es un lenguaje interpretado y multiplataforma. 

Los que más suben

20º (desde el 68º) Groovy es un lenguaje de programación dinámico orientado a objetos para la máquina virtual Java (JVM). ¿Para qué se suele utilizar? Groovy es un potenciador de Java porque le facilita una mayor flexibilidad. Groovy es una sintaxis parecida a Java, pero con la facilidad de otros lenguajes más moldeables como Python y Ruby.

10º (desde 14º) Assembly language , el lenguaje ensamblador salta de la posición número 14º a la número 10 en 2019. Se trata de un lenguaje de programación de bajo nivel utilizado para interactuar con hardware informático. Utiliza comandos estructurados, en sustitución de los números, permitiendo a las personas tener una mayor legibilidad de los códigos. 

11º (desde el 18º) Objective-C, hace un par de años bajó hasta el 18º y parecía que lo iba a reemplazar su sucesor Swift. Sube de nuevo a pesar de que el desarrollo de aplicaciones móviles se está trasladando a frameworks y lenguajes independientes de la plataforma. 

12º (desde el 17º) MATLAB (abreviatura de MATrix LABoratory) 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.

Los que suben (moderadamente)

5º (desde el 6º) Visual Basic .NET asciende en el ranking una posición para acercarse lentamente al TOP 5. Algunos desarrolladores con experiencia en Visual Basic se pasan al Visual Basic .NET con una curva de aprendizaje menor, ya que esto permite centrarse en aprender los aspectos nuevos y específicos del .NET Framework y no centrarse en aprender aspectos específicos del lenguaje tales como su sintaxis, por ejemplo.

7º (desde 8º) JavaScript asciende en el ranking un puesto y se mantiene muchos años en el TOP 10. Seguramente influye su papel en la experiencia de usuario (UX) y diseño (UI) para las aplicaciones móviles tan en auge actualmente. Han proliferado implementaciones de JavaScript para el lado servidor. Node.js es uno de los ejemplos de JavaScript en el lado del servidor, siendo usado en proyectos importantes.

14º (desde 16º) Perl se recupera de su caída del año 2018 y todavía disfruta de popularidad. Perl significa Practical Extraction and Report Language, algo así como lenguaje práctico de extracción y de informes. Es un lenguaje creado con el objetivo principal de simplificar las tareas de administración de un sistema UNIX. Hasta 2005 fue el lenguaje de scripting más dominante en el mundo. En 2008 se temió que Perl se extinguiría según la tendencia del índice

Los que bajan y posibles motivos

Vemos 4 lenguajes de programación entre los 20 principales que han perdido 4 posiciones en 1 año: Delphi, R, Visual Basic, y Swift . 

13º (desde 10º) Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos, presentado públicamente en 1995. Combina una sintaxis inspirada en Python y Perl con características de programación orientada a objetos.

17º (desde el 13º) Visual Basic continua un descenso lógico, que se frenó temporalmente el año pasado a pesar de haber sido ‘sustituido’ por .NET y ‘discontinuado’ por Microsoft que dejó de dar soporte a su último Visual Basic 6.

19º (desde el 15º) Swift sigue cayendo al contrario que su ‘sustituido’ Objective-C para programar en Os. El desarrollo de aplicaciones móviles se está trasladando a frameworks y lenguajes independientes de la plataforma, unido a la renovada popularidad de Objective-C,  pueden ser razones por lo que Swift, que solo está disponible en los sistemas de Apple, ve reducida su popularidad.

15º (desde 11º) Delphi. En sus diferentes variantes, permite producir archivos ejecutables para Windows, MacOS X, iOS, Android, GNU/Linux y la plataforma .NET. Un uso habitual de Delphi, aunque no el único, es el desarrollo de aplicaciones visuales y de bases de datos cliente-servidor y multicapas.

16º (desde 12º) 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.

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

Fichar en el trabajo con el móvil: app de registro de la jornada

La ley ha establecido recientemente la obligatoriedad de registrar las jornadas laborales de los trabajadores que entrará en vigor a mediados del mes de mayo 2019.

El Real Decreto-ley 8/2019 del 8 de marzo, de medidas urgentes de protección social y de lucha contra la precariedad laboral en la jornada de trabajo establece que “…la empresa garantizará el registro diario de jornada, que deberá incluir el horario concreto de inicio y finalización de la jornada de trabajo de cada persona trabajadora…

Esta novedad regulatoria provoca que las empresas estén implantando soluciones para cumplirla y muchas optan por las soluciones móviles para el control de presencia y de jornada de los trabajadores. 

Una solución móvil que permita fichar desde el smartphone al comienzo y al final de la jornada de trabajo es muy práctica y no necesita una gran inversión, es una solución al alcance de pequeñas y medianas empresas.

El registro de la jornada de los empleados permite conocer en cualquier momento y desde cualquier lugar en tiempo real la actividad de la empresa. El registro ofrecerá el historial de un empleado y si es realizado con el smartphone permitirá incluso geolocalizarlo. 

Si en la plantilla se cuenta con personal desplazado, la función de geolocalización es de una gran ayuda a la hora de asignar tareas de última hora. Por ejemplo si se necesita enviar a un técnico a casa de un cliente, esto permitirá consultar el registro de la jornada de trabajo y asignar la tarea al técnico que más próximo se encuentre del domicilio del cliente.

También facilita el control del número de horas extras del personal desplazado al reportarse día a día en el registro que genera el fichaje móvil de la jornada.

Por lo tanto una app de fichaje de la jornada de trabajo es muy útil para servicios técnicos, comerciales, repartidores, servicios de limpieza, conductores, colaboradores freelance, etc...

Añadiendo funciones más avanzadas e integrándola con el portal y app del empleado, será posible generar informes a partir de los datos recopilados por la aplicación móvil. Y será posible analizar con datos objetivos la situación real de la empresa, en cuanto a dedicación y disponibilidad de la fuerza de trabajo. Y por lo tanto nos ofrece oportunidades de análisis para mejorar la productividad.

Si integramos el sistema de fichaje móvil como una función del portal y app del empledo, tanto los empleados como el empleador podrán disponer de datos tan útiles como la hora media de entrada y realizar acciones como solicitar las vacaciones o día libre, o enviar alguna notificación. 

Estas son algunas de las funciones más destacadas que puede ofrecer una aplicación móvil para el registro diario de la jornada integrada en un portal y app del empleado en la empresa:

-    Registrar las horas trabajadas a través del pc o a través del móvil
-    Control de presencia y localización con Google Maps
-    Visualizar fichajes y descansos en cualquier momento y desde cualquier lugar
-    Facilidad y comodidad a la hora de usarlo por todos los trabajadores
-    Ayuda a completar los partes de trabajo
-    Posibilidad de organizar las jornadas al equipo o asignarles tareas
-    Incentivar y premiar a los más eficientes a través de la gamificación
-    Envío de alertas y mensajes para solucionar emergencias

Para ampliar información de esta solución para fichar desde el móvil integrada en el portal y app del empleado no duden en ponerse en contacto con nosotros estaremos encantados de atender su consulta.


Razones para implantar una app y portal del empleado en la empresa

Hay empresas que ofrecen servicios on line al empleado que curiosamente éste casi no aprovecha y esto puede ser por varias razones. Los empleados realizan muchas tareas sin usar el PC, algunos viajan y por falta de tiempo no se conectan para consultar información corporativa en el “fragor” de la jornada laboral. Otras veces ocurre que el portal no es multidispositivo y multiplataforma, y cuando acceden éste no les ofrece la experiencia de usuario necesaria en el dispositivo que han elegido en ese momento.

Cada vez menos usamos nuestro pc fuera del trabajo,  hoy lo sustituimos por nuestro smartphone o tablet y la experiencia de usuario de los portales del empleado en esos dispositivos no fomenta conectarse.

Muchos portales del empleado son meros accesos web a software de recursos humanos sin adaptaciones al uso en movilidad, ni a los dispositivos móviles. No jerarquizan los contenidos en función del contexto de uso, ni aprovechan funciones claves de la tecnología móvil como por ejemplo las notificaciones ‘push’. Para evitar esos problemas es aconsejable optar por poner en marcha un portal y app del empleado multidispositivo y multiplataforma para las empresas.

Un portal del empleado es multidispositivo cuando está preparado para ofrecer una experiencia adaptada a los diferentes dispositivos que puede utilizar el usuario: PC, tablet o smartphone. 

La propiedad multiplataforma resuelve el portal para las plataformas web, web móvil y las apps para iOS y Android en una única solución.
Por lo tanto estas características hacen posible ofrecer los mismos servicios y funciones on line a todos los empleados independientemente del dispositivo que utilicen para conectarse, ya sea su PC en casa o en el trabajo, su tablet o su smartphone iOS o Android.

Desde el punto de vista del trabajador tener en la mano y facil de usar todos los trámites de comunicación de los trbajadores con la empresa, favorece que usen la app del empleado de manera regular y sobre todo facilita que llegue la información relevante en el momento idóneo. 

Por ejemplo, si un trabajador enfermo tiene que enviar un parte de baja médica, lo podrá hacer nada más salir de la consulta con su móvil sin demorarlo hasta poder llevarlo a la oficina. O si está a punto de comprar un electrodoméstico y quiere financiarlo podrá aceder a sus últimas nóminas en el mismo momento de la compra. Son muchas las situaciones dónde tener esta información al alcance de la mano hace la relación empleado-empresa más fluida.

Desde la visión de la empresa digitalizar y automatizar gran parte de la comunicación y las tareas administrativas de recursos humanos, supone un aumento de la productividad en el departamento, que se ha convertido en un factor estratégico para la empresa.

Algunas de las principales ventajas de implantar con éxito un portal y app del empleado:

-    Ahorro de tiempo y costes en la gestión administrativa de RRHH
-    Reducción de papel y tareaas de archivo, hacia la oficina sin papeles
-    Mejor comunicación interna e interdepartamental
-    Fomento de la colaboración y la participación en las políticas de empresa
-    Mejora el clima laboral
-    Fidelización del equipo

¿Cuáles son las funcionalidades que aportan valor en un portal y app del empleado?

Como ejemplo, en vBote las hemos agrupado en diferentes módulos funcionales de nuestra solución portal y aplicación móvil del empleado multiplataforma y multidispositivo, que ofrece versión desktop, web móvil y app iOS y Android.

Los módulos funcionales definidos son los siguientes:

-    Información corporativa. Aquí comunica la empresa la información general a los empleados.
-    Vacaciones y permisos. Facilita la gestión de los permisos, bajas y vacaciones. A través del portal interactúan los empleados y sus responsables de departamento
-    Documentación privada. Este módulo pone a disposición de los empleados sus documentos personales de su relación con la empresa (contratos, nóminas, certificados..) 
-    Formación. La empresa muestra su oferta formativa y los empleados se inscriben en los cursos previo autorización de sus responsables de departamento.
-    Aprobación de gastos. Para la gestión ágil de los gastos en los que incurren los empleados en su actividad profesional.
-    Comunicación entre departamentos. Canales de comunicación entre empleados y departamentos.
-    Gestión de la jornada. Gestión y el control de las horas trabajadas y las tareas realizadas.
-    Firma digitalizada. Firma de documentos por parte del empleado . 
-    Informes. Reportes de actividad y de desempeño en el portal.

Nuestra propuesta es la implantación de un portal y una app del empleado modular que permita comenzar por una solución más básica y añadir los módulos nuevos a medida que la empresa los necesita. En futuros posts iremos desglosando estos módulos en funciones más concretas que puede ofrecer una solución portal y app del empleado tomando como ejemplo la que proponemos en vBote. 

Si te interesa una solución de portal y app del empleado y deseas ampliar información, contacta con nosotros.