miércoles, 12 de octubre de 2022

Lotus 1-2-3. Software clásico previo a Excel


Lotus 1-2-3. Software clásico previo a Excel

Cuando se trata de hojas de cálculo en estos días, la mayoría de la gente piensa en Excel. Basta con que todos los aspectos sean iguales, es decir, usamos las celdas, esquemas, características y tablas de estas hojas de cálculo. Pero hubo un tiempo en que Excel no existía y las hojas de cálculo eran sinónimo de Lotus 1-2-3. Así que, como parte de nuestros cursos de Excel online, en este artículo sobre software tradicional, veremos el nacimiento, desarrollo y muerte de este maravilloso programa. 

Logotipo de Excel
Hoy en día, cuando trabajamos con documentos, solemos pensar en la distribución de páginas. Pero hasta hace poco era común obtener un ordenador sin ningún programa, a excepción del sistema operativo. Siempre se vendía por separado, así que había que comprar el paquete completo. Entonces, cuando surgió el mundo de los procesadores de consumo, las hojas de cálculo y las bases de datos se vendían por separado. 

Nacimiento y éxito inmediato de Lotus 1-2-3, predecesor de Excel.

Tabla generada en Lotus 1-2-3
Lotus 1-2-3 se introdujo originalmente en 1983 como reemplazo de la hoja de cálculo VISICC. Vendió más que su predecesor en su primer año, y las ventas de Lotus se triplicaron con respecto al año anterior a $ 53 millones. Dos años después, la empresa contaba con más de mil empleados. En este sentido, Lotus se había convertido en uno de los primeros en mover una empresa tecnológica de rápido crecimiento. Se convirtieron así en las estaciones de trabajo estándar para MS-DOS, sistema operativo del cual hablaremos más tarde. Sin duda, su éxito también estuvo influenciado por el hecho de que fue uno de los primeros programas de computadora que se anunció en televisión. También entendió la mejora empresarial y cómo la tecnología de TI ingresó al mundo laboral.

Lotus 1-2-3 incluía nombres A1 alfanuméricos para las celdas, por lo que Excel u OpenOffice usaron esos sistemas y los nombraron de manera diferente. Era un producto muy confiable con pocos errores y tenía una buena reputación en ese momento. 

Descenso del programa.

El descenso de Lotus comenzó con la participación en MS-DOS. Con la llegada de Windows y los entornos gráficos, las reglas habían cambiado, pero Lotus no lo sabía o no quería verlo. Excel se creó para aprovechar al máximo Windows, pero esa es una de las razones por las que ganó Microsoft. Además contribuyó en esa misma dirección el éxito de IBM con OS/2. En realidad, parecía una solución lógica. IBM apostó por la industria y el sistema operativo que la convirtió en la empresa líder. En ese contexto, el problema es que Lotus 1-2-3 no entendió que la apariencia de Windows cambió las reglas del juego.

Página de inicio de Lotus 1-2-3
En algún momento Lotus intentó adaptarse a Windows pero falló. De hecho, Lotus versión 3 fue reescrito en C, un lenguaje de programación compatible con Windows (también Java es compatible con Windows). Sin embargo, esto creó varios problemas, como dividirlo en diferentes versiones, usando la versión Lotus 3 para los sistemas más potentes y la serie 2.2 para los sistemas menos potentes. 

Windows se introdujo en la década de 1990 y se hizo popular cuando IBM comenzó a declinar. En 1996, IBM decidió adquirir Lotus Corporation. El compromiso de Lotus fue seguir un camino similar al de MS Office y Lotus Symphony. Este proyecto fue como sacrificar el código de Apache Foundation sin el interés necesario. Esta historia es similar a lo que pasó con BlackBerry después de la llegada del iPhone. El BlackBerry fue el primer teléfono inteligente y su éxito comercial fue asombroso. Pero no supo cómo interpretar el surgimiento del iPhone y como esto significó un cambio de juego. Querían seguir usando las reglas existentes que había en ese momento. Pero ya no funcionaban. 

Cabe destacar que Lotus 1-2-3 ya estaba integrado en Windows 3.1 y en realidad estaba obsoleto en comparación con otros programas. Al parecer, decidió oponer cierta resistencia a desaparecer. Pero con el paso de los años, el desarrollo de Excel a avanzado hasta que el Lotus 1-2-3 ha desaparecido de las computadoras. No volvió a usarse después de Windows 95, y la versión estándar de Excel se ha convertido en la hoja de cálculo por excelencia. Sin embargo, hay que recordar que nada dura para siempre en el mundo de la informática. Entonces, ¿quién será el sucesor de Excel en el tema de las hojas de cálculo? Eso el tiempo lo dirá. Por el momento, puedes tomar cursos de Excel para dominarlo adecuadamente y mejorar tus habilidades en este programa. 

Adicionalmente, si te interesa el mundo de la programación, te recomendamos el siguiente curso de Java, destinado a mejorar las habilidades en este lenguaje. Además, será muy benéfico un curso de python.

martes, 11 de octubre de 2022

¿Qué es Excel y por qué lo necesitas?

 

¿Qué es Excel y por qué lo necesitas?

Excel es un programa informático desarrollado por Microsoft que forma parte de la suite Office que incluye otros programas como Word y PowerPoint.

