0

21 tendencias de programación en boga y 21 que ya no llaman la atención

ProgramacionA los programadores les encanta burlarse del mundo de la moda donde las tendencias surgen como la brisa. Las faldas suben y bajan, los pigmentos van y vienen, las corbatas engordan y luego se vuelven más delgadas. Pero en el mundo de la tecnología, el rigor, la ciencia, las matemáticas y la precisión dominan la moda.

Eso no quiere decir que la programación sea una profesión desprovista de tendencias. La diferencia es que las tendencias de programación son impulsadas por una mayor eficiencia, mayor personalización y facilidad de uso. Las nuevas tecnologías que entregan una o más de estas características eclipsan a la generación anterior. Es una meritocracia, no una fantasía.

Lo que sigue es una lista de lo que está de moda y lo que no entre los programadores de hoy. No todos estarán de acuerdo con lo que está en la lista A, lo que está en la lista D y lo que se ha omitido. Eso es lo que hace que la programación sea una profesión infinitamente fascinante: cambios rápidos, debates apasionados, regresos repentinos.

En boga: preprocesadores
No llama la atención: stacks completos de idiomas
No fue hace mucho tiempo que las personas que crearon un nuevo lenguaje de programación tuvieron que construir todo lo que convirtió el código en bits alimentados al silicio. Entonces, alguien descubrió que podían aprovecharse del trabajo anterior. Ahora las personas con una idea inteligente simplemente escriben un preprocesador que traduce el nuevo código en algo antiguo con un amplio conjunto de bibliotecas y APIs.

Los lenguajes de scripting como Python o JavaScript alguna vez se limitaron a pequeños proyectos, pero ahora son la base para un trabajo serio. Y aquellos a quienes no les gustó JavaScript crearon CoffeeScript, un preprocesador que les permite codificar, nuevamente, sin la onerosa puntuación. Hay docenas de variaciones que predicen la sintaxis de una manera diferente.

La gente a la que le encantaba la escritura dinámica creó Groovy, una versión más simple de Java sin la puntuación demasiado insistente. Parece que hay docenas de idiomas: Groovy, Scala, Clojure, Kotlin, etc. que se ejecutan en JVM, pero solo hay una JVM. También puede ejecutar muchos idiomas en la VM de .Net. ¿Por qué reinventar la rueda?

En boga: Sin servidor
No llama la atención: Docker
Esto no es exactamente cierto. Los contenedores Docker están en todas partes. Los servidores están funcionando y cerrando contenedores todo el tiempo. Sin embargo, los contenedores Docker son mucho más grandes de lo que necesitan ser.

Si lo piensa bien, solo puede escribir unas pocas docenas de líneas de código real de toma de decisiones para ese microservicio que está implementando, pero necesitará agregar un millón de líneas de configuración para hacer que Node.js y todo lo demás comience correctamente con Docker. Sí, todo es repetitivo, pero eso hace que se pierda el punto.

Las nuevas arquitecturas sin servidor nos permiten desplegar solo esas pocas declaraciones ‘si esto pasara’ que toman las decisiones reales. Todo lo demás queda en manos de la gente que nos está alquilando la plataforma sin servidor.

Sí, nos quejaremos de lock-in y falta de personalización en unos pocos años, pero por ahora las opciones sin servidor parecen un alivio para todos los devops y la configuración.

En boga: frameworks JavaScript MV*
No llama la atención: archivos de JavaScript
Hace mucho tiempo, todos aprendieron a escribir JavaScript para mostrar un cuadro de alerta o verificar que la dirección de correo electrónico en el formulario contenía un signo @. Ahora las aplicaciones HTML AJAX son tan sofisticadas que pocas personas comienzan de cero. Es más simple adoptar un marco elaborado y escribir un poco de código de pegamento para implementar su lógica comercial.

Ahora hay docenas de frameworks como Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS y muchos más, todos listos para manejar los eventos y el contenido de sus aplicaciones y páginas web.

Esas son simplemente las aplicaciones web. También hay un número sintonizado para ofrecer desarrollo multiplataforma para el mundo de los teléfonos inteligentes/tabletas. Tecnologías como NativeScriptPhoneGapApache Cordova y React Native son algunas de las opciones para crear aplicaciones de tecnología HTML5.

