Skip to main content

With hundreds of programming languages already in existence, why invest the considerable effort in creating a new one?




For developers of three newfangled open source languages -- Coconut, Crystal, and Oden -- the answer is simply that, in programming, there are always new niches to fill and new needs to be met.
 Recently, however, many programmers have begun experimenting with more tailored programming languages, which are designed for more specific purposes and intended to extend these existing and well-known languages.


• Crystal: Bringing existing languages’ features into focus
Crystal’s main developer Ary Borenszweig not only acknowledges the wealth of programming languages already in existence, he builds on their best features. Crystal is a language that almost serves as a consolidator. It has been designed to bring together the best features of numerous other languages, thereby intending to bring the “best of the best” into a single design. Some of the features of Crystal include static type-checking, which facilitates rapid design. Automatic memory management and native compilation also makes Crystal the programming language of choice for developers that need to develop fast.

The language has static type-checking without specifying the types of method arguments or local variables.
This enables faster prototyping, less verbose code, and more generic code, Borenszweig stresses.
Crystal also features automatic memory management and native compilation sans a virtual machine
It has macros to avoid boilerplate code. And it has a very easy way to use existing C libraries,” says Borenszweig, who works at Manas, which builds technical and scientific software.




Oden is essentially a re-development of the programming language Go, designed to improve upon the existing platform. The developer found some issues with the open source language that was initially developed by Google in 2007. The Go language is designed to be used for highly specific use cases, such as standalone command-line apps or very simple and small scripts. But beyond that, there are challenges creating more complex programs. Oden ideally makes it easier to develop desktop apps with the language. Oden is designed so that it can be used with Go, to make it easier for adopters.


Python has long been the industry standard language for rapid prototyping, due to its low barrier to entry and ease of use. Nevertheless, the language itself has not changed for quite some time. The Coconut developer is designed to make functional programming easier to use on Python’s imperative programming base and to provide an alternative to traditional Python. Coconut itself should be fairly easy to get into for Python programmers, but it effectively works very differently because of its functional approach.
So what are the advantages to these new languages? For employees, these languages may not be all that sought after in the market right now; there are many more employers looking for Python programmers than Coconut programmers. But for developers and freelance programmers looking for an edge, any of these programming languages may be exactly the tool they need to create programs faster, more efficiently, and more solidly built. The common theme between Crystal, Coconut, and Oden is the ability to make things easier and better that can already be done in other languages. Because of this, certain projects may have an edge when developed in one over the other

Python, says Hubinger, was his first language. While Python is elegant for imperative programming, trying to use it for functional programming is difficult and obtuse, he says. Coconut is actually his second attempt at functional programming for Python. Hubinger scrapped his previous effort in this vein, a language called Rabbit, after he became dissatisfied with it. Hubinger is a college student who has been interning as a software developer at Yelp.

Emerging uses for emerging languages

It’s one matter to create a language; it’s another to ensure it’s of use to others who may be bumping up against similar problems. Each of the developers of these three emerging languages see use cases already evolving.

Oden, Wickström says, is good at tasks within Go’s wheelhouse: web servers, back-end services, and command-line tools, to name a few. It is also good for building libraries that provide generic user-defined data structures, generic algorithms, and control-flow abstractions, he says.

Crystal, meanwhile, is suited for web services, because it has nonblocking I/O and lightweight processes, Borenszweig says. Existing applications have included command-line applications, emulators, websites, and IRC bots.

“It can also be used in competition programs, where you need to prototype fast but achieve good performance,” Borenszweig says. “Finally, it can be used to build compilers, such as Crystal.”

Coconut is suitable for the same applications as Python, Hubinger says. This is a “very loose criterion, given Python’s popularity these days,” he says. “Since Coconut compiles to Python, there's nothing Python can do that Coconut can't.”

While Crystal and Oden remain in early stages of development, Coconut reached its 1.0 release milestone in June, followed by a 1.1 release in July.

Crystal was originally written in Ruby, although the compiler has been rewritten in Crystal itself. Coconut’s compiler was written in Python. Oden’s first compiler was written in Racket while its type inferencer was developed using MiniKanren, a relational programming language embedded in Scheme. The compiler was then rewritten using Haskell.

For more information, please visit : www.osglsofttech.com

Call: +91-8650030309, +91-8650030308
Mail: info@osglsofttech.com

Address: Shanti Vihar, Behind Mahindra Showroom, Ajabpur Khurd, Dehradun

Comments

Popular posts from this blog

Why use an Inventory Management System?

Inventory management   software is a computer-based   system  for tracking   inventory  levels, orders, sales and deliveries. It can also be   used  in the manufacturing industry to create a work order, bill of materials and other production-related documents. Inventory  control is also  important  to maintaining the right balance of stock in your warehouses. You don't want to lose a sale because you didn't have enough  inventory  to fill an order. ... Too much  inventory  can trigger profit losses––whether a product expires, gets damaged, or goes out of season. ·          Real-Time Inventory by Category & Location Real time inventory provides comprehensive information’s in a format you currently use within a minute of the physical audit to be completed.   Real-Time Inventory   Control Software package allows you to manage all aspects of you...

Why Mobile Apps are Better Than Mobile Websites

The   number of mobile users  today is greater than the number of desktop users! Consequently, businesses have realized the need to effectively use mobile channels for attracting customers. They have started new operations (or scaled existing ones) through mobile websites and mobile apps. While businesses with large wallets can afford to employ both mobile websites and apps , other companies might have to choose one of them. The choice between mobile apps and websites depends on their cost, usability, required features and the audience they serve. That being said,  studies show  that users prefer mobile apps more than mobile websites . This makes for a strong reason to have mobile apps for reaching out to potential (and existing) customers. ·         Mobile Apps Offer Better Personalization Personalization is about offering tailored communication to users based on their interests, location, usage behavior, and more. Wi...

Learn New Programming Languages Groovy, Rust, Elixir, Go

Groovy Groovy  is an  object-oriented scripting language  that was created by Apache  for the Java platform . It appeared first in 2003, however the first stable release (Groovy 1.0) came out only in 2007. Since then, it has been used by companies such as  Netflix, Linkedin, Airbus, and Mastercard . Groovy is  dynamically compiled to Java bytecode , therefore it  seamlessly integrates with any Java library . If you’ve already programmed in Java or any other language that  uses the curly-bracket syntax  you can  learn Groovy relatively quickly . As Groovy is  open-source , you can find the  source code on Github , or you can contribute to the project yourself if you want. Although Groovy is usually praised because it  increases developers’ productivity ,  access to the Grails Web Application Framework  can also be a good reason to give a closer look to it. Grails was initially called  “...