¿Para qué sirve Excel? 

Lo que diferencia a Excel de otros programas de escritorio es que puede trabajar con datos numéricos.


Teléfono y computadora utilizando Excel
A diferencia de Microsoft Word, Excel organiza los datos en columnas y filas que forman las celdas que contienen los datos. Puede realizar operaciones aritméticas básicas con números almacenados en celdas de Excel, así como utilizar funciones matemáticas o estadísticas más complejas. Como resultado, Excel simplifica enormemente el trabajo con números, lo que facilita e informa el análisis de datos mediante herramientas como gráficos y tablas dinámicas. Hoja de cálculo


Excel pertenece a una categoría de programas de TI llamados hojas de cálculo, las cuales se desarrollaron en la década de 1960 para simular documentos contables que ayudaron a automatizar las actividades de este tipo. Las hojas de cálculo han reemplazado a los sistemas que originalmente fueron diseñados para la contabilidad, pero hoy en día se utilizan en innumerables aplicaciones que requieren el procesamiento de datos tabulares.

Breve historia.

En 1982, Microsoft ingresó al mundo de las hojas de cálculo con un producto interdisciplinario. En ese momento había dos fuertes competidores en el mercado: VisiCalc y SuperCalc, lo que complicaba el campo en el mercado de Microsoft. Como si eso no fuera suficiente, la tabla Lotus 1-2-3 se lanzó en 1983, un programa sorprendente y por eso rápidamente se convirtió en el favorito. Microsoft vio primero el poder de las hojas de cálculo de Lotus y comenzó a trabajar en la primera versión de Excel, que se lanzó en 1985.


La primera versión de Excel se desarrolló específicamente para la plataforma Macintosh, pero dos años después, Microsoft lanzó Excel 2.0 en 1987 que era específicamente para la plataforma de Windows. Desde entonces, Excel para Microsoft se ha convertido en el programa de hojas de cálculo más utilizado.

Estructura de Excel.

Tabla de Excel
Como todos sabemos, la función principal de Excel es mostrar una matriz bidimensional que consta de columnas y filas en la pantalla principal. Estas forman pequeñas imágenes que llamamos celdas, y cada imagen tiene una sola dirección y consta de columnas y líneas correspondientes. Es decir, las direcciones son letras (columnas) y números (filas). Por ejemplo, la celda superior de la matriz está en la columna A, fila 1, por lo que está en la dirección A1. 


Los datos numéricos o literales se pueden ingresar en cualquier celda de Excel, pero la celda aún tiene un solo significado. Un método para determinar si Excel reconoce los dígitos como números o texto es de acuerdo a la alineación utilizada en una celda. Al ingresar el formato de datos de Excel, las celdas están a la izquierda y los datos numéricos están a la derecha. Los valores numéricos y alfanuméricos se ordenarán. Entonces, Excel puede realizar cálculos aritméticos sobre datos numéricos, como sumas (+), restas (-), multiplicaciones (*) y divisiones (/). La única condición es que la fórmula debe estar precedida por un signo igual (=) para ser calculada por Excel. 

Fórmula básica de Excel.

Podemos escribir todas las fórmulas que

Informe generado en Excel
necesitamos y, en las versiones más recientes de Excel, el número máximo de caracteres en una celda debe ser de 32,767. Algo muy útil de crear fórmulas en Excel es que puedes referirte a otras celdas e incluir esos valores en el cálculo. Conocemos esta conexión entre dispositivos de comunicación. Por ejemplo, esta fórmula suma valores a las celdas A1 y A2.


= A1 + A2


Para obtener más información sobre este tema, recomiendo leer la documentación de referencia de Excel.


Los operadores aritméticos y las funciones de Excel están disponibles para muchos cálculos, y los programas están disponibles para ayudar a calcularlos. Podemos ver las funciones en el Asistente de Excel. Este se encarga de proporcionar datos numéricos, cálculos y brindar buenos resultados. Por ejemplo, existe la función promedio, que puede representar una matriz de números y devolver el promedio de todos los valores. 

Las funciones de Excel.

Las funciones de Excel se clasifican de acuerdo con su función y algunas de estas categorías son funciones de investigación y referencia, lógicas, de texto, de fecha y hora y muchas otras. Para ver todas las funciones disponibles en Excel, haz clic en la pestaña Fórmula y ve a la línea de botones con las categorías. Al presionar uno de ellos, se mostrará las características que pertenecen a esta categoría. Por ejemplo, algunas fórmulas son de las categorías matemáticas y trigonometría.


Otra alternativa para descubrir las categorías y sus características es hacer clic en las funciones del sitio web oficial de Microsoft, donde puedes encontrar una lista completa. 


Como dije al principio, Excel se usa hoy en día en diferentes áreas que requieren datos tabulares. Afortunadamente, tiene muchas funciones que facilitan la organización de los datos sobre tablas. Proporciona varias herramientas de formato de datos, creando tablas de Excel utilizando el formato condicional o el uso simple de los estilos celulares.