En boga: Framework CSS
No llama la atención: CSS genérico
Hubo un tiempo en que agregar un poco de dinamismo a una página web significaba abrir el archivo CSS e incluir un nuevo comando como font-style: cursiva. Luego guardaba el archivo y se iba a almorzar después de un duro trabajo por la mañana. Ahora las páginas web son tan sofisticadas que es imposible llenar un archivo con comandos tan simples. Un ajuste a un color y todo desaparece. Es como lo que dicen sobre las conspiraciones y las ecologías: todo está interconectado.

Ahí es donde los marcos de CSS como SASS y sus primos como Compass han encontrado una base sólida. Fomentan la codificación alfabetizada y estable al ofrecer construcciones de programación como variables reales, bloques de anidación y mezclas. Puede que no suene como mucha novedad en la capa de programación, pero es un gran avance para la capa de diseño.

En boga: SVG en Canvas
No llama la atención: Flash
Flash ha estado volviendo loca a la gente durante años, pero a los artistas siempre les han encantado los resultados. El renderizado anti-alias se ve muy bien, y muchos artistas talentosos han creado una pila profunda de código Flash para ofrecer transiciones y animaciones sofisticadas. Los juegos casuales continúan siendo muy populares. Entonces Flash se aferra a la vida en la web.

Ahora que la capa de JavaScript tiene la capacidad de hacer más de lo mismo, los fabricantes y desarrolladores de navegadores están alentando el final de Flash. Ven una mejor integración con la capa DOM proveniente de nuevos formatos como SVG (Scalable Vector Graphics). SVG y HTML comprenden una gran pila de etiquetas que a menudo es más fácil de usar para los desarrolladores web. Luego hay grandes APIs que ofrecen un elaborado dibujo en el objeto Canvas, a menudo con la ayuda de tarjetas de video. Póngalos juntos y le quedan pocas razones para usar Flash.

En boga: Casi big data (análisis sin Hadoop)
No llama la atención: Big data (con Hadoop)
A todo el mundo le gusta sentirse como el Gran Hombre en el Campus, y si no, están buscando un campus del tamaño adecuado donde puedan destacarse. No sorprende que cuando las palabras “big data” comenzaron a fluir a través de la suite ejecutiva, comenzaron a pedir los sistemas de big data más grandes y potentes, como si estuvieran comprando un yate o un rascacielos.

Lo curioso es que muchos problemas no son lo suficientemente grandes como para utilizar las mejores soluciones de big data. Claro, las compañías como Google o Yahoo rastrean toda nuestra navegación web; tienen archivos de datos medidos en petabytes o yottabytes. Pero la mayoría de las empresas tienen conjuntos de datos que pueden caber fácilmente en la memoria RAM de una PC básica. Estoy escribiendo esto en una PC con 16GB de RAM, suficiente para mil millones de eventos con un puñado de bytes. En la mayoría de los algoritmos, no es necesario leer los datos en la memoria porque la transmisión desde un SSD está bien.

Habrá instancias que exijan los tiempos de respuesta rápidos de docenas de máquinas en una nube de Hadoop que se ejecutan en paralelo, pero muchas funcionarán correctamente en una sola máquina sin las complicaciones de coordinación o comunicación.

En boga: Spark
No llama la atención: Hadoop
No se trata de que Hadoop se esté enfriando. Sino que Apache Spark está al rojo vivo, haciendo que el modelo de Hadoop parezca un poco viejo. Spark toma prestada algunas de las mejores ideas del enfoque de Hadoop para extraer significado de grandes volúmenes de datos, y los actualiza con algunas mejoras sólidas que hacen que el código se ejecute mucho, mucho más rápido. La más grande puede ser la forma en que Spark mantiene los datos en una memoria rápida en lugar de requerir que todo se escriba y se lea desde el sistema de archivos distribuido.

Por supuesto, muchas personas están fusionando las dos mediante el uso de la velocidad de procesamiento de Spark en los datos almacenados en el sistema de archivos distribuidos de Hadoop. Hadoop y Spark a menudo son más socios que competidores.

En boga: Configuración de la base de datos
No llama la atención: Programación de software
Hace mucho tiempo, los programadores solían bromear diciendo que no sabían cómo sería la programación en el próximo siglo, pero sabían que se llamaría Fortran. Esta broma era tan divertida que se caían de sus dinosaurios y rompían su ropa interior de madera. Luego volverían a configurar una base de datos.

