Para algunas personas, aprender un nuevo lenguaje de programación es una exageración que se evite mejor.¿Por qué, bueno, por qué, razonan, necesitamos otro idioma?
¿No tenemos ya suficiente?
¿No funcionan las herramientas existentes?
Y luego están los buscadores incansables que aprovechan la oportunidad para probar algo nuevo y tropezar con las gemas. El aprendizaje es un fin en sí mismo, y no necesitan mucho convencer para quemar sus fines de semana creando un juego de cartas de consola en este nuevo lenguaje oscuro.
Independientemente del campamento al que pertenezca, hay algo innegable: todos queremos pasar tiempo en algo que tiene un futuro brillante.
Para las personas en el campamento del patrimonio, su idioma existente favorito ya tiene un gran impulso, y tendrá un futuro brillante. Tengo que recordarles que su conjunto de herramientas de desarrollo preferido ahora maduro fue una vez un «Slurp Cole» que muchos se negaron a beber. Entonces es hoy; Se agregan nuevas tecnologías para resolver nuevos problemas o aliviar el dolor del desarrollo.
Si algo lo hace lo suficientemente radicalmente, es probable que continúe capturando mentes y alcanzando la cima. Cuando lo haga, no quieres que te dejes atrás 🙂 🙂
Y para aquellos a quienes les gusta correr con cosas brillantes, una advertencia: la diversión es importante para un programador, pero debemos tener cuidado de no desperdiciar nuestra energía sin rumbo.
Claro, Brainfuck es un pequeño lenguaje increíblemente intrincado, parecido a un rompecabezas y divertido, pero es poco probable que ganes si lo persigue seriamente. Necesita algo nuevo, sensato y con una base sólida.
- Cómo se eligieron estos idiomas
- Fecha de lanzamiento
- Un TSS bien enfocado y bien definido
- Sintaxis clara y consistente
- 1. Julia
- 2. óxido
- Conclusivamente, Elixir es una de esas tecnologías que es refrescante, agradable y malditamente práctica. Varias tiendas Ruby (e incluso no rubas) están cambiando a Elixir, y las grandes compañías como Pinterest lo usan en producción con resultados extremadamente satisfactorios.
- ¡Dios sabe, tuve que contener este lugar! Todo dentro de mí gritaba: «¡Elm! ¡Elm!», Pero independientemente de cuán revolucionarias sean sus ideas o cuán divina sea su sintaxis, Elm todavía no se ve como una alternativa convencional para el trabajo de interfaz de usuario.🙁 De todos modos, pasemos a la corriente principal: TypeScript.
- toadmin. ru
Cómo se eligieron estos idiomas
Elegir un idioma es un trabajo intimidante, especialmente cuando se consideran nuevos idiomas para futuras ventajas y satisfacción del empleo. Cada autor del idioma cree firmemente que han creado el lenguaje perfecto y han resuelto todos los problemas que deben responderse.¿Cómo lo cortas entonces?
En esta publicación, me concentro en algunos parámetros para mantener la búsqueda dentro de los límites razonables.
Fecha de lanzamiento
Evité deliberadamente idiomas muy, muy nuevos.
Nuevo, me refiero a idiomas que tienen menos de 5-6 años en el momento de la escritura, y especialmente aquellos que no han alcanzado la estabilidad (es decir, el lanzamiento 1. 0). Desafortunadamente, esto excluye algunas gemas reales como Crystal, pero espero volver a esto algún día y escribir sobre su éxito.🙂 🙂
Un fragmento de código en Crystal («rápido como C, resbaladizo como Ruby»)
Para mí, 5-12 años es el medio dorado cuando el lenguaje se ha estabilizado y se desarrollan mejoras incrementales. Ahora, por supuesto, hay excepciones a esta regla, y se abordarán cuando corresponda.
No es un problema, pero a menudo se ignora cuando nos entusiasmamos con algo nuevo. Ahora para muchas personas, el respaldo de una gran empresa es suficiente precedente para el éxito, pero ese no siempre es el caso.
Sí, el objetivo de C y ahora Swift de Apple ha prosperado porque eran las únicas opciones en un ecosistema muy controlado, pero Facebook D y Hack (una versión fea de un lenguaje ya feo, en mi opinión) no son más que experimentos.
La combinación ideal sería un lenguaje respaldado por una gran empresa estable y ganando rápidamente popularidad (por ejemplo, React).
Pero el quid del asunto sigue siendo la comunidad. Si un idioma no genera emoción y no hay suficientes desarrolladores para educarlo y popularizarlo, no saldrá de la tumba en Github.
Para mí, esto descarta idiomas maduros y emocionantes como Racket y también Erlangtac, ya que la curva de crecimiento se ha mantenido sin cambios.
Un TSS bien enfocado y bien definido
La tercera cosa que estoy buscando es un objetivo claro para el idioma. Por ejemplo, una mejor versión de PHP que soluciona los problemas de nombres y se compila al PHP nativo no funciona para mí.
Los beneficios son demasiado pequeños para justificar el río si todos intentan cambiar a él. Según ese criterio, no puedo evitar rechazar intentos como CoffeeScripty, muchos otros lenguajes de compilación de JavaScript similares.
Francamente, debería rechazar inmediatamente las mejoras de sintaxis. La historia ha demostrado que la utilidad triunfa sobre la amistad cuando se trata de idiomas, por lo que si todos los idiomas nuevos se centran en una experiencia más agradable, me temo que no hará la lista.
Sintaxis clara y consistente
Si lo se. Solo estaba diciendo que la sintaxis no importa. Bueno, para ser precisos, dije que las «mejoras de sintaxis solo» no importan. Dicho esto, la sintaxis sigue siendo uno de los factores importantes en la productividad y la capacidad de mantenimiento del programador, por lo que definitivamente creará en mis cálculos aquí.
Junto con la sintaxis viene la idea de consistencia. Nombramiento de funciones, estructuración de módulos, etc. son cosas clave que un lenguaje no puede permitirse equivocarse. Es 2018, y otro diseño de lenguaje similar a PHP sería una vergüenza para todos nosotros. Entonces, sin más preámbulos, comencemos con nuestras cinco recomendaciones principales.
1. Julia
Para la gente del MIT, los idiomas disponibles para la ciencia de datos fueron un compromiso en el mejor de los casos. Python, a pesar de toda su claridad y popularidad, carecía de construcciones nativas para trabajar con objetos de datos. Además, al ser un lenguaje interpretado, Python fue lento para ellos (no bibliotecas, sí, ya que en su mayoría están escritos en C).
Pero quizás el mayor obstáculo fue el modelo de paralelismo torpe y la falta de un modelo de computación paralelo, el último de los cuales es la base de la supercomputación.
Como resultado, Julia nació.
La versión estable de Julia se lanzó el 29 de septiembre de 2018, solo unos días antes de que se escribiera este artículo (¡habla sobre el tiempo!). Esto es lo que dice el sitio web oficial sobre sus características:
Julia se destaca en el cálculo numérico. Su sintaxis es excelente para las matemáticas, se admiten muchos tipos de datos numéricos y el paralelismo está disponible fuera de la caja. El despacho múltiple de Julia es un ajuste natural para definir los tipos de datos numéricos y similares a la matriz.
En términos de sintaxis, Julia puede considerarse como una combinación de Python y C. Sí, esta es probablemente la primera vez que un lenguaje ha aspirado a ambas cualidades y ha tenido éxito.
Para mantenerlo simple, Julia es un rayo rápido y no requiere una tipificación estricta. Aquí hay algunos puntos de referencia:
Los puntos de referencia oficiales de Julia
Como puede ver, Julia es ligeramente peor que C, pero superior a Java y Python. Entonces, ¿cuál es el punto dulce que ofrece Julia?
Bueno, aquí hay una implementación de una función para calcular la hipotenusa de un triángulo recto:
Finalmente, mientras que gran parte del ecosistema de Julia se inclina fuertemente hacia el trabajo de matemáticas, creo que tiene un futuro brillante de uso general.
Que yo sepa, es el primer idioma con soporte de primera clase para la computación paralela, por lo que no es sorprendente que esté ganando popularidad en la web y los dominios IoT.
2. óxido
Si ha probado los nuevos lanzamientos del navegador Firefox, sabe que finalmente, después de muchos años, parece que podrían quitarle parte del mercado a Chrome.
Si el navegador se ve ligero y rápido, y se reproduce rápidamente, todo es gracias a un lenguaje desarrollado específicamente por Mozilla: Rust.
Decir que Rust tiene un gran futuro sería una mentira; El lenguaje ya es un gran éxito, y si aún no ha oído hablar de él, es porque su alcance es especializado y su objetivo es desalentador: ¡reemplazar C ++! Sí, finalmente tenemos un idioma que no solo es capaz de hacer esto, sino que ya lo está haciendo.
Es una historia larga, pero trataré de hacerlo corto y dulce. En 2010, estaba trabajando para mejorar el rendimiento de los rieles cuando se trata de sistemas de múltiples núcleos, ya que nuestras máquinas y sistemas de producción se enviaron con más y más núcleos. Sin embargo, toda la experiencia fue bastante frustrante ya que Ruby no proporciona una herramienta adecuada para lidiar con el paralelismo. Fue entonces cuando comencé a mirar otras tecnologías y finalmente me enamoré de la máquina virtual de Erlang.
Comencé a usar Erlang cada vez más y con experiencia noté que me faltaban algunas de las construcciones disponibles en muchos otros idiomas, incluidos los funcionales. Fue entonces cuando decidí crear Elixir como un intento de traer diferentes construcciones y excelentes herramientas sobre la máquina virtual de Erlang.
Así como SCALA mejora el lenguaje Java, pero se dirige a la misma máquina virtual (JVM), Elixir aprovecha la máquina virtual Erlang probada en décadas.
Ahora, discutir Erlang está más allá del alcance de este artículo, pero como mínimo debe saber que es el secreto mejor guardado de la industria de telecomunicaciones: si nuestras redes telefónicas son mucho más confiables que nuestros sistemas web, todo es gracias a Erlang.
En términos aún más simples, esto significa lo siguiente. Si está construyendo un sistema en tiempo real como una sala de chat, Elixir es mucho menos intensivo en memoria y estable que Ruby (o PHP, Python y Java, para el caso).
¡Una máquina con Ruby y 10, 000 conexiones concurrentes pueden manejar fácilmente 200, 000 usando Elixir y aún tener suficiente RAM para ejecutar juegos 2D!
Fragmento de código de elixir
En términos de sintaxis, Elixir copia descaradamente a Ruby, y su infraestructura web de Phoenix dominante copia descaradamente rieles. Yo también diría que eso también es bueno, porque junto con Laravel, Grials, Masonita, etc. Estamos llegando a un punto en el que todos los idiomas tienen marcos como rieles que pueden aliviar la transición. Algunos pueden burlarse de la «falta de originalidad», pero al menos no me estoy quejando.
Conclusivamente, Elixir es una de esas tecnologías que es refrescante, agradable y malditamente práctica. Varias tiendas Ruby (e incluso no rubas) están cambiando a Elixir, y las grandes compañías como Pinterest lo usan en producción con resultados extremadamente satisfactorios.
Muchas personas piensan que Node. js fue un intento improvisado de paralelismo y pronto será reemplazado por Elixir. Tengo que decir que estoy de acuerdo con ellos 🙂 🙂.
4. Kotlin
En I/O 2017, Google lanzó una bomba sobre la multitud desprevenida. La compañía anunció oficialmente a Kotlin como el idioma principal para el desarrollo de Android, sorprendiendo a toda la industria.
Ahora, el hecho de que Google esté buscando activamente un reemplazo de Java no es sorprendente después de la demanda de Oracle; Sin embargo, la adopción de Kotlin fue algo inesperada, y hay una buena posibilidad de que el Goo GLE lance su máquina virtual pronto. Sin embargo, Kotlin está experimentando un aumento.
Kotlin fue desarrollado por JetBrains, una compañía mejor conocida por su conjunto de editores de código increíblemente buenos. Uno de ellos, Idea IntelliJ, forma la base de Android Studio. Los objetivos de desarrollo de Kotlin son la seguridad, la concisión y el 100% de compatibilidad con Java.
Más que cualquier otra cosa, el compilador de Kotlin trabaja duro para eliminar cualquier excepción de puntero nulo que sea tan común en el mundo de Java. También reduce un poco el código notoriamente detallado de Java, lo que será un alivio para muchos.
Aquí hay una gran comparación de código entre Java y Kotlin:
Imagen proporcionada por: Hype. Codes
El código Kotlin es mucho más corto y tiene una carga cognitiva mucho más baja.
Pero hagamos una cosa clara: es poco probable que Kotlin reemplace a Java, aunque rápidamente se está convirtiendo en un favorito. Creo que en diez años, los equipos pequeños a medianos no buscarán más allá de Kotlin, mientras que los equipos grandes continuarán usando Java por razones heredadas.
Sin embargo, Kotlin tiene un futuro muy brillante como lo hace todo lo que hace Java, puede fusionarse con el código Java sin problemas para todos y es mucho más agradable.
5. Texto de la máquina de escribir
¡Dios sabe, tuve que contener este lugar! Todo dentro de mí gritaba: «¡Elm! ¡Elm!», Pero independientemente de cuán revolucionarias sean sus ideas o cuán divina sea su sintaxis, Elm todavía no se ve como una alternativa convencional para el trabajo de interfaz de usuario.🙁 De todos modos, pasemos a la corriente principal: TypeScript.
JavaScript es como bayas salvajes: feas y sin sabor, pero tienes que digerirlo si quieres sobrevivir en la jungla del desarrollo frontend. Se han hecho muchos intentos para reemplazarlo (y es probable que el nuevo estándar de WebAssembly tenga éxito), pero lo que realmente ha llamado la atención de todos es la arrogancia de Microsoft.
Ciertos idiomas están ganando tanta popularidad como los descritos en este artículo, pero por varias razones no se incluyeron en la lista. Aquí hay una breve descripción:
Golang: ya se ha establecido como un lenguaje convencional, aunque no muy popular. Creo que en este punto Golang tiene algunos competidores que mantendrán baja su participación de mercado.
R: R ya es popular entre los científicos de datos, y es poco probable que atraiga mucho a los desarrolladores de aplicaciones. Además, no puede olvidar que las bibliotecas de aprendizaje automático se abren paso lentamente en todos los idiomas principales (por el bien de la bondad, ¡incluso Php las tiene ahora!), Así que todo lo que tiene que hacer es esperar un tiempo 🙂 🙂 🙂 🙂 🙂 🙂 🙂 🙂 🙂 🙂 🙂 🙂 🙂 🙂
Swift: Apple tiene un agarre de hierro en su ecosistema, y Swift es el único idioma disponible allí. El objetivo C solía estar de moda, como lo es Swift ahora. Lo considero un fraude y, por lo tanto, me niego a incluirlo aquí.😀
El futuro siempre es incierto, y una forma de hacer una carrera es seguir con lo que ya está funcionando y no distraerse. Si haces eso, Java, PHP, Python, Ruby, etc., son grandes idiomas con los que vale la pena seguir. Sin embargo, para algunos de nosotros, la norma no es suficiente. Quieren salir, explorar y apostar en grande en el futuro. Si pertenece al segundo campamento, uno de estos cinco idiomas debe ser el primero en su lista de tareas pendientes.
Finalmente, cuando intentes evaluar un idioma, no dejes que el esfuerzo te abrume porque no es un gran problema. Si ya conoce varios lenguajes de programación, puede aprender cualquiera de ellos en dos meses como máximo, pasando de 5 a 6 horas a la semana. Mientras que la felicidad y los retornos monetarios que se pueden obtener en el futuro serán varias veces mayores.
¿Me estoy perdiendo un lenguaje crítico aquí?¿O tal vez tengo algo mal con el idioma enumerado aquí? Si es así, deje un comentario y ayúdame a mejorar 🙂 🙂