Excel para smartphone
De hecho, Excel es una herramienta general para trabajar con datos tabulares, ya que permite organizar, filtrar, buscar o usar herramientas avanzadas para analizar esta información. Una de las razones por las cuales Excel es una de las aplicaciones más populares del mundo es la posibilidad de crear de acuerdo con los datos. Las herramientas visuales contribuyen a la suma y la interpretación de la información. Esto explica los millones de aplicaciones que los usuarios crean a través de los informes generados en Excel.


Los módulos de Excel son un tema separado, pero puedes hacer clic en la pestaña ""Insertar"" para tener una idea de diferentes módulos disponibles e inmediatamente contactar a un grupo de elementos de control determinados por el nombre del módulo. 

Nombre y versión de Excel

La conexión más común de Microsoft llamada Excel tiene una multitud de versiones. Algunas se llaman Microsoft Excel y otras Office Excel porque son parte de una serie de escritorios. En general, también se refieren a hojas de cálculo para versiones como Excel 2013, Excel 2016, Excel 2019, etc. Es muy importante saber qué versión es cuando trabaja con este programa porque las últimas características tienen funciones que las versiones anteriores no tienen.


La cantidad de herramientas y controles disponibles en Excel puede asustar a los nuevos usuarios de la aplicación. En realidad Excel es una de las aplicaciones más populares de hoy, por lo que es importante aprender a usarla. Ya no es un software de contabilidad y uso financiero, Excel va más allá para convertirse en una herramienta de procesamiento de datos que facilita la investigación, la manipulación y las relaciones relacionales. Por esta razón, sea cual sea la profesión a la que te dedicas, debes saber utilizar esta valiosa herramienta informática.


Si solo verificas y buscas un trabajo disponible en Internet, descubrirás que Excel es una de las habilidades más solicitadas. Ahora que sabes esto no esperes más y aprende a usar esta fantástica herramienta a través de un curso de Excel o un Curso de Excel básico. También te comentamos que seguimos trabajando en nuestro curso de Java. En el siguiente enlaces puedes visitarlo: Por qué programar en Java.



viernes, 30 de septiembre de 2022

Videojuegos, aplicaciones y más en Java

Si alguna vez has pensado en crear una aplicación y tu propio sitio web seguramente te habrás puesto a analizar cuál es tu mejor opción. Hay tantas opciones y lenguajes de programación que quizás no sepas por dónde empezar. Un de las opciones más atrayentes es Java, pues se trata de un lenguaje de programación que se usa en todo el mundo y es compatible con la industria. Entonces, tú también puedes ser un desarrollador distinguido. Toma un curso de Java. Además, puedes complementar tus habilidades con un curso de Python online.

Introducción a Java

Logotipo de Java con un programador de Videojuegos, aplicaciones y más en Java
Java es un lenguaje de programación creado por Sun Microsystems en 1995 con la idea de revolucionar la industria del desarrollo digital. Una de sus características más importantes es que es uno de los lenguajes preferidos en su campo debido a su sintaxis simple, velocidad y lenguajes de programación basados ​​en seguridad. Los programadores lo prefieren sobre Python, Ruby, Swift y C, por lo que actualmente se usa en centros de investigación y supercomputadoras.

¿Cómo funciona? Antes de comenzar a desarrollar una aplicación, ten en cuenta que se trata tanto de un lenguaje de programación como de un software. Para comenzar, debes descargar un kit de desarrollo e instalar el software en la computadora. Después de escribir el código, el software lo debes compilar en código de bytes de Java que puede ser entendido por cualquier máquina virtual de Java en ese estilo. Esta es una de las principales ventajas de Java Runtime Environment. ¡Puedes ejecutarlo en cualquier lugar y en cualquier computadora y, de hecho, en prácticamente cualquier dispositivo. 

Otro elemento además de la máquina virtual es la interfaz de programación de aplicaciones (API) de Java, que incluye una extensa biblioteca de primitivas, interconexiones y características de seguridad. Agregue a eso un poderoso entorno de programación, y combinando todos estos elementos, Java le permite crear excelentes software y programas.
Los 5 principales beneficios Java
Hasta ahora, hemos visto qué es Java y cómo funciona, pero ¿qué diferencia a este programa y lenguaje de programación de sus pares? Veamos:

Facilidad de uso: la sintaxis es simple y fácil de usar. También se basa en el lenguaje de programación C, pero es más fácil de depurar y menos complejo.
Es un lenguaje de programación orientado a objetos. Puedes usar conceptos que se encuentran en otros lenguajes similares y reutilizar los mismos objetos en otros programas, permitiendo ahorrar tiempo en los desarrollos.

Seguro y confiable. Java no utiliza código público que reduzca el riesgo de acceso no autorizado a la memoria y hay un administrador de seguridad para cada aplicación. Del mismo modo, con cada actualización, aumenta la estabilidad para garantizar la seguridad. 

Barato e independiente. Los programas dependen de la arquitectura de hardware específica en la que se ejecutan. Esto significa que se puede usar la máquina virtual de Java en cualquier computadora, independientemente del sistema operativo instalado, lo que ahorra costos de licencia.

Multitarea: Java puede ejecutar múltiples tareas simultáneamente, lo que se entiende como la unidad más pequeña posible de un proceso. De esta manera, el procesador se puede utilizar al máximo. 

5 aplicaciones de Java más usadas ​​en la vida real 

