Programming languages – they can do amazing things, yet most of us would cringe at the thought of trying to understand them. In support of real-time communications, however, the possibilities are virtually endless. But not all languages are created the same or meant to deliver the desired value.
A recent InfoWorld piece gives us some insight into three new languages and what their creators have to say about them. While it might be beyond the imagination to better understand what inspires the development of a new language, it does help to get into the head of their developers to understand the motive.
Coconut is one that is designed to expand the reach of Python. Evan Hubinger is Coconut’s developer and aside from a completely awesome name for his language, Hubinger also loves to focus on functional programming. He believes it provides a more natural approach to the way problems are solved, while also delivering a more elegant, concise and readable code. Python has historically been a very elegant tool for imperative programming, yet Hubinger definitely sees the limitations when it comes to functional programing.
Crystal is another new language and is positioned as building on the best features of programming languages that already exist. Developer Ary Borenszweig told InfoWorld that Crystal is designed to mix the features present in other languages in a way that no other language can do. It also has static type-checking without specifying the types of method arguments or local variables. As a result, the language enables less verbose code, faster prototyping and code that is just a little more generic.
Go fans might be excited about Oden, designed to piggyback on the former’s success. A Go fan actually developed the language after experiencing problems with Go. Oskar Wickström noted that while he’s always liked the tooling and development story offered by Go, the language overall had problems that were somewhat problematic. The issues that seemed to get the most attention were the lack of generics and the difficulty in abstracting control flow, nil-checking and error-handling. Oden address these issues and also interoperates well with Go, providing users the best of both worlds.
Will these languages solve all of the current challenges in supporting real-time communications and meeting the needs of the user base? The developers might readily agree, but like anything else it’s more likely they will have their fans and their foes. If they continue to lead to the development of bigger and better, everybody wins.