JavaScript pode ser usado para ciência de dados?

¿Se puede utilizar JavaScript para la ciencia de datos?

JavaScript es un lenguaje de programación popular. Uno que ha crecido en alcance durante la última década. ¿Pero tiene las herramientas y funciones para hacer ciencia de datos?

Imagem em destaque

JavaScript es la columna vertebral de Internet. Creado en los años 90 como una forma de manipular el contenido de los navegadores web, ha crecido tanto en popularidad como en funcionalidad. Convirtiéndose en uno de los lenguajes de programación más populares del mundo.

Con su creciente popularidad, muchos se preguntan si sería una buena opción para los científicos de datos y el análisis de datos en general. La respuesta no es tan simple. Echemos un vistazo a los pros y los contras de JavaScript como lenguaje de ciencia de datos.

El argumento en contra de JavaScript

Ningún científico de datos en su sano juicio recomendaría a los recién llegados que aprendieran JavaScript primero. Python, R, Scala y Julia se citan a menudo como LOS lenguajes de programación para la ciencia de datos. Pero, ¿por qué ocurre esto?

David Beazley , autor de JavaScript para ciencia de datos, nos dice en las primeras páginas del libro que originalmente planeó llamar a su trabajo JavaScript versus ciencia de datos. Data Science, como reconocimiento a la reputación de JavaScript.

JavaScript es famoso por sus numerosas peculiaridades, algunas de las cuales tienen que ver con la forma en que maneja los números. Como ejemplo común, en IEEE 754, el estándar de punto flotante NaN (no un número) se introdujo como una representación de un valor que no se puede presentar dentro de las limitaciones del tipo numérico.

En términos simples, divida por cero y JavaScript devolverá un NaN. No es la respuesta más informativa o útil. Peor aún, el lenguaje todavía reconoce NaN como un número; Así que si marcas el tipo, no atraparás a ese molesto pícaro.

Honestamente, esto es un inconveniente menor, pero apunta a un problema mucho más amplio: JavaScript se escribe dinámicamente y tiene una forma bastante flexible de descubrir qué es un número o una cadena. Nuevamente, nada que no se pueda evitar, pero definitivamente requiere algo de codificación defensiva.

Tratar con grandes cantidades también es un problema. JavaScript no solo es impreciso cuando se trabaja con grandes números, sino que el hecho de que no admite subprocesos múltiples o procesamiento paralelo significa que puede olvidarse del big data. Ni JavaScript ni Node.js son adecuados para tareas informáticas intensivas vinculadas a la CPU.

La mayoría de estos problemas pueden superarse, pero el último clavo en el ataúd es el costo de oportunidad. Como científico de datos, ¿por qué dedicaría tanto tiempo a aprender JavaScript cuando ya tiene una gran cantidad de lenguajes que lo hacen mejor y con menos esfuerzo?

Cada hora invertida en JavaScript es una hora menos invertida en otros lenguajes… pero eso puede que no sea malo.

El caso de JavaScript

El argumento principal de Beazley en su libro es que el JavaScript moderno ha abordado muchas de estas preguntas y que el interés de la comunidad JavaScript en la ciencia de datos ha crecido exponencialmente en los últimos años. Esto ha promovido herramientas y características que lo convierten en una opción competitiva.

Quizás el primer punto a favor de JavaScript sea su facilidad de uso y legibilidad. Por ejemplo, si estás leyendo esto en tu computadora, simplemente presiona F12 y tendrás una consola JavaScript lista para usar de inmediato.

JavaScript es muy fácil de aprender y, debido a su popularidad, existen literalmente miles de recursos que le ayudarán a conocer sus entresijos. Un vistazo rápido a las estadísticas de StackOverflow revela que la cantidad de información en JavaScript es simplemente asombrosa.

Otro punto a su favor es que cada vez más empresas utilizan tecnologías web con una pila basada en Nodos para construir sus productos. Si un científico de datos va a trabajar en estrecha colaboración con los desarrolladores de productos, hablar un idioma común es definitivamente una ventaja.

Aún mejor, el hecho de que todos trabajen con la misma tecnología significa que la integración con otros productos y servicios es más fácil y requiere menos gastos generales y preparación. Así como es más fácil comunicarse con alguien cuando todos hablan el mismo idioma.

TypeScript, un superconjunto de JavaScript desarrollado por Microsoft, resuelve una de las principales críticas a JavaScript: su tipificación débil. De hecho, con TypeScript, el lenguaje es más rígido que el favorito de los científicos de datos, Python. Los lenguajes de tipado estático tienden a promover mejores prácticas y código con menos errores, razón por la cual ha habido una explosión en las empresas y servicios de desarrollo de TypeScript.