Java suena como algo realmente genial, pero ¿cómo aprender a usar Java te ayuda a convertirte en un buen programador? Aquí hay algunas cosas que puede hacer con este programa y lenguaje de programación: 

Programación de Videojuegos, aplicaciones y más en Java
Aplicaciones móviles: es posible que tenga Netflix, Uber o Candy Crush en su teléfono, pero ¿sabía que estas aplicaciones se crean con Java? J2ME es una plataforma que le permite crear aplicaciones en la computadora que se pueden instalar y usar en cualquier teléfono móvil.

Aplicaciones en la nube: herramientas como Oracle ayudan a configurar un servidor que puede ejecutar aplicaciones Java en la nube. Puedes usar estas herramientas para crear tus propias aplicaciones. 

Servidor web: hay servidores web y aplicaciones que se utilizan en todo el ecosistema.
Herramientas de software: los programadores usan Java para analizar, compilar, depurar y depurar otras aplicaciones y programas, especialmente en los sistemas operativos Windows. Prácticamente existen herramientas Java para todo el proceso de desarrollo de software, facilitando la vida del programador con nuevas herramientas. 

Videojuegos: En este lenguaje se creó un fenómeno como Minecraft. Comienza a desarrollar juegos con otros usando libGDX o crea juegos 2D o 3D para Android usando jMonkeyEngine. Las posibilidades son infinitas

Como puedes ver, Java es una herramienta versátil y poderosa que atrae a los programadores por su flexibilidad, seguridad y sintaxis, y puede hacer casi cualquier cosa. ¿Sabes dónde empezar? Comienza a estudiar en un curso de Java online bajo la guía de profesores profesionales que pueden disfrutar la programación. Así que, sin pensarlo dos veces, sumérgete en el mundo de la programación con lo mejores desarrollos. Recuerda, pueden ser sitios web, aplicaciones y videojuegos. Y lo mejor de todo es que son multiplataforma, por lo que pueden usarse desde cualquier dispositivo. En realidad, Java debe ser una de las primeras opciones en la lista de lenguajes para aprender. Por eso, será muy positivo si buscas un curso de Java online. Claro está, será un plus si también tomas un curso de Python.


jueves, 22 de septiembre de 2022

25 mejores aplicaciones de Java de todos los tiempos

Desde el estudio del espacio hasta los genomas, desde los compiladores inversos hasta los controladores de robots, Java se encuentra en el centro del mundo moderno. Estas son solo algunas de las muchas aplicaciones sobresalientes de este lenguaje de programación. 

Breve introducción.

La historia de Java inicia en el año 1991. Su propósito era funcionar en estaciones de trabajo de computadoras que no eran rápidas. Se trata de un lenguaje de programación que funciona con su propio ecosistema, e incluye un proyecto abierto, tiempo de implementación, SDK. Después de varios años de desarrollo del proyecto dirigido por James Gosling en 1995, Sun lanzó Java como una plataforma que puede trabajar en cualquier dispositivo. 


A principios de siglo, todo funcionaba en Java, desde tarjetas inteligentes hasta naves espaciales. Hoy, millones de desarrolladores usan este lenguaje. A continuación se muestra una lista de las declaraciones más originales e impresionantes sobre Java de la NSA. 


El número de estas aplicaciones cubre áreas generales como control espacial, videojuegos, automotriz, genómica, automotriz, industria y delito cibernético. Esta lista no es referente a todo lo que hay, por lo que está incompleta, especialmente por la gran cantidad de desarrollos existentes hoy día. ¡Avísame si crees que pierdo algo obvio! 


Antes de entrar en materia, vale la pena destacar que en el año 2000, cuando los nuevos desarrolladores de Java más sofisticados brillantemente hicieron trabajos excepcionales, se empezaban a ver explicaciones visuales del código de Java. Habitualmente comenzaban no solo la sintaxis del lenguaje, sino también con los conceptos para programar el objeto que hace que Java sea tan grande e importante. Poco nos imaginábamos en aquellos años que tiempo después Java seguiría siendo el principal impulsor de la carrera en Oracle.

25 mejores aplicaciones de Java de todos los tiempos.

Ahora, sin más preámbulo, iniciemos con la lista de las 25 mejores aplicaciones Java de todos los tiempos.

  • Misión a Marte. En 2004, Java se convirtió en el primer lenguaje de programación que ayudó a los humanos a conquistar el universo. Este año, los científicos de la NASA en el Jet Traffic Laboratory (JPL) en Pasadena, California, pasaron tres meses estudiando Spirit Mars usando una misión basada en Java desarrollada en el JPL Robotics Laboratory. De hecho, algunos años antes, JPL había comenzado a experimentar con Java en 1995 y creó el sistema de control y monitoreo Mars Sojourner. El creador de Java, James Gosling, es un empleado del JPL desde hace mucho tiempo y miembro del consejo asesor. 
  • Navegador de espacio profundo Javafx. ¿Quieres volar en el espacio exterior? En ese caso, es posible que necesites herramientas de AI Solions, un contratista aeroespacial de EE. UU. que ha desarrollado productos y servicios para agencias espaciales y de defensa civil durante más de 20 años. Un investigador del espacio profundo planea permitir que los operadores ferroviarios calculen tres objetos del en el cielo. La aplicación crea cualquier planeta, con una representación multidimensional y un modelo de la luna. También recrea un sistema de asteroides que permite verificar millones de puntos en una búsqueda visual precisa. 
  • Ventanas de la NASA. Ahora que el mundo virtual de NASA está en funciones, los programadores ahora pueden agregar el motor geográfico de la Administración Espacial y de Aviación Estadounidense y cualquiera puede usar los datos de científicos espaciales. Los ingenieros de la NASA utilizan el espacio en la Tierra para generar visualmente modelos que amplían áreas y otras fuentes de datos. Además, organizaciones de todo el mundo utilizan los datos globales para monitorear las condiciones climáticas, la visualización de las ciudades y el terreno, el monitoreo del tráfico, el análisis de datos geográficos cósmicos y el empoderamiento de las personas en la Tierra.

