Home United States USA — software 11 new programming languages to make a coder's heart sing

11 new programming languages to make a coder's heart sing

60
0
SHARE

From a friendlier way to write WebAssembly to a visual language for machine learning, these 11 programming tools could redefine the way you write software.
Most modern languages aren’t built for whimsy or demonstrating our coding prowess, however. They’re made in response to a common issue that the creators are eager to solve. While most developers will continue to do our everyday coding in one or more older, more established languages, we’re forever on the lookout for new tools to help us solve our coding problems. We can see this tendency, especially, in the rise of domain-specific languages, or DSLs. These languages are compact and focused. They’re not intended for general-purpose use. But some could earn a special place in your toolbox for exactly that reason. When you marry Clojure with React, this is what you get: a system that combines all the possibilities of reactive front ends with the solid, functional strength of Clojure. At its best, Reactive Clojure lets you lay out a complex collection of front-end components and string them together with functions. The Reactive framework fills in the details and ensures application data flows smoothly between your components and the database. Clojure brings the functional foundation to make even out-of-the-ordinary use cases possible—and debuggable. Is it a match made in heaven? Time will tell. Reactive Clojure is a good option for writing the glue code that holds together front-end components. Its multithreaded model is a natural match for complex and reactive dashboards that report on multiple tasks simultaneously. One of the more ironic games that programmers play is pushing most of our work to configuration files. These files, often encoded in JSON, YAML, or even XML, are a good coding idea that’s metastasized into elaborate ritual. In some cases, you don’t even need to write actual code; just endlessly jigger the various configuration files to do what you need. It makes sense, then, that we have Nickel: a programming language for creating configuration files. Nickel is like a template with embedded logic, which you can use to craft configuration files that aren’t static. A parameter could be one value during the week and a different one on weekends. When it runs, Nickel creates a new configuration file that fits all the parameters it’s received. Nickel’s structure is largely functional, and type checking is available, if it happens to help. A big theme is “correctness” because a well-written piece of Nickel code pretty much guarantees that the output will obey both the syntactic rules and any other rules you need enforced. Nickel’s compiler lets you write contracts, then checks to see that the output obeys them. Sure, there’s something funny about writing code to create configuration files that then boss around your code. But it’s a very practical solution for modern architectures. Kobra ‘s creators wanted a language that opened up machine learning to engineers, scientists, and other not-so-professional coders.

Continue reading...