Fun Links 2016-03-11

Dynamic programming languages and interpreted languages all have the benefit of being quick to use to write code. They have grown quite popular in the past years, driven mostly by the fluid nature of the web. The nebbish amongst us will usually lament the lack of static typing, but the genuine issue with these languages is usually quite simple: execution speed.

So while they may be fast to write, they aren’t always fast to run.

OK, that makes sense. And to be fair, that might be perfectly acceptable in some cases, and clearly people were accepting this trade-off for a while. And no matter how provocative you find pointer dereferencing to be, you can’t argue that languages like Ruby, Python and PHP aren’t in vogue. Whether the syntax, the high-level abstractions or the dynamic features mentioned before, each has a little “je ne sais quoi” about them.

So you love your language, but it isn’t quite what you need, what do you do? You create a new language with the same basic syntax and make it better. At least in theory. The following languages make look a bit niche at the moment, but it is worth keeping an eye on them.

Crystal is like Ruby, only faster. Developed by a company in Argentina, there seems to be a growing community around the new language. Unlike Ruby, Crystal is a compiled language, so you create a native executable. It also has a package/module management system called shard. At the moment, it looks like it only runs on Linux or Mac, and given how the Ruby community regards Windows, I wouldn’t hold my breath for a native compiler there.

Julia is the upgraded, faster version of Python. Sort of. The syntax is certainly Python inspired, and built with data and scientific processing in mind. Looking at the summary of features and benchmark results, it seems like the best of all worlds as a language. It has a package manager as well and even built-in support for parallelism and distributed computing. Not surprising given its focus on technical computing.

Hack is Facebook’s enhanced version of PHP. Supposedly they couldn’t think of a woman’s name to use. And while the name they did choose may invoke some concern, the language moves in a more “safe” direction from its origins. Hack requires a runtime called HHVM, and at the moment, is only available on Linux. You could run it from a VM for development locally. It adds things like types and native XML support to the PHP language, and they even have tools for converting from PHP to Hack.