Mas aplicaciones importantes.

  • 4.JMAR JMUN. Fue incluido públicamente en 2003 y todavía es ampliamente utilizado por los científicos de la NASA. Java Mission Planning and Analysis for Remote Sensing (JMARS) es un sistema de información geográfica desarrollado por Mars Spacelight en la Universidad de Arizona. Jmars for the Moon (conocido como científicos de JMoon to Moon) analiza imágenes de campo amplio provenientes del Lunar Reconnaissance Orbiter, una nave espacial automatizada que orbita la Luna a una altitud de 50-200 km después del lanzamiento en 2009.
  • 5. SBMT (una pequeña herramienta de mapeo del cuerpo). Uno de los favoritos de los científicos cosmonautas, SBMT fue desarrollado por el Laboratorio de Física Aplicada de la Universidad John Hopkins. Utiliza datos de misiones espaciales para mostrar cuerpos celestes de forma irregular, como asteroides, cometas y lunas pequeñas, en 3D. SBMT está escrito en Java y utiliza la vista de código abierto (VTK) para crear una presentación en 3D. Las naves espaciales Dawn Rosetta, Osiris-Rex y Hayabusa2 han utilizado SBMT para estudiar cometas, asteroides y planetas enanos. 
  • 6. Buscar en Wikipedia. Esta enciclopedia humana está escrita por personas que utilizan software de código abierto y se especializan en tecnología Java. Lucene, escrito en 1999 por Dug Router y llamado así por su padre, es en realidad el quinto motor de búsqueda desarrollado por Catting. Como ingeniero en Xerox Parc, Apple y Excite, ha hecho otros desarrollos igual de importantes de otros productos. Cabe destacar que en el año 2014, Wikipedia reemplazó a Lucene con Elasticsearch, que también se incluye en Java para su ejecución. Por lo tanto, es un lenguaje de programación muy útil para esta empresa.

Aplicaciones científicas.

  • 7. Hadoop。 Lucene no es el único juego de nuestra lista. Y el grupo Son, inspirado en la investigación de Google, describe el algoritmo MapReduce para procesar datos en Universal Mailframes. Hadoop 1.0, lanzado en 2006, provocó una gran tendencia de datos que llevó a muchas empresas a acumular "lagos de datos" y referirse a los datos como "el nuevo petróleo". En 2008, Yahoo dijo que era el lanzamiento más grande de fan fiction para encontrar tarjetas que se ejecutaban en un clúster Linux de 10,000 núcleos en la web. Por su parte, Facebook dijo en 2012 que tenían más de 100 petabytes en el clúster de Hadoop, convirtiéndolo en el más grande del mundo. 
  • 8. Análisis de imágenes en paralelo (PGX). El análisis gráfico se basa en la comprensión de las relaciones y conexiones en los datos. Según sus estándares, PGX es uno de los motores de análisis de gráficos más rápidos del mundo. Escrito en Java, PGX fue publicado por primera vez por un grupo dirigido por el investigador de Oracle Labs Sungka Hong en 2014. PGX permite a los usuarios descargar información gráfica y admite algoritmos más amplios para la identificación y medición de grupos, la investigación, clasificación y eficiencia. Tiene muchas aplicaciones en los sectores de la salud, la seguridad, el comercio minorista y las finanzas. 
  • 9. H2O.AI. El entrenamiento de máquinas (ML) tiene una curva pronunciada, lo que dificulta que los especialistas en este campo presenten buenas ideas para ML. El aprendizaje automático (AUTOML) ayuda a automatizar las etapas del aprendizaje, como el diseño, el modelado y la ingeniería analítica. Desarrollada por el campeón de Java Cliff Cliff, la plataforma H2O.AI de código abierto basada en Java y está diseñada para democratizar la inteligencia artificial. También permite que los especialistas en aprendizaje automático trabajen de manera más efectiva como especialistas en datos virtuales.

