5 Development Technologies to Explore This Year

shutterstock_145597171

Tech professionals are always wondering about the Next Big Thing—both for the industry as a whole, and the technologies they must integrate into their individual workflows. The following is a list of development technologies that could have a very big role to play in your career over the next 12 months, depending on your area of specialization.

Git

Git is a mature distributed version control system, now in its tenth year, originally created by Linus Torvalds of Linux fame. While version control systems are not a new technology, Linus considered the then-existing systems (particularly Monotone) inadequate; he put Git together in just a few months.

Though the main user interface is the command line, there are free and paid-for GUI clients available for Mac, Linux and Windows. The platform’s popularity has only increased; part of Git’s appeal is the repository hosting service, GitHub, which provides a Web-based GUI as well as desktop tools. With approximately 30 million repositories, it’s now the largest source-code hosting service in the world.

There are plenty of online resources for learning Git, including a Pro Git book; Codeacademy has just released their free two-hour “Learn Git” course.

Node.js

Over the past few years, Node.js has seen tremendous uptake. It’s a technology that lets you write server-side JavaScript and run it via the Google V8 JavaScript engine that is inside Chrome. A big benefit is the speed; although node.js is single-threaded, it doesn’t block and you can spawn worker tasks on other threads.

The other big benefit is that it keeps the technology stack simple, using JavaScript on both the client and the server. It also contains a built-in library that allows applications to act as a stand-alone web server.

Enhancing Node.js significantly is the npm, the node.js package manager that has been part of node.js since 2011. There are currently hundreds of thousands of JavaScript packages in the package manager library that can be easily installed.

Docker

Though the world of Linux containers existed before Docker appeared in 2013, probably no open-source package has enjoyed such an amazing impact over the past few years, especially in an enterprise context. Docker allows automation of running applications; once you’ve created a Docker file containing a list of images to download and install, you can quickly deploy your application on any platform that runs Docker. Developers can test their applications against many different configurations quickly, and ops can deploy new releases into production just as speedily.

There’s also Docker Hub, a cloud-based registry service for building and shipping application or service containers. It has a large number of images. In deploying your application, for example, you might require a version of Ubuntu, plus MySQL and some other components—just specify them in your dockerfile, and the first time you build your container on a given platform, it pulls the requested from the hub.

C++ 11 and C++ 14

Most compilers support most features of both the aforementioned versions of C, though GCC and MSVC (Microsoft Visual C++) feature the most overall support.

The C++ 11 update was a major change to the language that really modernized it. First there were Lambda expressions, which are anonymous local functions. Also: auto for letting the compiler infer the type according to the right-hand side of the expression (much like C#’s var); before C++ 11, auto was a little-used storage type specifier.

As with C#, you can now use braces to initialize arrays: add in a new library <thread> and proper smart pointer classes (unlike auto_ptr).

C++ 14 is a minor update in which lambda expressions have been made more generic; it uses auto for return type (the compiler deduces type from what’s returned); the C++ 11 requirements on constexpr are likewise relaxed.

As a result of all these changes, C++ is now a lot friendlier to beginners, with syntax that is shorter and more readable.

Swift

As previously reported, Apple open-sourced Swift, its latest programming language for iOS and Mac OS X. The code is now available on Swift.org, as well as Github. Swift 5.0.1 is fully featured, and it’s swiftly (haha!) climbed the ranks of most popular programming languages. If you’re interested in development for iOS and macOS, check it out.

Conclusion

Many of these technologies have been around for quite some time, and their enduring popularity could make them essential to study—if you don’t know them already.