Welcome!

Linux Containers Authors: Zakia Bouachraoui, Liz McMillan, Yeshim Deniz, Elizabeth White, Pat Romanski

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.

IoT & Smart Cities Stories
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next...
CloudEXPO | DevOpsSUMMIT | DXWorldEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
All in Mobile is a place where we continually maximize their impact by fostering understanding, empathy, insights, creativity and joy. They believe that a truly useful and desirable mobile app doesn't need the brightest idea or the most advanced technology. A great product begins with understanding people. It's easy to think that customers will love your app, but can you justify it? They make sure your final app is something that users truly want and need. The only way to do this is by ...
Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
DXWorldEXPO LLC announced today that Big Data Federation to Exhibit at the 22nd International CloudEXPO, colocated with DevOpsSUMMIT and DXWorldEXPO, November 12-13, 2018 in New York City. Big Data Federation, Inc. develops and applies artificial intelligence to predict financial and economic events that matter. The company uncovers patterns and precise drivers of performance and outcomes with the aid of machine-learning algorithms, big data, and fundamental analysis. Their products are deployed...
Cell networks have the advantage of long-range communications, reaching an estimated 90% of the world. But cell networks such as 2G, 3G and LTE consume lots of power and were designed for connecting people. They are not optimized for low- or battery-powered devices or for IoT applications with infrequently transmitted data. Cell IoT modules that support narrow-band IoT and 4G cell networks will enable cell connectivity, device management, and app enablement for low-power wide-area network IoT. B...
The hierarchical architecture that distributes "compute" within the network specially at the edge can enable new services by harnessing emerging technologies. But Edge-Compute comes at increased cost that needs to be managed and potentially augmented by creative architecture solutions as there will always a catching-up with the capacity demands. Processing power in smartphones has enhanced YoY and there is increasingly spare compute capacity that can be potentially pooled. Uber has successfully ...
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...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...