Un mundo interesante creado en Java.

  • 10. Minecraft. El entorno pacífico del juego con biomas, personajes y bloques ha atraído a niños y adultos de todo el mundo, convirtiéndolo en uno de los vídeojuegos más populares de todos los tiempos. Minecraft y 3D World, desarrollados por Java Marcus "Notcha" y lanzados por Alpha en 2009, son una fuente inagotable de creatividad, ya que no hay dos mundos iguales. En los videojuegos de Java, los programadores pueden crear sus propios adornos para el hogar y la escuela.
  • 11. El robot ha comenzado. Una de las funciones de la robótica actual es identificar prototipos de partículas de la Estación Espacial Internacional (ISS), agitadores capaces de moverse sin gravedad, rebotar en paredes y usar giroscopios. Jitter es el mejor prototipo de Farjos mientras que Java Virtual Machine de Mindstorm es un entorno de hardware y software de LEGO para desarrollar robots de cubos de juguete programables. El juguete se remonta al proyecto TinyVM fundado en 1999 por José Solorzano y posteriormente liderado por Brian Bagall, Jurgen Stuber y Paul Andrews. Este rico entorno incluye muchos cursos especializados de programación robótica que complementan el entorno Java orientado a objetos y permiten que cualquier persona utilice controles avanzados y algoritmos de comportamiento. 
  • 12 subprogramas de Java. Según el Oxford Dictionary of English, la palabra "applet" apareció por primera vez en PC Journal en 1990. Sin embargo, las applets no existieron ante la aparición de Java en 1995. El applet Java se puede iniciar en una página web (marco, una nueva ventana, Sun AppletViewer o Instalación de Pruebas) y que se puede iniciar independientemente del navegador JVM. Parte del éxito temprano de Minecraft es que los jugadores podían usar el módulo Java Connected para reproducir un navegador web sin la necesidad de cargarlo o instalarlo. Los applets de Java han estado desactualizados desde Java 9 y se eliminan de Java 11 en 2018, pero son más asequibles.

Código sofisticado de Java

  • 13. Ideas de netbeans y eclipse. El primer IDE en ingresar al mundo de Java fue Netbeans, que comenzó en 1996 en la Universidad de Karlovy en Praga (llamada Xelfi) y fue lanzado en 1997 por la misma compañía fundada por el empresario Roman Stanec. En 1999, Sun compró un IDE modular que permite el uso de todo tipo de aplicaciones Java y se hizo disponible al año siguiente. En 2016, Oracle donó todo el proyecto NetBeans al Apache Software Foundation Fund. Otro IDL basado en Java es un Eclipse de código abierto que se puede usar no solo para escribir código Java, sino también para otros lenguajes de programación, desde ADA hasta Scala. Eclipse SDK fue lanzado por IBM en 2001 y publicado por IBM Visualage. Es por sí mismo adecuado para desarrolladores de Java, pero se ve mejorado con accesorios. IBM extendió Eclipse IDE a Eclipse Foundation en 2004 y sigue siendo una de las mejores ideas. 
  • 14. Obtén ideas. La idea de IntelliJ se ha convertido en una de las favoritas de los desarrolladores desde su lanzamiento en 2001. Hoy, la idea de IntelliJ es la base de muchos IDE en diferentes lenguajes, como Python, Ruby y Go. Java agrega las funciones de navegación y rendimiento de las que dependen muchos desarrolladores. Esto incluye la indexación del código, la refactorización, la finalización del código (antes de la reducción automática en los teléfonos inteligentes) y el análisis dinámico de errores (similar a la ortografía). La idea de IntelliJ ayuda a resolver los problemas de administración y mejorar aplicaciones complejas basadas en Java y JVM en un solo entorno. Permite a los desarrolladores sentirse productivos, y lo que es más importante, divertirse usando las herramientas de desarrollo.

Todo lo anterior permite ver fácilmente por qué tomar un curso de Java. En próximas notas veremos la importancia del curso de JavaScript, para desarrolladores. 





domingo, 18 de septiembre de 2022

Razones por las que programar en Java

Si alguna vez has pensado en crear una aplicación y tu propio sitio web seguramente te habrás puesto a analizar cuál es tu mejor opción. Hay tantas opciones y lenguajes de programación que quizás no sepas por dónde empezar. Un de las opciones más atrayentes es Java, pues se trata de un lenguaje de programación que se usa en todo el mundo y es compatible con la industria. Entonces, tú también puedes ser un desarrollador distinguido. 

Introducción a Java

Java es un lenguaje de programación creado por Sun Microsystems en 1995 con la idea de revolucionar la industria del desarrollo digital. Una de sus características más importantes es que es uno de los lenguajes preferidos en su campo debido a su sintaxis simple, velocidad y lenguajes de programación basados en seguridad. Los programadores lo prefieren sobre Python, Ruby, Swift y C, por lo que actualmente se usa en centros de investigación y supercomputadoras..

Diseño de estructura para programa en Java¿Cómo funciona? Antes de comenzar a desarrollar una aplicación, ten en cuenta que se trata tanto de un lenguaje de programación como de un software. Para comenzar, debes descargar un kit de desarrollo e instalar el software en la computadora. Después de escribir el código, el software lo debes compilar en código de bytes de Java que puede ser entendido por cualquier máquina virtual de Java en ese estilo. Esta es una de las principales ventajas de Java Runtime Environment. ¡Puedes ejecutarlo en cualquier lugar y en cualquier computadora y, de hecho, en prácticamente cualquier dispositivo. 

Otro elemento además de la máquina virtual es la interfaz de programación de aplicaciones (API) de Java, que incluye una extensa biblioteca de primitivas, interconexiones y características de seguridad. Agregue a eso un poderoso entorno de programación, y combinando todos estos elementos, Java le permite crear excelentes software y programas.

