Welcome!

Linux Containers Authors: Liz McMillan, Vaibhaw Pandey, Elizabeth White, Pat Romanski, Yeshim Deniz

Related Topics: @DevOpsSummit, Linux Containers, Open Source Cloud

@DevOpsSummit: Article

Up-and-Coming Programming Languages | @DevOpsSummit #APM #DevOps

Staying current in the programming field can sometimes make you feel like the Red Queen in 'Alice Through the Looking-Glass'

Five Up-and-Coming Programming Languages to Know About
By Anand Akela

Staying current in the programming field can sometimes make you feel like the Red Queen in “Alice Through the Looking-Glass.” She said, “It takes all the running you can do to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that!”

You’re a master at Ruby on Rails? Great, but how are you with statistical analysis in R? Want to work at Google? Forget Python and start building channels in Go.

Introduction to R
You may be surprised to learn that R has been around since 1994. It was built by Ross Ihaka and Robert Gentleman at the University of Auckland and was based on the Bell Labs language S. The turning point for this statistical analysis tool came when it zoomed up to first place as the highest paying tech skill in the 2014 Dice Tech Salary Survey. That can be considered the year that Big Data arrived in mainstream business and R was clearly the best way to handle it.

Though it was preferred by academic data scientists originally, R has proven instrumental for enormous business applications like large-scale financial reporting for Bank of America and Facebook’s Social Graph, which analyzes interactions among 500 million people. Today, companies like Microsoft are using R as a server platform to go further with predictive modeling and machine learning. For many of these companies, R is replacing SQL, which can become extremely resource-intensive for advanced analytics.

Here are three reasons why R has taken off recently:

  • Because R supports missing values as a core data value, it can easily deal with incomplete data sources that are more common in real world projects.
  • A popular data visualization package for R called ggplot2 breaks up the graphics into scales and layers as components. It’s now the most used R extension package.
  • The top-level language shell in R is customizable, and coders have used that facility to build integrated development environments like RStudio. This made R much easier to learn and more widely available for business use cases.

Key Stat
In the Redmonk Programming Language Rankings of 2016, which compares the popularity of code on GitHub vs. Stack Overflow, R ranked 13th.

Introduction to Go
While some of the other languages here are getting a new life, Go (a.k.a. golang) is experiencing its first one. In 2012, Google presented the open source Go v. 1.0, after giving the world a glimpse of the experimental language three years earlier. Google had its eye on the future, saying, “People who write Go 1 programs can be confident that those programs will continue to compile and run without change, in many environments, on a timescale of years. Similarly, authors who write books about Go 1 can be sure that their examples and explanations will be helpful to readers today and into the future.”

Go was made for web services that need to handle thousands of concurrent web requests. Popular app builders like Python can’t deal with the speed and intensity of parallel requests on mobile. For the same reason, it is an excellent HTTP handler.  Like C++, Go is ideal for writing web services with precise control without the sharp learning curve of the aging object-oriented standby. Go has also been compared favorably with Algol.

As you would expect from a language with the backing of Google, Go has been used for major projects like Docker’s large-scale, distributed software projects. Evidence of the range of Go came in the form of Revel, which is a high-productivity, full-stack web framework that was created with Go. Revel is able to handle web essentials like routing, caching, parameter parsing, templating and more.

Go’s power of handling concurrent requests resides in its goroutines and channels. While goroutines function like threads, channels are the communication ports between goroutines.

Here’s how a sample channel operates:

func Run() {

s := &http.Server()

sig := make(chan os.Signal, 1)

signal.Notify(sig, os.Interrupt)

go func() {

<-sig

time.Sleep(30 * time.Second)

os.Exit(0)

}()

s.ListenAndServe()

}

Key Stat
Go currently ranks as the 15th most popular language in the Redmonk Programming Language Rankings of 2016.

Introduction to Hack
Hack was an internal Facebook project that was released as open source in 2014. As a replacement of their PHP, Hack is a way of combining the short dev cycles of dynamically-typed language with the core discipline of static-typed ones. It also borrows features from some of the other new languages, such as type annotation and generics that allow you to set parameters for classes and methods, while adding many features commonly found in other modern programming languages.

Facebook reported that many common tasks were becoming problematic in PHP, such as calling a method accidentally on a null object, which would generate an error that you wouldn’t be able to catch until runtime. Another problem was with complex APIs that required developers to look up mundane method names in documentation. Those are merely annoying unless you are working at a company like Facebook, where developers are expected to ship code twice a day. Thanks to the upgrade, Hack is now replacing Facebook’s entire PHP codebase.

While just about any site that uses PHP now could be using Hack, it has not gained widespread acceptance yet. One example of a creative uses for Hack is Vindinium, which is the basis of an AI-driven game system.

