These strong alternatives to the popular languages are gaining steam -- and may be the perfect fit for your next project
The big languages are popular for a reason: They offer a huge foundation of open source code, libraries, and frameworks that make finishing the job easier. This is the result of years of momentum in which they are chosen time and again for new projects, and expertise in their nuances grow worthwhile and plentiful.
FEATURED RESOURCE
PRESENTED BY GOOD TECHNOLOGY
Harness the benefits of BYOD for your organization including improved user productivity, engagement,
LEARN MORE
Sometimes the vast resources of the popular, mainstream programming languages aren’t enough to solve your particular problem. Sometimes you have to look beyond the obvious to find the right language, where the right structure makes the difference while offering that extra feature to help your code run significantly faster without endless tweaking and optimizing. This language produces vastly more stable and accurate code because it prevents you from programming sloppy or wrong code.
The world is filled with thousands of clever languages that aren't C#, Java, or JavaScript. Some are treasured by only a few, but many have flourishing communities connected by a common love for the language's facility in solving certain problems. There may not be tens of millions of programmers who know the syntax, but sometimes there is value in doing things a little different, as experimenting with any new language can pay significant dividends on future projects.
The following nine languages should be on every programmer’s radar. They may not be the best for every job -- many are aimed at specialized tasks. But they all offer upsides that are worth investigating and investing in. There may be a day when one of these languages proves to be exactly what your project -- or boss -- needs.
Erlang: Functional programming for real-time systems
Erlang began deep inside the spooky realms of telephone switches at Ericsson, the Swedish telco. When Ericsson programmers began bragging about its "nine 9s" performance, by delivering 99.9999999 percent of the data with Erlang, the developers outside Ericsson started taking notice.
Erlang’s secret is the functional paradigm. Most of the code is forced to operate in its own little world where it can't corrupt the rest of the system through side effects. The functions do all their work internally, running in little "processes" that act like sandboxes and only talk to each other through mail messages. You can't merely grab a pointer and make a quick change to the state anywhere in the stack. You have to stay inside the call hierarchy. It may require a bit more thought, but mistakes are less likely to propagate.
The model also makes it simpler for runtime code to determine what can run at the same time. With concurrency so easy to detect, the runtime scheduler can take advantage of the very low overhead in setting up and ripping down a process. Erlang fans like to brag about running 20 million "processes" at the same time on a Web server.
If you're building a real-time system with no room for dropped data, such as a billing system for a mobile phone switch, then check out Erlang.
Go: Simple and dynamic
Google wasn’t the first organization to survey the collection of languages, only to find them cluttered, complex, and often slow. In 2009, the company released its solution: a statically typed language that looks like C but includes background intelligence to save programmers from having to specify types and juggle malloc calls. With Go, programmers can have the terseness and structure of compiled C, along with the ease of using a dynamic script language.
While Sun and Apple followed a similar path in creating Java and Swift, respectively, Google made one significantly different decision with Go: The language’s creators wanted to keep Go "simple enough to hold in one programmer's head." Rob Pike, one of Go’s creators, famously told Ars Technica that "sometimes you can get more in the long run by taking things away." Thus, there are few zippy extras like generics, type inheritance, or assertions, only clean, simple blocks of if-then-else code manipulating strings, arrays, and hash tables.
The language is reportedly well-established inside of Google's vast empire and is gaining acceptance in other places where dynamic-language lovers of Python and Ruby can be coaxed into accepting some of the rigor that comes from a compiled language.
If you're a startup trying to catch Google's eye and need to build some server-side business logic, Go is a great place to start.
Groovy: Scripting goodness for Java
The Java world is surprisingly flexible. Say what you will about its belts-and-suspenders approach, like specifying the type for every variable, ending every line with a semicolon, and writing access methods for classes that simply return the value. But it looked at the dynamic languages gaining traction and built its own version that's tightly integrated with Java.
Groovy offers programmers the ability to toss aside all the humdrum conventions of brackets and semicolons, to write simpler programs that can leverage all that existing Java code. Everything runs on the JVM. Not only that, everything links tightly to Java JARs, so you can enjoy your existing code. The Groovy code runs like a dynamically typed scripting language with full access to the data in statically typed Java objects.
Groovy programmers think they have the best of both worlds. There's all of the immense power of the Java code base with all of the fun of using closures, operator overloading, and polymorphic iteration -- not to mention the simplicity of using the question mark to indicate a check for null pointers. It's so much simpler than typing another if-then statement to test nullity. Naturally, all of this flexibility tends to create as much logic with a tiny fraction of the keystrokes. Who can't love that?
Finally, all of the Java programmers who've envied the simplicity of dynamic languages can join the party without leaving the realm of Java.
OCaml: Complex data hierarchy juggler
Some programmers don't want to specify the types of their variables, and for them we've built the dynamic languages. Others enjoy the certainty of specifying whether a variable holds an integer, string, or maybe an object. For them, many of the compiled languages offer all the support they want.
Then there are those who dream of elaborate type hierarchies and even speak of creating "algebras" of types. They imagine lists and tables of heterogeneous types that are brought together to express complex, multileveled data extravaganzas. They speak of polymorphism, pattern-matching primitives, and data encapsulation. This is just the beginning of the complex, highly structured world of types, metatypes, and metametatypes they desire.
For them, there is OCaml, a serious effort by the programming language community to popularize many of the aforementioned ideas. There's object support, automatic memory management, and device portability. There are even OCaml apps available from Apple’s App Store.
An ideal project for OCaml might be building a symbolic math website to teach algebra.
CoffeeScript: JavaScript made clean and simple
Technically, CoffeeScript isn't a language. It's a preprocessor that converts what you write into JavaScript. But it looks different because it's missing plenty of the punctuation. You might think it is Ruby or Python, though the guts behave like JavaScript.
CoffeeScript began when semicolon haters were forced to program in JavaScript because that was what Web browsers spoke. Changing the way the Web works would have been an insurmountable task, so they wrote their own preprocessor instead. The result? Programmers can write cleaner code and let CoffeeScript turn it back into the punctuation-heavy JavaScript Web browsers demand.
Missing semicolons are only the beginning. With CoffeeScript, you can create a variable without typing var. You can define a function without typing function or wrapping it in curly brackets. In fact, curly brackets are pretty much nonexistent in CoffeeScript. The code is so much more concise that it looks like a modernist building compared to a Gothic cathedral. This is why many of the newest JavaScript frameworks are often written in CoffeeScript and compiled.
Scala: Functional programming on the JVM
If you need the code simplicity of object-oriented hierarchies for your project but love the functional paradigm, you have several choices. If Java is your realm, Scala is the choice for you.
Scala runs on the JVM, bringing all the clean design strictures of functional programming to the Java world by delivering code that fits with the Java class specifications and links with other JAR files. If those other JAR files have side effects and other imperative nasty headaches, so be it. Your code will be clean.
The type mechanism is strongly static and the compiler does all the work to infer types. There's no distinction between primitive types and object types because Scala wants everything to descend from one ur-object call Any. The syntax is much simpler and cleaner than Java; Scala folks call it "low ceremony." You can leave your paragraph-long CamelCase variable names back in Java Land.
Scala offers many of the features expected of functional languages, such as lazy evaluation, tail recursion, and immutable variables, but have been modified to work with the JVM. The basic metatypes or collection variables, like linked lists or hash tables, can be either mutable or immutable. Tail recursion works with simpler examples, but not with elaborate, mutually recursive examples. The ideas are all there, even if the implementation may be limited by the JVM. Then again, it also comes with all the ubiquity of the Java platform and the deep collection of existing Java code written by the open source community. That's not a bad trade-off for many practical problems.
If you must juggle the data in a thousand-processor cluster and have a pile of legacy Java code, Scala is a great solution.
Dart: JavaScript without the JavaScript
Being popular is not all it's cracked up to be. JavaScript may be used in more stacks than ever, but familiarity leads to contempt -- and contempt leads to people looking for replacements. Dart is a new programming language for Web browsers from Google.
Dart isn't much of a departure from the basic idea of JavaScript. It works in the background to animate all the DIVs and Web form objects that we see. The designers simply wanted to clean up the nastier, annoying parts of JavaScript while making it simpler. They couldn't depart too far from the underlying architecture because they wanted to compile Dart down to JavaScript to help speed adoption.
The highlight may be the extra functions that fold in many de facto JavaScript libraries. You don't need JQuery or any of the other common libraries to modify some part of the HTML page. It's all there with a reasonably clean syntax. Also, more sophisticated data types and syntactic shorthand tricks will save a few keystrokes. Google is pushing hard by offering open source development tools for all of the major platforms.
If you are building a dynamic Web app and are tired of JavaScript, Dart offers a clean syntax for creating multiple dancing DIVs filled with data from various Web sources.
Haskell: Functional programming, pure and simple
For more than 20 years, the academics working on functional programming have been actively developing Haskell, a language designed to encapsulate their ideas about the evils of side effects. It is one of the purer expressions of the functional programming ideal, with a careful mechanism for handling I/O channels and other unavoidable side effects. The rest of the code, though, should be perfectly functional.
The community is very active, with more than a dozen variants of Haskell waiting for you to explore. Some are stand-alone, and others are integrated with more mainstream efforts like Java (Jaskell, Frege) or Python (Scotch). Most of the names seem to be references to Scotland, a hotbed of Haskell research, or philosopher/logicians who form the intellectual provenance for many of the ideas expressed in Haskell. If you believe that your data structures will be complex and full of many types, Haskell will help you keep them straight.
Julia: Bringing speed to Python land
The world of scientific programming is filled with Python lovers who enjoy the simple syntax and the freedom to avoid thinking of gnarly details like pointers and bytes. For all its strengths, however, Python is often maddeningly slow, which can be a problem if you're crunching large data sets as is common in the world of scientific computing. To speed up matters, many scientists turn to writing the most important routines at the core in C, which is much faster. But that saddles them with software written in two languages and is thus much harder to revise, fix, or extend.
Julia is a solution to this complexity. Its creators took the clean syntax adored by Python programmers and tweaked it so that the code can be compiled in the background. That way, you can set up a notebook or an interactive session like with Python, but any code you create will be compiled immediately.
The guts of Julia are fascinating. They provide a powerful type inference engine that can help ensure faster code. If you enjoy metaprogramming, the language is flexible enough to be extended. The most valuable additions, however, may be Julia’s simple mechanisms for distributing parallel algorithms across a cluster. A number of serious libraries already tackle many of the most common numerical algorithms for data analysis.
The best news, though, may be the high speeds. Many basic benchmarks run 30 times faster than Python and often run a bit faster than C code. If you have too much data but enjoy Python’s syntax, Julia is the next language to learn.
EN ESPAÑOL
Estas fuertes alternativas a las lenguas populares están ganando vapor - y puede ser el ajuste perfecto para su próximo proyecto
Peter WaynerBy Peter Wayner Follow
InfoWorld | 03 de noviembre 2014
Las grandes lenguas son populares por una razón: Ofrecen una gran base de código fuente abierto, bibliotecas, y los marcos que hacen de acabado el trabajo más fácil. Este es el resultado de años de impulso en la que se eligen una y otra vez para los nuevos proyectos, y experiencia en sus matices crecen pena y abundante.
RECURSO DESTACADO
PRESENTADO POR BUEN TECNOLOGÍA
10 Mejores prácticas para la implementación de un programa BYOD con éxito
Aprovecha las ventajas de BYOD para su organización, incluyendo la mejora de la productividad del usuario, compromiso,
APRENDER MÁS
A veces los vastos recursos de los principales lenguajes de programación populares, no son suficientes para resolver su problema en particular. A veces hay que mirar más allá de lo obvio para encontrar el lenguaje adecuado, donde la estructura adecuada que hace la diferencia al tiempo que ofrece esa característica extra para ayudar a su carrera código significativamente más rápido sin ajustes sin fin y optimización. Este lenguaje produce mucho código más estable y preciso, ya que no le permite programar código descuidado o mal.
[El arte de la programación está cambiando rápidamente. Le ayudamos a navegar lo que está de moda en la programación y lo que está pasando frío y dar una visión de las tecnologías que están cambiando el funcionamiento de los desarrolladores. | Manténgase al día con temas candentes en aplicación dev con boletín de desarrollo de aplicaciones de InfoWorld. ]
El mundo está lleno de miles de lenguas inteligentes que no son C #, Java o JavaScript. Algunos son atesorados por sólo unos pocos, pero muchos tienen comunidades florecientes conectados por un amor común por las instalaciones de la lengua en la solución de ciertos problemas. Puede que no haya decenas de millones de programadores que conocen la sintaxis, pero a veces hay un valor en hacer las cosas un poco diferentes, como experimentar con cualquier nuevo idioma puede pagar dividendos significativos en proyectos futuros.
Los siguientes nueve idiomas deben estar en el radar de todos los programadores. Puede que no sean los mejores para cada puesto de trabajo - muchos se dirigen a tareas especializadas. Pero todos ellos ofrecen Upsides que vale la pena investigar e invertir en Puede haber un día en una de estas lenguas resulta ser exactamente lo que su proyecto -. O jefe - necesidades.
Erlang: La programación funcional para sistemas de tiempo real
Erlang empezó en el interior de los reinos espeluznantes de conmutadores telefónicos de Ericsson, la compañía sueca de telecomunicaciones. Cuando los programadores Ericsson comenzó jactándose de su rendimiento "nueve 9s", mediante la entrega de 99,9999999 por ciento de los datos con Erlang, los desarrolladores externos Ericsson comenzaron a tomar nota.
Secreto de Erlang es el paradigma funcional. La mayor parte del código se ve obligado a operar en su propio pequeño mundo en el que no puede corromper el resto del sistema a través de los efectos secundarios. Las funciones hacen todo su trabajo internamente, corriendo en pequeños "procesos" que actúan como cajas de arena y sólo se comunican entre sí a través de mensajes de correo. Usted no puede simplemente tomar un puntero y hacer un cambio rápido al estado en cualquier parte de la pila. Usted tiene que permanecer dentro de la jerarquía de llamada. Puede requerir un poco más de pensamiento, pero los errores son menos propensos a propagarse.
El modelo también hace que sea más sencillo para el código de tiempo de ejecución para determinar lo que se puede ejecutar al mismo tiempo. Con la concurrencia tan fácil de detectar, el programador de tiempo de ejecución puede tomar ventaja de la muy baja sobrecarga en el establecimiento y rasga abajo un proceso. Ventiladores Erlang gusta alardear acerca de la ejecución de 20 millones de "procesos", al mismo tiempo en un servidor Web.
Si usted es la construcción de un sistema en tiempo real, sin espacio para datos colocados, como un sistema de facturación para un interruptor de teléfono móvil, entonces echa un vistazo Erlang.
Ir: Simple y dinámica
Google no fue la primera organización para examinar la colección de lenguajes, sólo para encontrarlos desordenado, complejo, y con frecuencia lento. En 2009, la compañía lanzó su solución: un lenguaje de tipos estáticos que se parece a C, sino que incluye la inteligencia fondo para salvar a los programadores de tener que especificar los tipos y hacer malabarismos con las llamadas malloc. Con Go, los programadores pueden tener la concisión y la estructura de C compilado, junto con la facilidad de uso de un lenguaje de script dinámico.
Mientras Sun y Apple siguieron un camino similar en la creación de Java y Swift, respectivamente, Google hizo una decisión significativamente diferente con Go: Los creadores del lenguaje querían mantener Go "lo suficientemente simple para mantener en la cabeza de un programador." Rob Pike, uno de los creadores del Go, dijo famosamente Ars Technica que "a veces se puede obtener más en el largo plazo mediante la adopción de las cosas." Por lo tanto, hay algunos extras zippy como genéricos, tipo de herencia, o afirmaciones, sólo limpias, simples bloques de if-then-else cadenas de código manipular, matrices y tablas hash.
El lenguaje se informa bien establecido dentro del vasto imperio de Google y está ganando aceptación en otros lugares donde los amantes de lengua dinámica de Python y Ruby pueden ser inducidas a aceptar algunos de rigor que viene de un lenguaje compilado.
Si eres una startup tratando de llamar la atención de Google y la necesidad de construir una cierta lógica de negocio del lado del servidor, el Go es un gran lugar para comenzar.
Bondad Scripting de Java: Groovy
El mundo Java es sorprendentemente flexible. Di lo que quieras acerca de su enfoque cinturones-y-tirantes, como especifica el tipo para cada variable, que termina cada línea con un punto y coma, y escribir los métodos de acceso para las clases que devuelva el valor. Pero miró a los lenguajes dinámicos ganando terreno y construyó su propia versión que está estrechamente integrado con Java.
RECURSOS
LIBRO BLANCO
Decisiones difíciles para la nube de aplicación Arquitecturas
ESTUDIO DE CASO
Patrocinados
Más allá de la cobertura de riesgos: ¿Cómo una firma global de 2000 demostró el valor de su programa de seguridad de aplicaciones
VER TODOS Go
Groovy ofrece a los programadores la capacidad de echar a un lado todas las convenciones monótonas de soportes y puntos y comas, para escribir programas más simples que pueden aprovechar todo ese código Java existente. Todo se ejecuta en la JVM. No sólo eso, todo bien enlaces a archivos JAR de Java, así que usted puede disfrutar de su código existente. El código Groovy corre como un lenguaje de scripting de tipos dinámicos con acceso completo a los datos de los objetos Java de tipo estático.
Groovy programadores piensan que tienen lo mejor de ambos mundos. Hay todo el inmenso poder de la base de código Java con toda la diversión de los que utilizan dispositivos de cierre, la sobrecarga de operadores y iteración polimórfica - por no hablar de la simplicidad de utilizar el signo de interrogación para indicar un cheque de punteros nulos. Es mucho más sencillo que escribir otra declaración si-entonces para probar la nulidad. Naturalmente, todo esto flexibilidad tiende a crear tanta lógica con una pequeña fracción de las pulsaciones de teclado. ¿Quién no puede amar eso?
Por último, todos los programadores de Java que han envidiaban la simplicidad de los lenguajes dinámicos pueden unirse a la fiesta sin salir del ámbito de Java.
OCaml: jerarquía malabarista de datos complejos
Algunos programadores no quieren especificar los tipos de sus variables y para ellos hemos construido los lenguajes dinámicos. Otros disfrutan de la certeza de especificar si una variable tiene un entero, cadena, o tal vez un objeto. Para ellos, muchos de los lenguajes compilados ofrecen todo el apoyo que quieren.
Luego están aquellos que sueñan con jerarquías de tipos elaborados e incluso habla de crear "álgebras" de tipos. Imaginan listas y tablas de tipos heterogéneos que se juntan para expresar extravagancias de datos complejos, de múltiples niveles. Hablan de polimorfismo, primitivas coincidencia de patrones, y la encapsulación de datos. Esto es sólo el comienzo del complejo mundo, altamente estructurada de tipos, metatipos y metametatypes que desean.
ARTÍCULOS SIMILARES
transparente código binario binario equipo código de codificación 000000123354 programación técnica
Primeros pasos con PowerShell: Los fundamentos
resolver hombre piezas de rompecabezas
De Windows 8.1 parche acumulativo KB 3000850 asoma su fea cabeza otra vez
Thinkstock riesgo de seguridad
Tiempo para todos los usuarios de Windows a flipar sobre bug cifrado
Para ellos, no es OCaml, un esfuerzo serio por la comunidad lenguaje de programación para popularizar muchas de las ideas mencionadas. Hay soporte de objetos, gestión automática de memoria, y la portabilidad del dispositivo. Incluso hay aplicaciones OCaml disponibles en App Store de Apple.
Un proyecto ideal para OCaml podría ser la construcción de un sitio web de matemáticas para enseñar álgebra simbólica.
CoffeeScript: JavaScript hizo limpia y sencilla
Técnicamente, CoffeeScript no es un lenguaje. Es un preprocesador que convierte lo que escribes en JavaScript. Pero parece diferente porque se está perdiendo un montón de la puntuacion. Usted podría pensar que es de Ruby o Python, aunque las agallas se comportan como JavaScript.
CoffeeScript comenzó cuando odian punto y coma se vieron obligados a programar en Javascript, porque eso era lo que hablaban los navegadores Web. Cambio de la forma en que funciona la Web habría sido una tarea insuperable, por lo que escribieron su propio preprocesador lugar. El resultado? Los programadores pueden escribir código más limpio y dejar CoffeeScript convertirlo de nuevo en el JavaScript navegadores Web demanda puntuacion pesado.
Puntos y comas que faltan son sólo el comienzo. Con CoffeeScript, puede crear una variable sin escribir var. Se puede definir una función sin función escribiendo o envolviéndolo entre llaves. De hecho, entre llaves son prácticamente inexistentes en CoffeeScript. El código es mucho más concisa que se parezca a un edificio modernista en comparación con una catedral gótica. Por ello, muchos de los nuevos frameworks de JavaScript se escriben a menudo en CoffeeScript y compilados.
Scala: Programación funcional en la JVM
Si usted necesita la simplicidad código de jerarquías orientadas a objetos para su proyecto, pero ama el paradigma funcional, usted tiene varias opciones. Si Java es su reino, Scala es la opción para usted.
Scala se ejecuta en la JVM, trayendo todas las restricciones de diseño limpias de programación funcional para el mundo Java mediante la entrega de código que se ajuste a las especificaciones de clase Java y enlaza con otros archivos JAR. Si esos otros archivos JAR tienen efectos secundarios y otros desagradables dolores de cabeza imperativas, que así sea. Su código será limpio.
El mecanismo de tipo es muy estático y el compilador hace todo el trabajo para inferir los tipos. No hay distinción entre tipos primitivos y tipos de objetos porque Scala quiere que todo desciende de una llamada ur-objeto Any. La sintaxis es mucho más simple y más limpio que Java; Gente Scala llaman "ceremonia de baja". Usted puede dejar sus nombres de variables CamelCase párrafo larga vuelta en Java Tierra.
Scala ofrece muchas de las características que se esperan de los lenguajes funcionales, tales como la evaluación perezosa, la recursión de cola, y las variables inmutables, pero se han modificado para que funcione con la JVM. Los metatipos básicos o variables colección, como listas enlazadas o tablas hash, pueden ser mutable o inmutable. Recursión de cola trabaja con ejemplos más simples, pero no con elaborados ejemplos, mutuamente recursivos. Las ideas están ahí, incluso si la aplicación puede verse limitada por la JVM. Por otra parte, también viene con toda la ubicuidad de la plataforma Java y la profunda colección de código Java existente escrita por la comunidad de código abierto. Eso no es una mala compensación para muchos problemas prácticos.
Si tiene que hacer malabares con los datos en un clúster de mil procesador y tener una pila de código Java legado, Scala es una gran solución.
Dart: JavaScript sin JavaScript
Ser popular no es todo lo que es bueno como parece. JavaScript puede ser usado en más pilas que nunca, pero la familiaridad conduce al desprecio - y desprecio lleva a las personas que buscan reemplazos. Dart es un nuevo lenguaje de programación para los navegadores web de Google.
Dart no es mucho de un alejamiento de la idea básica de JavaScript. Funciona en segundo plano para animar a todos los DIVs y objetos de formulario web que vemos. Los diseñadores simplemente querían limpiar las partes más desagradables, molestas de JavaScript mientras haciéndolo más sencillo. No podían apartarse demasiado de la arquitectura subyacente porque querían compilar Dart a Javascript para ayudar a acelerar la adopción.
Lo más destacado puede ser las funciones adicionales que se pliegan en muchas bibliotecas de facto de JavaScript. Usted no necesita jQuery o cualquiera de las otras bibliotecas comunes para modificar alguna parte de la página HTML. Todo está ahí con una sintaxis bastante limpio. Además, los tipos de datos más sofisticados y trucos abreviatura sintáctica ahorrarán unas pocas teclas. Google está presionando al ofrecer herramientas de desarrollo de código abierto para todas las principales plataformas.
Si usted está construyendo una aplicación web dinámica y está cansado de JavaScript Dart ofrece una sintaxis limpia para la creación de múltiples DIVs baile llenos de datos de diversas fuentes web.
Haskell: La programación funcional, pura y simple
Durante más de 20 años, los académicos que trabajan en la programación funcional han estado desarrollando activamente Haskell, un lenguaje diseñado para encapsular sus ideas acerca de los males de los efectos secundarios. Es una de las expresiones más puras de la programación ideales funcional, con un mecanismo de cuidado para la manipulación de canales de E / S y otros efectos secundarios inevitables. El resto del código, sin embargo, debe ser perfectamente funcional.
La comunidad es muy activa, con más de una docena de variantes de Haskell que le esperan para explorar. Algunos son independientes, y otros se integran con más esfuerzos de corriente como Java (Jaskell, Frege) o Python (Scotch). La mayoría de los nombres parecen ser referencias a Escocia, un semillero de investigación Haskell, o un filósofo / lógicos que forman la procedencia intelectual para muchas de las ideas expresadas en Haskell. Si usted cree que sus estructuras de datos será complejo y lleno de muchos tipos, Haskell le ayudará a mantenerlos en orden.
Julia: Aportando velocidad a la tierra Python
El mundo de la programación científica está llena de amantes de Python que disfrutan de la sintaxis simple y la libertad de no pensar en los detalles retorcidos como punteros y bytes. A pesar de sus puntos fuertes, sin embargo, Python es a menudo exasperantemente lento, que puede ser un problema si usted está crujiendo grandes conjuntos de datos como es común en el mundo de la computación científica. Para acelerar las cosas, muchos científicos se vuelven a escribir las rutinas más importantes en el núcleo en C, la cual es mucho más rápido. Pero que los sillines con software escrito en dos idiomas y es por lo tanto mucho más difícil de revisar, corregir o ampliar.
Julia es una solución a esta complejidad. Sus creadores tomaron la sintaxis limpia adorado por los programadores de Python y ajustados para que el código puede ser compilado en el fondo. De esa manera, se puede establecer un cuaderno o una sesión interactiva como con Python, pero cualquier código que crea será compilado inmediatamente.
Las tripas de Julia son fascinantes. Proporcionan un poderoso motor de inferencia tipo que puede ayudar a asegurar código más rápido. Si te gusta metaprogramming, el lenguaje es lo suficientemente flexible como para extenderse. Las adiciones más valiosas, sin embargo, pueden ser mecanismos simples de Julia para la distribución de algoritmos paralelos en un clúster. Un número de bibliotecas graves ya abordar muchos de los algoritmos numéricos más comunes para el análisis de datos.
La mejor noticia, sin embargo, puede ser las altas velocidades. Muchos puntos de referencia básicos corren 30 veces más rápido que Python y muchas veces correr un poco más rápido que el código C. Si usted tiene demasiados datos pero disfrutar sintaxis de Python, Julia es el siguiente idioma para aprender.
No hay comentarios:
Publicar un comentario
Oi! si querés, escribí lo que t gusta de esto !