Los 5 principales beneficios Java

Hasta ahora, hemos visto qué es Java y cómo funciona, pero ¿qué diferencia a este programa y lenguaje de programación de sus pares? Veamos:

  •  Facilidad de uso: la sintaxis es simple y fácil de usar. También se basa en el lenguaje de programación C, pero es más fácil de depurar y menos complejo.

  • Es un lenguaje de programación orientado a objetos. Puedes usar conceptos que se encuentran en otros lenguajes similares y reutilizar los mismos objetos en otros programas, permitiendo ahorrar tiempo en los desarrollos.

  • Seguro y confiable. Java no utiliza código público que reduzca el riesgo de acceso no autorizado a la memoria y hay un administrador de seguridad para cada aplicación. Del mismo modo, con cada actualización, aumenta la estabilidad para garantizar la seguridad. 

  • Barato e independiente. Los programas dependen de la arquitectura de hardware específica en la que se ejecutan. Esto significa que se puede usar la máquina virtual de Java en cualquier computadora, independientemente del sistema operativo instalado, lo que ahorra costos de licencia.

  • Multitarea: Java puede ejecutar múltiples tareas simultáneamente, lo que se entiende como la unidad más pequeña posible de un proceso. De esta manera, el procesador se puede utilizar al máximo. 

5 aplicaciones de Java más usadas en la vida real 

Bloque de Minecraft diseñado en JavaJava suena como algo realmente genial, pero ¿cómo aprender a usar Java te ayuda a convertirte en un buen programador? Aquí hay algunas cosas que puede hacer con este programa y lenguaje de programación: 

  • Aplicaciones móviles: es posible que tenga Netflix, Uber o Candy Crush en su teléfono, pero ¿sabía que estas aplicaciones se crean con Java? J2ME es una plataforma que le permite crear aplicaciones en la computadora que se pueden instalar y usar en cualquier teléfono móvil.

  • Aplicaciones en la nube: herramientas como Oracle ayudan a configurar un servidor que puede ejecutar aplicaciones Java en la nube. Puedes usar estas herramientas para crear tus propias aplicaciones. 

  • Servidor web: hay servidores web y aplicaciones que se utilizan en todo el ecosistema.

  • Herramientas de software: los programadores usan Java para analizar, compilar, depurar y depurar otras aplicaciones y programas, especialmente en los sistemas operativos Windows. Prácticamente existen herramientas Java para todo el proceso de desarrollo de software, facilitando la vida del programador con nuevas herramientas. 

  • Videojuegos: En este lenguaje se creó un fenómeno como Minecraft. Comienza a desarrollar juegos con otros usando libGDX o crea juegos 2D o 3D para Android usando jMonkeyEngine. Las posibilidades son infinitas.

Como puedes ver, Java es una herramienta versátil y poderosa que atrae a los programadores por su flexibilidad, seguridad y sintaxis, y puede hacer casi cualquier cosa. ¿Sabes dónde empezar? Comienza a estudiar en un curso de Java online bajo la guía de profesores profesionales que pueden disfrutar la programación. Así que, sin pensarlo dos veces, sumérgete en el mundo de la programación con lo mejores desarrollos. Recuerda, pueden ser sitios web, aplicaciones y videojuegos. Y lo mejor de todo es que son multiplataforma, por lo que pueden usarse desde cualquier dispositivo. En realidad, Java debe ser una de las primeras opciones en la lista de lenguajes para aprender. 

martes, 16 de agosto de 2022

La biblioteca de Java y sus problemas de seguridad

Esto se debe principalmente a lo que es calificado como una locura en los métodos utilizados en Java. En este contexto, los científicos de las universidades de Francia, Alemania, Luxemburgo y Suecia se sumergieron profundamente en las vulnerabilidades de deserialización de Java conocidas y ahora han resurgido con sus hallazgos. En resumen, han llamado la atención sobre las formas en que las bibliotecas pueden introducir accidentalmente graves fallas de seguridad. Por supuesto, para quiénes están tomando un curso de Java está información es trascendental.

La serialización se utiliza para convertir un objeto de datos en la memoria en una serie de bytes para almacenamiento o transmisión. La deserialización invierte ese proceso al convertir un flujo de datos nuevamente en un objeto en la memoria.

Origen de los problemas de seguridad.

Programador sosteniendo el logotipo de Java

En Java, esto se implementa mediante la interfaz java.io.Serializable. Pero la deserialización no es necesariamente segura porque la reconstrucción del objeto a partir de su flujo de bytes no involucra al constructor, el código modelo que inicialmente construye el objeto para que tenga las funciones y los métodos que debería tener. Si el constructor tenía comprobaciones de validación, no se ejecutan. Por lo tanto, es posible que la deserialización cree objetos que no son válidos o que tienen datos alterados. 

Los errores de deserialización de Java pueden ser bastante graves. Por ejemplo, Log4Shell, la falla de ejecución remota de código que afecta a la biblioteca de registro de Apache Log4j fue posible gracias a la deserialización de Java. En noviembre de 2016, un ataque de ransomware comprometió más de dos mil computadoras administradas por la Agencia de Transporte Municipal de San Francisco (SFMTA) a través de una vulnerabilidad de deserialización de colecciones de Apache Commons.