Hack lang’s GitHub page provides useful code examples, such as a Composer installer to manage dependencies:

cd hack-example-site sudo apt-get install curl curl -sS https://getcomposer.org/installer | php php composer.phar install

Key Stat
Wikipedia’s MediaWiki runs on the HipHop Virtual Machine (HHVM), powered by Hack.

Introduction to Rust
Mozilla’s Rust has been in development for years, but Rust 1.0, the first stable release, appeared in 2015. Mozilla’s David Herman detailed what makes Rust valuable: “Rust has something unique to offer that languages in that space have never had before, and that is a degree of safety that languages like C and C++ have never had. … [T]here are some things that make doing systems programming terrifying that are gone in Rust.” Specifically, he’s talking about security vulnerabilities in C++.

Rust was made to give programmers complete control through extensive compile-time checking. For example, browser exploits in C++, which caused Firefox to be unstable, would generate compile-time bugs in Rust and close the hole. Dropbox is the highest profile proponent of Rust right now as it extracts itself from Amazon Web Services.

The 2016 State of Rust Survey reported that one-fifth of the language’s users are deploying it for commercial purposes, either full or part-time.

Here’s an example of Rust in action:

fn main() {

for num in 1..101 { // Range notation!

match (num%3, num%5) { // Pattern Matching FTW!

(0, 0) => println!("fizzbuzz"),

(0, _) => println!("fizz"),

(_, 0) => println!("buzz"),

_ => println!("{}", num)

}

}

}

Key Stat
Rust won first place for Most Loved Programming Language of 2016 in the Stack Overflow Developer Survey.

Introduction to Swift
Apple has many new hardware platforms, like the Apple Watch and Apple TV. Swift was built for them. Initially, it was brought out in 2014 as a better alternative for Objective-C, since it makes it easier to build native apps for iOS. It’s also made for building apps on OSX, watchOS, tvOS and Linux.

At the end of last year it became open source. Many coders with a great deal of JavaScript experience say Swift is easier than Ruby or Python for developing apps. Lyft rewrote their code in Swift, not due to any problems with the existing app, but because Swift made it easy to improve the base code they wrote in a hurry before launch.

Many of the biggest app developers on iOS have already incorporated Swift into their base code, including:

  • Airbnb
  • CNN
  • Eventbrite
  • Imgur
  • KAYAK
  • LinkedIn
  • Medium
  • Pandora
  • Tumblr
  • The Weather Channel

Here is an example of code from a Swift app for calculating tips:

import Foundation   class TipCalculatorModel {     var total: Double   var taxPct: Double   var subtotal: Double {    get {       return total / (taxPct + 1)     }   }     init(total: Double, taxPct: Double) {     self.total = total     self.taxPct = taxPct   }    func calcTipWithTipPct(tipPct: Double) -> Double {     return subtotal * tipPct   }     func returnPossibleTips() -> [Int: Double] {      let possibleTipsInferred = [0.15, 0.18, 0.20]       var retval = [Int: Double]()     for possibleTip in possibleTipsInferred {       let intPct = Int(possibleTip*100)       retval[intPct] = calcTipWithTipPct(possibleTip)     }     return retval     }

Key Stat
Swift has moved up to 17th place in the Redmonk Programming Language Rankings of 2016.

Summary
If you just want a quick summary of which new language to use where, refer to this guide:

  • R is better than SQL for statistical analysis and managing big data.
  • Go is better than Python for building apps that have to deal with multiple, parallel requests.
  • Hack is an advanced version of PHP that speeds up development cycles.
  • Rust is easier, more security-conscious language for basic web development than C++.
  • Swift replaces Objective-C for native app development on iOS.

The post 5 Up-and-Coming Programming Languages to Know About appeared first on Application Performance Monitoring Blog | AppDynamics.

More Stories By AppDynamics Blog

In high-production environments where release cycles are measured in hours or minutes — not days or weeks — there's little room for mistakes and no room for confusion. Everyone has to understand what's happening, in real time, and have the means to do whatever is necessary to keep applications up and running optimally.

DevOps is a high-stakes world, but done well, it delivers the agility and performance to significantly impact business competitiveness.

@ThingsExpo Stories
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
"There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...
WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, introduced two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a multip...
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
An increasing number of companies are creating products that combine data with analytical capabilities. Running interactive queries on Big Data requires complex architectures to store and query data effectively, typically involving data streams, an choosing efficient file format/database and multiple independent systems that are tied together through custom-engineered pipelines. In his session at @BigDataExpo at @ThingsExpo, Tomer Levi, a senior software engineer at Intel’s Advanced Analytics gr...