Y todavía estamos construyendo bases de datos hoy, pero lo que consideramos una “base de datos” ahora es mucho más sofisticado y poderoso. Las bases de datos listas para usar se sincronizarán entre sí a través de los continentes, al tiempo que ofrecen una compensación flexible entre consistencia y velocidad. Algunos servicios en la nube, como Firebase, enviarán nuevos datos a las aplicaciones web que se ejecutan en clientes móviles.

Gran parte de la revolución sin servidores se basa en la constatación de que muchas de las tiendas de datos en la nube son ahora tan potentes que solo necesitamos escribir unas pocas cláusulas para construir una aplicación web bastante atractiva.

En boga: Game frameworks
No llama la atención: Desarrollo de juegos nativos
Hubo una vez en que el desarrollo de los juegos implicaba contratar a muchos desarrolladores que escribieran todo en C desde cero. Claro, costaba muchísimos dólares, pero se veía genial y corría como el viento. Ahora, nadie puede permitirse el lujo de un código personalizado. La mayoría de los desarrolladores de juegos abandonaron su orgullo hace años y usan bibliotecas como Unity, Corona o LibGDX para construir sus sistemas. No escriben código C tanto como las instrucciones para las bibliotecas.

¿Es una lástima que nuestros juegos no estén hechos a mano con orgullo, sino que se hayan eliminado utilizando el mismo motor? No. La mayoría de los desarrolladores se sienten aliviados. Debido a que no tienen que lidiar con los detalles, pueden concentrarse en el juego, el arco narrativo, los personajes y el arte.

En boga: Generadores de sitios web estáticos
No llama la atención: Aplicaciones web de una sola página
¿Recuerda cuando las URL apuntaban a páginas web llenas de texto e imágenes estáticas? Luego aparecieron las aplicaciones web dinámicas de una sola página y las reemplazaron todas con una aplicación web inteligente que recuperaría los datos en cuestión. ¿Adivine qué? El péndulo se balancea hacia atrás y todos los niños están construyendo generadores de sitios estáticos. Hay docenas de ellos. Es como un híbrido. Pone todos los datos en una pila y luego escribe un código que pega los datos en algunas plantillas para que haya un archivo HTML para cada URL estática, y esto proviene de cada fila en la tabla de datos.

Los niños piensan que estos sitios estáticos son súper rápidos, y lo son. Simplemente no les diga que los viejos sistemas dinámicos como WordPress y Drupal funcionaron de la misma manera, manteniendo cachés que estaban más o menos llenos de páginas estáticas generadas con los últimos datos.

En boga: GraphQL
No llama la atención: REST
No es que REST estuviera muerto. Es solo que queremos hacer más con la API, y GraphQL es una forma de hacerlo. GraphQL devuelve los datos en JSON, al igual que REST. GraphQL comienza con HTTP POST, al igual que muchas llamadas REST. Es solo que la sintaxis GraphQL le permite especificar consultas muy complejas con solo unas pocas teclas. Esto hace que a los programadores les resulte más simple pedir exactamente lo que quieren, y reduce la cantidad de trabajo que se debe hacer en el servidor cuando alguien quiere una API ligeramente diferente.

En boga: Cloud IDEs
No llama la atención: IDEs locales
Hace mucho tiempo, las personas usaban un compilador de línea de comandos. Luego alguien integró eso con un editor y otras herramientas para crear el IDE. Ahora es el momento de que el IDE sea eclipsado por herramientas basadas en navegador que le permiten editar el código, incluso el código de un sistema en funcionamiento. Si no le gusta cómo funciona WordPress, viene con un editor incorporado que le permite cambiar el código en ese mismo momento. Azure de Microsoft le permite escribir código de pegamento de JavaScript directamente en su portal. Estos sistemas no ofrecen los mejores entornos de depuración, y hay algo peligroso sobre la edición de código de producción, pero la idea tiene patas.

Puede comenzar con AWS Cloud9Codenvy, y WebIDE de Mozilla, pero siga explorando. Las herramientas basadas en la web son cada vez más poderosas. Es posible, por ejemplo, crear un proyecto completo de análisis de big data en el sitio web Azure de Microsoft. Y si está comenzando a explorar opciones sin servidor, rápidamente descubrirá que puede escribir todo su código en un elemento de formulario en una página web. Uno que no es mucho más grande que el formulario que usa para actualizar a sus amigos en Facebook.