Y hablando de Microsoft, Napa.js es una alternativa fantástica a Node.js si lo que le preocupa es el subproceso múltiple. Aunque todavía se encuentra en sus primeras etapas y no es una solución ideal. Esto muestra el gran interés que existe en promover JavaScript como un lenguaje de programación multiuso, incluso para la ciencia de datos. Pero eso no es todo…

Nuevas herramientas para la ciencia de datos

Uno de los argumentos más comunes en contra de JS es que carece de bibliotecas de ciencia de datos de soluciones más sólidas como R y Python. Estamos absolutamente de acuerdo con este argumento. Incluso el partidario más ferviente de Javascript tendrá que admitir que cualquier aspirante a científico de datos necesita otra herramienta en su repertorio.

El panorama de la ciencia de datos para JavaScript está creciendo exponencialmente. Hace cinco años, nadie hubiera imaginado que TensorFlow tendría una biblioteca de JavaScript funcional y, sin embargo, aquí estamos.

Dicho esto, el ecosistema de ciencia de datos de Javascript está creciendo. Considere, por ejemplo , D3.js, una biblioteca popular para visualización de datos que proporciona un fantástico conjunto de herramientas para crear paneles, informes e historias de datos a través del navegador.

Otro buen ejemplo es TensorflowJS. Para aquellos que no lo saben, Tensor Flow es una de las bibliotecas de aprendizaje automático más populares que existen. Con su variante JS, puede ejecutar algoritmos de aprendizaje automático directamente en su navegador y/o en un servidor Node.js.

¿Pero por qué querrías hacer eso? Sí, un entorno de navegador no es el espacio de trabajo más optimizado. Pero, por otro lado, es muy conveniente para prototipos rápidos, pequeños proyectos y aplicaciones que no requieren mucha memoria. ¿Por qué crear un entorno virtual cuando un simple navegador funciona perfectamente?

El hecho de que estemos adquiriendo estas herramientas para el lenguaje que impulsa Internet y las aplicaciones web en general está abriendo puertas a nuevas posibilidades. Con la ciencia de datos basada en navegador, podemos explorar nuevas formas de procesar y presentar datos en un entorno fácil de usar.

Imagine tener una aplicación web que actúa como una presentación para su historia de datos, todo codificado como una solución frontend con JavaScript, HTML y CSS. Cualquier persona con un dispositivo inteligente y conexión a Internet puede acceder a los resultados en segundos.

Esta ola de JavaScript en la ciencia de datos apunta al hecho de que el campo se está expandiendo. Ya no se espera que los científicos de datos sean personas sentadas en un rincón polvoriento analizando datos. Son narradores de historias que tienen que encontrar formas de presentar sus resultados y promover entornos basados ​​en datos.

Otra herramienta en la caja de herramientas

Puede que no estemos preparados para un mundo en el que conocer JavaScript sea suficiente, pero como conjunto de habilidades auxiliares, es un recurso perfecto para los científicos de datos. Lo importante aquí es que esto probablemente no revolucionará el campo, pero lo que sí hará será aumentar su alcance y alcance. Un resultado positivo al final.

Fuente: BairesDev

Conteúdo Relacionado

O Rails 8 sempre foi um divisor de águas...
A GenAI está transformando a força de trabalho com...
Entenda o papel fundamental dos testes unitários na validação...
Aprenda como os testes de carga garantem que seu...
Aprofunde-se nas funções complementares dos testes positivos e negativos...
Vídeos deep fake ao vivo cada vez mais sofisticados...
Entenda a metodologia por trás dos testes de estresse...
Descubra a imprevisibilidade dos testes ad hoc e seu...
A nomeação de Nacho De Marco para o Fast...
Aprenda como os processos baseados em IA aprimoram o...
Introdução Quando se trata de desenvolvimento de software, a...
Milhares de sites são criados todos os dias. Não...
Os recursos de linguagem que serão incluídos na próxima...
JavaScript DataGrids se assemelham a planilhas do Excel e...
Você decidiu contratar um desenvolvedor JavaScript . Você quer...
A Microsoft anunciou recentemente a disponibilidade geral do interpretador...
A web está em constante evolução, e com ela,...
A Inteligência Artificial (IA) tem sido um tema cada...
Você já se sentiu frustrado com a complexidade de...
Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.