Lo anterior implica que, para tener códigos adecuados, lo mejor es contar con sistemas desarrollados por expertos que se hayan actualizado en estos temas a través de un curso de Java. En las siguientes notas mostraremos las implicaciones en la seguridad del código.

Todo lo anterior enfatiza la necesidad de aprender a programar en Java de forma correcta. También es importante hacerlo a conciencia, sabiendo que los programas seguramente serán víctimas de ataques cibernéticos y que los programadores deben hacer lo necesario para evitarlos.

Ejemplos de vulnerabilidad.

Sirva de muestra lo ocurrido hace un par de años. En este caso, el punto de entrada para el pirateo de Equifax de 2017 que resultó en el robo de datos personales de 147,7 millones de estadounidenses provino de una falla de deserialización de Java en Apache Struts. Y en julio pasado, hubo una vulnerabilidad de Atlassian Jira en la que un atacante capaz de conectarse a un servicio de red Ehcache RMI podría ejecutar código arbitrario de su elección en Jira a través de la deserialización debido a una vulnerabilidad de autenticación faltante.

Pantalla de computadora que muestra la codificación de Java

En un artículo titulado "An In-depth Study of Java Deserialization Remote-Code Execution Exploits and Vulnerabilities", los científicos informáticos Imen Sayar (Universidad de Toulouse), Alexandre Bartel (Universidad de Umeå), Eric Bodden (Universidad de Paderborn) e Yves Le Traon (Universidad de Luxemburgo) describe cómo examinaron las bibliotecas de software objetivo de 19 exploits RCE de deserialización de Java conocidos públicamente para comprender cómo los gadgets (construcciones de código explotables) se introducen en las bibliotecas de Java y cómo a veces fallan los intentos de deshacerse de estos gadgets.

Si bien la serialización y la deserialización son útiles, los autores observan que este proceso presenta riesgos si los datos deserializados provienen de una fuente no confiable. De hecho, un atacante podría crear un flujo de bytes que, cuando se deserializa en el host remoto, podría controlar el flujo de ejecución del código Java encadenando secuencias de código llamadas gadgets. Por lo tanto, es necesario revisar cualquier problema que pudiera existir en las bibliotecas. En la siguiente nota ampliaremos la información al respecto.

El término gadget tiene algunos significados específicos en el mundo de la explotación de vulnerabilidades. Para el titulado "An In-depth Study of Java Deserialization Remote-Code Execution Exploits and Vulnerabilities", los autores usan la palabra para referirse a un método Java potencialmente explotable accesible para el atacante. Una biblioteca puede contener dispositivos que se pueden encadenar, por lo que pueden operar en una secuencia.

Aprovechar una vulnerabilidad de deserialización puede implicar una cadena de ataque complicada o puede ser tan simple como realizar una solicitud GET a través de una red. Nuestra conclusión principal es que la modificación de un detalle de aspecto inocente en una clase, como hacerlo público, ya puede introducir un dispositivo. Los investigadores analizaron 19 exploits para vulnerabilidades en 14 bibliotecas (algunas con varias versiones): beanshell, clojure, commons-beanutils, commons-collections, groovy, rome, js-rhino, spring-beans, spring-core, spring-aop, click-nodeps, javax.servlet, vaadin-server y vaadin-shared.

Al analizar los 19 exploits RCE, identificamos varias formas de introducir un dispositivo en una biblioteca: agregar clases, métodos e interfaces, o cambiar la firma de los métodos. Dado que los gadgets son necesarios para crear un exploit de deserialización, la modificación del código que inserta nuevos gadgets claramente no es lo ideal. De las bibliotecas y sus variantes probadas, 14 se han parcheado para eliminar dispositivos potenciales. Esto se puede hacer de varias maneras, como eliminar java.io.Serializable de la lista de interfaces en una clase vulnerable, eliminar la clase vulnerable en su totalidad o introducir una verificación de seguridad, entre otras técnicas.

Seis de las bibliotecas evaluadas (commons-beanutils1.9.4, rome1.0, spring-beans-3.0.0.RELEASE, click-nodeps-2.3.0-RC1, javax-servlet-api-4.0.1 y vaadin-shared -7.4.0.beta1) aparecen como no parcheados. Entonces, si sus aplicaciones incluyen alguno de ellos, es posible que desees considerar cómo abordarlo. Sin embargo, esperar una solución puede no ser la mejor opción.

Soluciones a los problemas de seguridad de Java.

Al estudiar parches de dichas bibliotecas, observaron los investigadores que el tiempo que se emplea para retirar los gadgets varía entre varios meses y casi 12 años, con una media de casi seis años. Por lo tanto, parece que las vulnerabilidades de deserialización aún no reciben la atención de los profesionales que realmente deberían merecer. Por supuesto, quienes han tomado un curso de Java online están más capacitados para realizar dichas modificaciones, pues se especializan en programar en Java.

Características más destacadas de Javascript

JavaScript es uno de los lenguajes de programación más populares y versátiles en la actualidad. Desde su creación en 1995 por Brendan Eich, ...