En boga: GPU
No llama la atención: CPU
Cuando el software era simple y las instrucciones se organizaban en una línea agradable, la CPU era el rey de la computadora porque hacía todo el trabajo pesado. Ahora que los videojuegos están llenos de extensas rutinas gráficas que pueden ejecutarse en paralelo, la tarjeta de video ejecuta el programa. Es fácil gastar 500, 600 dólares o más en una elegante tarjeta de video, y algunos jugadores serios usan más de uno. Eso es más del doble del precio de muchos escritorios básicos.

Además, los jugadores no son los únicos que se jactan de sus tarjetas de GPU. Los científicos informáticos ahora están convirtiendo muchas aplicaciones paralelas para ejecutarlas cientos de veces más rápido en la GPU. Y los científicos de datos están utilizando servidores con GPU para acelerar el desarrollo de sus modelos de aprendizaje automático.

En boga: GitHub
No llama la atención: Currículums
Claro, podría aprender acerca de un candidato al leer una lista de logros que incluye al vicepresidente del club de ajedrez junior high. Pero leer el código actual de alguien es mucho más rico e instructivo. ¿Escriben buenos comentarios? ¿Pierden demasiado tiempo rompiendo elementos en clases pequeñas que hacen poco? ¿Hay una arquitectura real con espacio para la expansión? Todas estas preguntas se pueden responder con un vistazo a su código.

Es por eso que participar en proyectos de código abierto es cada vez más importante para encontrar un trabajo. Compartir el código de un proyecto propietario es difícil, pero el código fuente abierto puede ir a todas partes.

En boga: El alquiler
No llama la atención: Comprar
Cuando Amazon lanzó sus ventas para computadoras y otros productos electrónicos el Black Friday, la compañía se olvidó de incluir ofertas de alta calidad para su nube. Dele tiempo. No hace mucho tiempo, las compañías abrieron su propio centro de datos y contrataron a su propio personal para ejecutar las computadoras que compraron directamente. Ahora alquilan las computadoras, el centro de datos, el personal e incluso el software por hora. Nadie quiere las molestias de poseer algo, o incluso administrar servidores. Es una buena idea, al menos hasta que el sitio web se vuelva viral y se dé cuenta de que está pagando por todo con un clic.

En boga: Complejidad de la nube
No llama la atención: Simplicidad de la nube

En los primeros días de la computación en la nube, los vendedores enfatizaban lo fácil que era hacer clic en un botón y hacer que una máquina funcione. La simplicidad reinaba.

Ahora, elegir la máquina correcta y descubrir el programa de descuento correcto podría tomar más tiempo que escribir el código. Hay docenas de perfiles de máquina disponibles, y la mayoría de los proveedores de la nube admiten algunos de los modelos más antiguos. Todos ofrecen niveles de rendimiento únicos, por lo que es mejor que esté listo para compararlos y decidir cuál es el más rentable para usted. ¿Vale la pena ahorrar 12 centavos por hora para vivir con menos RAM? Podría ser si está girando 100 máquinas por meses a la vez.

Para hacer las cosas más complejas, las compañías en la nube ofrecen varias opciones para obtener descuentos pagando por adelantado o comprando en grandes cantidades. Tienes que ponerlos en la hoja de cálculo también. Es suficiente invertir en un curso en línea sobre ingeniería de costos en la nube.

En boga: Aplicaciones web móviles
No llama la atención: Aplicaciones móviles nativas

Digamos que tiene una gran idea para el contenido móvil. Podría apresurarse y escribir versiones separadas para iOS, Android, Windows 10 Mobile e incluso BlackBerry OS. Cada uno requiere un equipo separado que habla un lenguaje de programación diferente. Luego, la tienda de aplicaciones de cada plataforma ejerce su propio peso antes de que la aplicación se pueda entregar a los usuarios.

O bien, podría compilar una aplicación HTML y colocarla en un sitio web para que se ejecute en todas las plataformas. Si hay un cambio, no es necesario que regrese a la tienda de aplicaciones, solicitando una revisión rápida de la corrección de errores. Ahora que la capa HTML es cada vez más rápida y se ejecuta en chips más rápidos, este enfoque puede competir con las aplicaciones nativas, incluso para aplicaciones complejas e interactivas.

En boga: Android
No llama la atención: iOS
¿Fue solo hace unos años que las líneas salieron de la tienda de Apple? Los tiempos cambian. Mientras que el iPhone y la iPad continúan teniendo fanáticos dedicados que adoran su interfaz de usuario rica y sofisticada, las cifras de ventas brutas siguen favoreciendo a Android. Algunos informes incluso dicen que más del 80% de los teléfonos vendidos fueron androides.

