Being a developer has been a top career choice for a while, and it’s hard to imagine this will change anytime soon. Whether you’ve just started or you are an experienced programmer, probably your most frequently asked question will be what to learn next?
The web industry is changing at such a fast pace that you always find something new to be learnt and have an experience in. But, the question remains as how do you pick your next language?
Learning Programming: 10 Misconceptions That Are Not True
There are plenty of misconceptions and myths surrounding the art of programming. Many view it as a job…Read more
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.
If you want to know more about Groovy’s benefits compared to Java take a look at this Quora discussion about the advantages of Groovy, and the JavaRevisited blog also has a good post on the 10 basic differences between Java and Groovy. The official Groovy website has a nice recap on the differences, too.
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 “Groovy on Rails” after “Ruby on Rails” but later this name was dropped due to the request of RoR‘s founder.
Grails makes it possible to build web applications with the Groovy language. It has a bunch of cool features, such as integrated ORM / NoSQL support, pluggability, powerful view technology, and many others.
Mozilla declares Rust’s main goal as taking full advantage of modern multi-core processors. Rust focuses on performance and memory safety, it prevents segmentation faults and comes with an easy-to-learn syntax. The list of its corporate users is impressive as well, with names like Dropbox, Telenor Digital, Coursera, and SmartThings.
Rust is open-source, so you can have a look at its source code on Github. If you want to learn it you can get started with The Book (yes, just “The Book“, as classy a name as it can be) that was written by the core team. You can download the Rust compiler from the official Rust website, and you can find many other useful information here as well.
In the video below, Mozilla’s developers are talking about why they hope that Rust will make web apps more competitive with native apps in the future, and how it solves some problems arising from using C++.
Elixir is a functional programming language with which you can build real-time distributed applications. Elixir was created in 2011 by a core Ruby contributor with the aim of addressing Ruby’s issues with writing concurrent code. The explicit goal of the new language was to “improve the performance of Rails applications running across multiple CPUs” (see more in CodeSchool’s blog post).
Elixir is a great choice for programming network applications and high-availability systems such as banking software, and for data processing. Elixir programs run on the Erlang Virtual Machine (BEAM) and compiled to Erlang bytecode. As a result, Elixir developers have full access to Erlang’s ecosystem, too.
If you haven’t done functional programming yet, getting started with Elixir probably won’t be easy, but if you choose to do so it can give you a fresh new view on programming. In a nutshell, functional programming is quite different from object-oriented programming, as it doesn’t use objects and classes but programs are built with operations inside functions and modules.
If you need some encouragement to jump on the Elixir bandwagon have a look at Spreedly Engineering’s You’re Smart Enough for Elixir blog post, it’s a really good self-confidence boost. The official Elixir website has many useful resources, learning guides, and you can install Elixir from here as well. Elixir is also available on Github where you can check out the source code and stay informed with the latest issues and releases.
The Go programming language was released by Google in 2009, and since then Google uses it internally in many of its production systems. Go is a statically typed, concurrent, compiled programming language that was created with the aim of managing programming issues that large organizations face with on a day-to-day basis. Therefore similarly to Java and C++, Go is scalable to large systems.
According to the results of the Go 2016 Survey, most developers are happy with Go. The most frequently mentioned reasons were “simplicity, ease of use, concurrency features, and performance”. Go reduces compile time in order to support code-test-build loops, therefore it’s ideal for Test-Driven Development (TDD).
If you want to know more about Go’s features and advantages, have a look at this Medium post that gives more insight into Go’s popularity. Go has many corporate users, such as Youtube (of course), Bitbucket, Basecamp, BBC, Dropbox, and others, you can find a long list of its users on this Github page.
Go’s official website is an excellent resource, for instance, you can find here a cool live demo that allows you to test how Go works, and also many other useful things, such as documentation, packages, an installation guide, and a Go blog. As Go is open-source, you can access the source code on Github as well.
The R programming language has become more and more popular in recent years thanks to the big data revolution. R is the open-source version of the proprietary S language and was created by two academics, Ross Ihaka and Robert Gentleman, at the University of Auckland in New Zealand in the 1990s.
R can be used for statistical computing and graphics, and it allows you to accomplish tasks related to data processing, data mining, data analysis, and statistical reporting.
R is in high demand on the job market, O’Reilly’s 2016 Data Science Salary Survey shows that R developers have impressive salary prospects. It can’t be a coincidence after all that it’s also one of the star languages of MOOCs.
You can download R from its official website where you can also find The R journal, a bunch of manuals, and books. If you want to read fresh tutorials and blog posts on R, check out the R-bloggers website where you can even add your own R-related blog.
R uses SVN for version control but you can access the read-only mirror of the source code on Github, which is probably a bit easier to browse. If you are interested in what other developers have done with R, the trending R projects Github page is a good place to get started.