La razón puede ser tan simple como el costo. Mientras que los dispositivos con iOS todavía cuestan un centavo, el mundo de Android está inundado con mucha competencia que está produciendo tabletas por tan solo una quinta parte del precio. Ahorrar dinero siempre es una tentación.

Pero otro factor puede ser el efecto del código abierto. Cualquiera puede competir en el mercado de Android, y lo hacen. Hay grandes tabletas y pequeños Android. Hay cámaras Android e incluso refrigeradores Android. Nadie tiene que decir: “Madre, ¿y sí?” a Google para innovar. Si tienen una idea, sigan adelante.

En boga: Node.js
No llama la atención: Java EE, Ruby on Rails
El mundo de los servidores siempre ha prosperado en el modelo de subprocesos que permite al sistema operativo complacer cualquier comportamiento caprichoso, ineficiente o disoluto de los programadores. Cualquiera que sea el bucle tonto o los programadores de computación derrochadores codificados, el sistema operativo equilibraría el rendimiento cambiando entre los hilos.

Luego, Node.js apareció junto con el modelo de programación de devolución de llamada de JavaScript, y el código corría realmente rápido, más rápido de lo que nadie creía posible desde un lenguaje de juguete que alguna vez se usó solo para cuadros de alerta. De repente, la sobrecarga de crear nuevos hilos se hizo obvia y Node.js despegó. Los problemas surgen cuando los programadores no se comportan bien, pero la responsabilidad en gran medida ha sido buena para ellos. Hacer las limitaciones de recursos obvios para los programadores generalmente produce un código más rápido.

El mundo de Node.js también se beneficia de la armonía entre el navegador y el servidor. El mismo código se ejecuta en ambos, por lo que es más fácil para los desarrolladores moverse por las funciones y duplicar la funcionalidad. Como resultado, las capas de Node.js se han convertido en las mejores acumulaciones en Internet.

En boga: PHP 7.2
No llama la atención: PHP antiguo
En el pasado, PHP era una forma sencilla de eliminar algunas páginas web dinámicas. Si necesita un poco de variedad, puede insertar un código simple entre etiquetas HTML. Era lo suficientemente básico como para que los desarrolladores web lo aceptaran, pero lo suficientemente lento como para sacar muestras de desprecio en los programadores.

Esas son viejas noticias porque algunos amantes de PHP en lugares como WordPress y Facebook han estado compitiendo para ejecutar código PHP más rápido que nunca al incorporar la tecnología de compilación Just-in-Time que alguna vez hizo de Java una solución de alto rendimiento. Ahora, herramientas como HipHop Virtual Machine y PHP 7.2 ofrecen velocidades que pueden ser el doble de rápidas que las versiones anteriores. Toma eso, Node.js y Java.

Caliente: Educación justo a tiempo
No llama la atención: Cuatro años por adelantado
Los cursos mediados por computadora ya no son nuevos, y todos disfrutan de la ventaja de ver una conferencia de video con botones para acelerar, ralentizar o pedirle al profesor que repita ese último punto. Los foros en línea también mejoran en las antiguas salas de seminarios, donde solo un fanfarrón podría dominar la discusión a la vez.

Pero no es solo la naturaleza de la tecnología detrás de los cursos en línea lo que está volcando el complejo industrial educativo; también lo es la flexibilidad para aprender cuando y donde lo necesite. Esto está cambiando la dinámica, ya que las personas ya no tienen que invertir cuatro años de exorbitante matrícula en una gran colección de cursos que pueden o no ser relevantes para sus vidas.

¿Por qué tomar cursos sobre compiladores hasta que sepa que realmente trabajará en un compilador? Si el jefe desea cambiar de una base de datos relacional a un motor NoSQL, puede invertir el tiempo en un curso en almacenes de datos modernos. Obtiene información nueva cuando la necesita y no abarrotan du cerebro con ideas que se pudren rápidamente.

Peter Wayner, InfoWorld.es

Ordenado por: Aplicaciones Tags: 

TOT

 

 

Contenidos recomendados...

Comparta esta publicación

Artículos relacionados

Escriba su comentario

Ud. tiene que estar conectado para publicar comentarios.

Red de publicaciones IDG en Latinoamérica: Computerworld Ecuador - Computerworld Colombia - CIO Perú // Contáctenos
© 2018 Computerworld Venezuela - All rights reserved ---- WordPress - Tema adaptado por GiorgioB