'Mobile Disruption' Leading to More Strategic Development

Enterprise developers struggling with the challenges associated with mobile application development may not be settling on a single, one-size-fits-all tool or platform just yet, but they are approaching those challenges more strategically. That, according to IDC analyst Al Hilwa, writing in a recently published report: "Negotiating the Mobile Disruption: Approaches for Multiplatform Application Development."

Hilwa, who is a research director in IDC's Application Development Software group, told me that he's trying to be the voice of reason in this report, offering "concrete, realistic advice to enterprises."

He first states the obvious, that "the central problem in mobile application development is addressing the variety of platforms and devices that employees can bring into the enterprise in a productive and agile manner…" What's not so obvious, he reminds us, is that until recently, enterprises have been side-stepping the so-called mobile revolution "engaging the consumers of their products with B2C apps, often developed by outside agencies or contractors." But the no-end-in-sight proliferation of mobile devices in the hands of employees -- and the promise of a more productive and mobile workforce -- has forced enterprises to address mobile more strategically and in-house.

"Since 2012," Hilwa writes, "enterprises have begun to tackle mobility more strategically by tagging their internal custom application development teams to skill up on mobile application development and take a more systematic approach to developing suites of applications that overhaul how certain internal business divisions, especially mobile sales and field forces, operate."

And there's another problem: The big three platforms—iOS, Android, and Windows—have focused on consumers, and haven't paid much attention to enterprise software licensing requirements. "For enterprises, tightly controlled application platforms with vendor-anointed tools and programming languages mean limitations in choice, an inability to leverage existing developer skills and, most importantly, an inability to easily develop code for multiple platforms," Hilwa writes.

In the midst of this "mobile disruption," four general approaches have emerged or enterprise mobile app developers: native, Web, hybrid, and third-party. Developing native apps for particular platforms requires platform owner–supplied/approved programming languages, runtimes, frameworks, and tool chains. Developing Web apps that use the browser as a runtime and app platform are typically sandboxed, so they can't access native platform features. Hybrid apps use Web apps with a thin wrapper that allows them to be distributed via app stores, which means they can access to some native platform features. And third-party-supplied runtimes or app platforms, which can come with their own programming languages, frameworks, and developer tool chains, produce full "native" apps that can be delivered through device platform owner–supplied app stores.

In the end, most enterprises will follow more than one mobile app development approach, Hilwa predicts, though he expects most to deliver as hybrids or as third-party cross-platform apps.

Now for some of that concrete advice: Because app dev tools, frameworks, and middleware aimed at enterprises are increasingly integrating HTML5 support, it will be in the best interest of enterprise developers to "embrace the Web ecosystem of skills and set up Web developer teams along with existing Java and Microsoft ecosystem developer teams."

Here's another one: Enterprises moving from a tactical to a strategic approach to mobile app development will want to "embrace an API architecture for back-end systems." In fact, "such enterprises should begin re-architecting their back-end systems and data assets into API services before embarking on extensive mobile application building."

There's a lot more in this report, and it's well worth reading in its entirety. Also, in case you missed it, my colleague David Ramel's most recent Dev Watch column ("Doubts About Cross-Platform Mobile Development") cites a number of studies on or related to this topic.

Posted by John K. Waters on 08/07/2014 at 4:32 PM0 comments

Building the Next Big App: Experts Weigh In

How are shifting consumer behaviors, new digital channels, application standards, and open source trends influencing current approaches to customer-facing software development? That's a big, scary question, but the panel of experts assembled to answer that question during Actuate's iHub F-Type launch in San Jose recently weren't intimidated in the least.

In fact, customer strategist Esteban Kolsky, principal and founder of ThinkJar, took issue with the title of the panel -- "Building the Next Big App" -- arguing that the next big app could very well be small.

"Anyone here have the Starbucks app on their phones?" he asked the crowd. (Some hands went up.) "It's more than that I bet! My point is, this is a very small app that does only three things: it finds a new Starbucks, it lets you charge it, and it lets you see what your rewards are. It's not a big app at all, and that's what's very interesting going forward." The next big app, he said, is probably going to be a small, special purpose application.

Stephen O'Grady, principal analyst and co-founder of Redmonk and a truly developer-focused industry watcher, said it was clear to him that, whatever the next big app might be, its development will be driven by data. He pointed to ride-sharing service Uber, which relies on a mobile app that not only connects passengers with drivers of vehicles for hire, but also provides end-user data the company can mine to make better decisions about growing the business.

Mike Milinkovich, executive director of the Eclipse Foundation, who has watched more than a decade of open-source action from the front lines, observed that the small, narrowly focused apps Kolsky saw in our future would depend on the data O'Grady saw as a driver of development.

"I don't think [the next big apps] have to be data driven," he said. "But even the simplest of apps will generate data that can be utilized, monetized, and become the source of new and interesting business models, and even social models. That's where I think things are going."

Which is not to say that the data isn't a driver in this space, Milinkovich added. "It used to be that new product ideas were essentially based on conjecture," he said. "We were guessing that this might be an opportunity. Now there's much more hard data to base that guess on. There's much more data-driven innovation, rather than inspiration-driven innovation."

Loie Maxwell, chief marketing officer at Social Imprints and former vice president ofcCreative at Starbucks, suggested that the relationship between small apps and big data lies at the heart of the kinds of end-user experiences that will differentiate the next big app.  

"That data doesn't just sit somewhere," she said. "Or it shouldn't, because the data can drive continuous improvement, which can lead to better user experiences, better services, and possibly those new business opportunities you were talking about."

Kolsky pointed to two more essential links in this Next Big App chain: connectivity and analytics tools. "The data has existed forever," he said. "But now everything is connected and we have the tools to collect and process it. That's the critical aspect of this environment."

Moderator Allen Bonde, vice president of product marketing and innovation at Actuate, asked the panel what they thought about the notion that, when it comes to data, "fast" is the new "big." Kolsky liked the idea.

"The whole concept of big data stems from the fact that we can collect, process, store, and manipulate data hundreds of times faster than we ever could before," Kolsky said. "When people talk to me about big data, the first thing they ask is how to deal with it in real time."

"The truth is, an awful lot of the data that companies we deal with are looking at is not even remotely big data," O'Grady said. "We're not talking petabytes, but terabytes. In some cases the [smaller] data sets can give you huge insights."

How much is the consumerization of IT influencing the development of the Next Big App, Bonde asked the panel.

 "It's about the visualization of data," Maxwell. "It used to be that you needed to hire an analyst at hundreds of dollars an hour to analyze the data, break it down, and tell you what you needed to be doing. Now we're creating tools that allow individuals to create visualizations of data for their own business needs. There's a democratization there, with apps showing up [in the enterprise] that are much more user friendly in this way. That's certainly picking up on what the consumer population has to have in order to adopt a product. It's changing the designs of enterprise software."

To Bonde's question about the impact of open source on the Next Big App, O'Grady opined that OSS hasn't been much of a direct driver of good design or usability, but that it has driven bottom-up adoption, which has profoundly changed the way technologies are procured in the enterprise -- and almost as a side effect, improved design.

"Ten years ago, I could sell my business applications basically one person, the CIO, and what the product looked like wasn't all that important," he said. "But today it's a lot different. It's much more like selling iPhones. You don't sell iPhones to an executive who then rolls them out to the company. You sell an iPhone to each individual in the company. So things like design, usability, availability, installation, and ease of use matter."

Milinkovich pointed out that "big data" was one of the first major enterprise software trends to emerge first from the open source community, via the Apache Hadoop project, which spawned companies like Cloudera and Hortonworks. "It was bottom-up adoption, as developer realized what they could do with these tools, that made it happen," he said. "And it was definitely driven by open source."

Bonde wrapped up the presentation by asking for some advice from the panelists for developers and designers thinking about the next big app.

Milinkovich pointed to the "huge opportunities" emerging over the next decade from the Internet of Things and a world in which we will be increasingly surrounded by sensors gathering data. Application developers should be prepared to take advantage of the tools and technologies that support the analysis of that data for real-time decision making.

O'Grady advised developers to take advantage of technologies connect them with users to gain deeper insights into their applications. "You should consider the possibility that in many cases the best outcome of a question [from a user] is the next question," he said. "You're never going to be able to answer perfectly a given user's question. But each question presents you an opportunity to say, hey, that's something I didn't know, and to follow up with the next question and the next question after that. That's how you get the big insight."

"Among the tech startups I've worked with, the ones who invested in the user experience and made it something users could fall in love with are the ones who saw the greatest return the fastest," said Maxwell. "In too many situations I've seen, that's almost an afterthought."

"I wouldn't spend any time thinking or worrying about big data or any of that," Kolsky said. "I'd just say, invest your time developing something people actually need."

Posted by John K. Waters on 07/28/2014 at 4:33 PM0 comments

Actuate's Next Open Source BIRT Chapter: iHub

Actuate signed on with the Eclipse Foundation as a Strategic Developer back in 2004, just a few months after the organization was founded. The South San Francisco-based company proposed the industry's first open-source Business Intelligence and Reporting Tools project (BIRT), and a decade later, BIRT is one of the best known open-source initiatives for data-driven development.

Now, the company says it's entering a "new chapter" with the launch of a freemium version of its iHub data visualization platform.

The BIRT iHub platform integrates and manages BIRT Analytics apps and BIRT-based information. It converts that information into graphs, charts, tables and diagrams, and more. The new BIRT iHub F-Type is designed to manage and distribute content created with both the open-source BIRT and the company's commercial BIRT Designer Pro IDE. It gives developers free access to the features of the commercial BIRT iHub platform with "metered output capacity." In other words -- or rather, in the words of Actuate CEO Pete Cittadini, "Actuate is now a subscription business."

"We've seen IT shifting to the so-called subscription economy for several years now," Mike Milinkovich, executive director of the Eclipse Foundation, told ADTmag. "It's becoming an increasingly common way to sell software. But this is still a big move for the company."

In Actuate's version of this model, the volume of daily data output is limited to a level "suitable for many developers' needs" (50MB), but there's no limit on data input. When the daily output exceeds 50MB, they can buy additional capacity from within iHub F-type. And the company is allowing devs to exceed that daily limit twice in a month before hitting them with a charge.

"We're targeting Eclipse BIRT developers, of course, but non-BIRT Java developers, too" said Nobby Akiha, Actuate's senior vice president of marketing. "And a big focus has been on the user experience. You'll be up and running in 15 minutes. "

Among the platform's capabilities of which the company seems most proud is its ability to provide native Excel format, complete with formulas and pivot tables, eliminating the need for the common practice of creating a parallel Excel-centric infrastructure. A close second would be its ability to allow developers to integrate or embed content into their Web or mobile apps quickly using a JavaScript API.

Actuate's move to a subscription model is probably a smart one for the company, says Redmonk analyst Stephen O'Grady, and good news for developers. "They're giving developers a chance to leverage these capabilities in a way that makes it easy for them to do it," he said. "Availability and ease of access are overlooked surprisingly often by commercial software organizations. You can have the best solution in the world, but if it's hard for me to get, and there's something that's even half as good, frankly, that I can get easily, I'm going to do that. We see this over and over again."

Posted by John K. Waters on 07/24/2014 at 4:33 PM0 comments

Open Source Akka JVM Toolkit for Concurrency and Scalability Turns 5

Typesafe this month marked the five-year anniversary of Akka, its open-source run-time toolkit for concurrency and scalability on the Java Virtual Machine (JVM).

Written in Scala and used to build highly scalable, fault-tolerant applications in both Scala and Java, Akka has gained serious traction since Swedish programmer Jonas Bonér pushed out the first public release (v.05) on July 12th, 2009. The company now includes some big names on its Akka user list, including Amazon, BBC, Cisco, Credit Suisse, eBay and more.

Bonér, who is Typesafe's CTO and co-founder, had worked for years building compilers, runtimes, and open source frameworks for distributed apps. Somewhere along the way, he says, he became "fed up" with the scale and resilience limitations of CORBA, RPC, XA, EJBs, SOA, and the Web Services standards and abstraction techniques Java developers typically used.

"It started to dawn on me that it wasn't that we were using the wrong tools," Bonér told ADTmag. "It was a fundamentally wrong approach to building software."

A better approach, Bonér concluded after "tinkering" with the Oz and Erlang languages, was the Actor Model, which utilizes objects that encapsulate state and behavior. Each actor also has a mailbox, and communicates exclusively by exchanging messages placed into a recipient's mailbox. This model provides a unified, single abstraction over concurrency and distributed computing. And an Actor's behavior can be redefined at runtime.

"I found the Actor Model to be a really good basis for building this next generation middleware," Bonér said. "And I could see that we needed to bring them over to the JVM."

Akka is one of the technologies emerging around the concept of reactive applications, described in "The Reactive Manifesto" as apps that better meet the "contemporary challenges of software development," in a world in which applications are deployed to everything from mobile devices to cloud-based clusters running thousands of multicore processors. Bonér wrote the first version of manifesto, which defines the four "critical traits" of reactive apps: event-driven, scalable, resilient, and responsive. By embracing these traits, the manifesto asserts, developers produce apps that are highly responsive to user experiences, provide a real-time feel, and are backed by a "scalable and resilient application stack" that can be deployed just about anywhere. A number of others contributed to later drafts of that manifesto, including Typesafe's other co-founder, Martin Odersky, who created the Scala language. That list of contributors also includes Erik Meijer, Greg Young, Martin Thompson, Roland Kuhn, James Ward, and Guillaume Bort. Since it was published, hundreds have "signed" the manifesto.

Odersky created Scala, a general purpose, multi-paradigm language that runs on the JVM, to integrate features of object-oriented programming and functional programming. Typesafe is also responsible for the Play Web app framework, a development and runtime environment billed as "a clean alternative to legacy Enterprise Java stacks." Play compiles Java and Scala sources directly and "hot reloads" them into the JVM.

In 2013 Typesafe acquired of Spray.io, a suite of lightweight Scala libraries that provide client- and server-side REST/HTTP support on top of Akka. The company hoped to broaden the appeal of the Typesafe Platform to Java developers with "one of the best performing REST/HTTP libraries in the Java ecosystem," Boner said.

The Akka team, which now comprises six members ("It's a good size," Boner said), shipped version 2.2 in July 2013. That release included full support for clustering. In October of that year, the team introduced Akka Persistence to allow stateful actors to recover from JVM crashes "in a way that Actors themselves are persisted in memory," the company explained. In April 2014, Typesafe unveiled early preview releases of two projects designed to improve data streaming on the JVM: Akka Streams and Reactive Streams (ADTmag coverage here).

Typesafe has posted an infographic of the history of Akka that shows its evolution, the influence of Scala Actors on its development, the Oz/Erlang connection, the emergence of the Akka Persistence module, and all the creative people involved—not to mention how it got its name. (Hint: It's not an acronym.)

Posted by John K. Waters on 07/14/2014 at 4:33 PM0 comments

Google I/O: APIs and Cloud Platform Tools for Devs on Display

The annual Google I/O developer conference, which wrapped up this week in San Francisco, packed its usual punch with a number of announcements and free stuff for attendees.

We saw the first example of Android Wear software for wearable devices, coming initially in LG's G Watch and Samsung's Gear Live, and later in Motorola's Moto 360. We saw Android TV, which Google will make available to new television sets from vendors like Sony and Sharp.

There was no mention of Google+ in the keynote; make of that what you -- and everybody else -- surely will. There wasn't much talk about Google Glass, either. No skydiver. And no Larry Page on the keynote stage.

In his mobile-focused keynote, Sundar Pichai, Google's SVP of Android, Chrome, and Apps, announced Android One, a new initiative that provides low-end hardware and software to emerging mobile markets, such as his home country of India. And he unveiled the new Android for Work initiative, which will partition personal and work apps on Android and Chrome for added security. (Look for Android at Work in the upcoming Android L operating system update.) And the new Android Auto.

Pichai also dropped some mad stats: a billion "30-day active" users (currently active) of the Android Platform, who send 20 billion test messages and take 93 million selfies per day. Android tablets now account for 62 percent of the global market, and app installs on the tablet is up 236 percent. He also mentioned that this year's conference is made up of 20 percent women, up from just 8 percent last year. Not sure what that means, either, but that's quite a year-to-year jump.

But the big news for developers at this year's show: 5,000 new APIs that will connect Android devices to a broad set of services on the Net and on other devices. Google also released the Android SDK for devs building apps for wearable computing.

IDC analyst Al Hilwa called the Google announcements "an amazing buffet of capabilities and APIs for developers that truly expands the Google ecosystem."

"The reach of the platform to wear, auto, home and TV, as well as connecting them together, really begins to show the connectedness of Android as the leading mobile platform," Hilwa told me. "What came across [in the keynotes] is the expansiveness of the platform overall. I did get a sense at the keynote that Google is talking to the whole world not just to a premium club. Does this mark a transition of the mobile leadership from Apple to Google? We will find out for sure when Apple makes its late fall announcements."

Google highlighted four new Cloud Platform tools for developers:

  • A new version of Cloud Save, a service that enables non-relational, per-user data to be storage and synced in apps with no backend programming required.
  • Google Cloud Monitoring, which uses technology from the company's recent Stackdriver acquisition to provide dashboards and alerting capabilities for finding and fixing performance problems.
  • Cloud Debugger Monitoring, which changes the standard debugging model by allowing developers of cloud-based apps to set "watchpoints" on lines of code, which gives them "a snapshot of all the local variables, parameters, instance variables and a full stack trace," Google says.
  • Cloud Trace Monitoring, a performance tool designed to give developers the ability to "visualize and understand the time spent by your application for request processing," and thus pinpoint bottlenecks.

"For developers there's a lot to play with here," Hilwa added. "APIs at every level will enable a new generation of apps connecting smartphones to other objects in life .... It will take some time for developers to absorb all the new APIs, but we will begin to see the impact of these announcements in the coming year. I expect that new SDK's will be added over time to cover other realms of the IoT world."


Posted by John K. Waters on 06/27/2014 at 2:19 PM0 comments

Eclipse Creates Working Group for Open Source Science Research Software

The Eclipse Foundation's annual Release Train will be in the spotlight later this week, but first a bit of that metaphorical illumination should fall on a new Foundation project. Announced on Monday, the newly organized Eclipse Science Working Group (SWG) is being described as "a global collaboration for scientific software." It aims to bring together groups from academia, industry and government to create open software that can be used in basic scientific research.

Actually, a better word here is "reused." As the Foundation's executive director Mike Milinkovich explained, the SWG is about freeing scientific researchers from the need to build so much software from scratch.

"There's a lack of reusable software components for basic scientific research," Milinkovich told ADTmag. "And yet more and more science projects are deeply dependent on software. The current model seems to be, they get a grant and then immediately start developing single-purpose software from the ground up. The goal of this new group is to create a set of tools and frameworks -- complete building blocks, really -- to help accelerate scientific research."

The SWG's founding steering committee includes Oak Ridge National Laboratory in Oak Ridge, Tennessee; Diamond Light Source in Oxfordshire, UK; and IBM. The SWG website lists 14 total members as of this writing, including Clemson University, Uppsala Universitet, The Facility for Rare Isotope Beams, Marintek, Lablicate, Kichwa Coders, Tech Advantage, and IFP Energies Nouvells.

The working group was originally proposed German programmer Philip Wenig, who works at Lablicate. Wenig, who is the developer of OpenChrom, an open source software tool for the mass spectrometric analysis of chromatographic data, brought the results of an inventory he had done of Eclipse-based scientific research tools, Milinkovich explained.

"It showed just how many groups were reinventing the wheel," Milinkovich said. "He argued that we could do better if we worked together, and a number of people agreed with him."

The current members of the working group will be collaborating on a range of open source projects focused on big-brain science software, such as tools for plotting and visualizing 1D, 2D and 3D data, and managing data for structured and unstructured grids: modeling and simulation software for physical and social sciences, such as physics, chemistry, biology, sociology, and psychology, among others; standard descriptions and definitions for scientific data; and infrastructure software to support scientific computing (e.g.: job launching and monitoring, parallel debugging, and remote project management).

"These are the kind of things that scientists are working with everyday," Milinkovich said. "We think we've assembled a visionary set of organizations here that are focused on the value they can bring to scientific research by collaborating on the basic software building blocks to make this research more productive."

The two initial SWG open source projects are based on code contributions from Oak Ridge National Laboratory and Diamond Light Source. The first is the Eclipse Integrated Computational Environment (ICE), which is a platform for modeling and simulation projects in science and engineering. The aim of the project is to provides a standard set of tools that allow scientists to set up the input model, launch a simulation job, analyze the results, and manage the input and output data. The code is based on technology created at Oak Ridge National Laboratory to develop a computational environment for modeling and simulation of nuclear reactors.

The second is the Eclipse DawnSci project, which defines Java interfaces for data description, plotting and plot tools, and data slicing and file loading. The project aims to provide interoperability of algorithms between different scientific projects. It's based on a code contribution by Diamond Light Source.

Keep in mind that these aren't Eclipse people, but rather experts who are bringing their special expertise to the platform.

"This is not Eclipse tool vendors looking for a way to approach science," Milinkovich said. "These are visionary scientific organizations realizing that they can use Eclipse to solve a problem."

Posted by John K. Waters on 06/24/2014 at 10:58 AM0 comments

GitHub for Windows Gets an Update

GitHub.com this week unveiled an update of the application it launched two years ago to support Windows developers who want to use the Linux-centric code-hosting platform and its namesake revision control system for their projects. The company is describing Windows for GitHub 2.0 as a major update, emphasizing a new streamlined interface designed to help users focus on their work.

"Essentially, we wanted to create a workspace that is as distraction-free as possible," Tobias Ahlin, a GitHub designer and developer, told ADTmag. "In October we did a UI overhaul, just cleaning things up. Then we took another critical look at the UI and really tried to strip it down and reduce the number of menus and options you need to navigate, to get everything you need on one screen, so that it's very easy to use and it's easier to get things done on GitHub. As we say, it puts what you're working on front and center."

For example: In this new UI, the sidebar groups repositories by where they originated, so that those repositories associated with GitHub Enterprise, the on-premises version of GitHub.com, are easy to distinguish from a developer's personal projects, and it's simple to switch between them, Ahlin said.

Along with the cleaned up UI, the application comes with a self-contained version of Git, the bash command-line shell, and the posh-git extension for PowerShell. And it uses the ClickOnce installer.

This update also gives Windows developers new access to features familiar to long-time GitHub users, Ahlin said, including the ability to pick an ignore file template for a project when a repository is created, and option to include emoji and gifs in commit messages.

"We tried to look at what Microsoft has been doing with Metro for tablets and mobile, keeping in mind what's happening with iOS and Android, and then try to take that back to the desktop environment for Windows," Ahlin said. "Because, sadly, Microsoft has kind of neglected the design language around that. So we tried to bring all the best bits back to the desktop environment and create and experience that's feels very fresh.

GitHub, has become one of the world's most popular social coding sites. As I've pointed out before in this space, developers love the Git distributed version-control system developed by Linus Torvalds, and GitHub has played no small role in the growth of that popularity. The service has also enjoyed endorsements from the likes of the Eclipse Foundation, which has begun to allow the hosting of its projects on GitHub to attract new and maturing projects.

GitHub for Mac was released last year.

Posted by John K. Waters on 06/13/2014 at 9:20 AM0 comments

Apple's Swift: Objective-C Without the Bad Stuff

The amount of both mainstream and tech press generated by Apple's annual World Wide Developer Conference, winding down in San Francisco today, always catches me by surprise. It shouldn't, I suppose, but everyone covers this show. I agree with the argument that Apple has earned the attention with its bleeding-edge, category-creating, market-overhauling innovations over the past couple of decades, but it's still true that somewhere around 90 percent of all PCs worldwide are running Windows. Maybe I should look at the coverage of the WWDC as further evidence of the receding relevance of the PC as a personal computing platform.

Among the many announcements at this year's show (covered thoroughly by my colleague David Ramel here), Apple CEO Tim Cook called out the new software development kit (SDK) as "the biggest release since the launch of the App Store." The new SDK comes with more than 4,000 new APIs, and a feature called "Extensibility," through which devs will be able to extend services to other applications via the App Store.

But for my money, the official introduction of the successor to Apple's Objective-C programming language was the biggest news for developers this year. Dubbed "Swift," the new language sheds the "baggage of Objective-C" to provide "an innovative new way of coding for Cocoa and Cocoa Touch," as the Web site puts it. Where Objective-C relied on defined pointers, the Swift compiler infers the variable type. But it keeps such features as well-defined namespaces, generics, and operator overloading.

Apple says the new language will be able to co-exist alongside existing Objective-C files in the same project. Swift is ready for developers now who want to kick the tires, and it will be supported with the next version of the Xcode IDE (now in beta). When OS X Yosemite and iOS 8 are released later this year, developers will be able to submit Swift-based applications to the App Store.

I'm calling this the official introduction because Swift has reportedly been in development for four years. Chris Lattner, director of Apple's Developer Tools Department, says on his personal blog that he implemented the basic language structure in 2010 off the radar. Contributions from others started coming "in earnest" in late 2011, he writes, and the language finally became a "major focus" for his tools group last year.

"The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas," Lattner writes. "Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list."

Of course, Swift isn't the only new (ish) addition to the programming language landscape. Under the category of emerging languages, there's Google's open-source Go and Dart; Red Hat's Ceylon; Opa; and Typesafe's open source Scala.

In fact, IDC analyst Al Hilwa believes we're living in "a golden age of programming languages."

"Computer scientists never tire of creating new languages, and this is illustrated by Apple's latest creation called Swift," Hilwa told me in an email. "There have not been too many examples of single-vendor-promoted languages achieving wide adoption. Most of the popular programming languages that have come to wide-spread use, like COBOL, FORTRAN, C, and Java, have had multi-vendor support. Objective-C was catapulted into fame by the unique disruption of Apple's iPhone, and C# was promoted by Microsoft during its pinnacle of dominance as the language for Windows apps."

Initial reactions to the language seem to suggest a promising future for Swift. As one breathless coder told me, "It's Objective-C with all the bad stuff scraped out." But Hilwa argues that the success of the language will depend largely on how hard Apple promotes it, and how well that promotion is received by the Apple appdev ecosystem.

"It helps Swift that it was designed for ease of learning, that it produces fast code, and that Apple will integrate it deeply with its tools," he said. "But, having looked at it briefly, I can say that despite its many great features, it has a 'best-of' flavor that combines many great ideas surfaced in other successful languages, like Java, JavaScript, and C#. This typically means it has a complexity that may make it easy to learn but hard to master. Still, if a single vendor can generate wide adoption of a programming language today, it is Apple, as it sits at the pinnacle of its platform dominance."

Posted by John K. Waters on 06/06/2014 at 12:32 PM0 comments

2014 Java Survey: Jenkins, Scala, JUnit, Gradle, Maven, Eclipse Among Hot Technologies for Java Devs

Would you be surprised to learn that 82.5 percent of Java developers responding to a recently conducted survey said they favor the JUnit testing framework? Or that 70 percent reported an affinity for the Jenkins CI Server? Or that 69 percent prefer Git for version control? Or that 48 percent of developers reported using the Eclipse IDE? Yeah, me neither. But those were just a few of the stats -- both expected and surprising -- assembled from the latest survey of in-the-trenches Java developers by RebelLabs, the research and content arm of Java toolmaker Zeroturnaround.

This is the fifth year the Estonia-based company, probably best known as the maker of the JRebel JVM plug-in, has delved into the state of the Java developer tools-and-tech landscape with a global survey.

The results published in the 35-plus-page report, which came out last week, were gleaned from the 2,164 software developers responding to questions about what they like, what they do, and what they're interested in. "This survey rocked," said RebelLabs head honcho Oliver White in the report's intro (and his blog). White and his crew got a "better-than-ever responses" this year, he said, and the respondents even donated to charity.

Most of what you'll find in these survey results won't blow you away, but I, for one, like to see the numbers when someone thoughtful goes to the trouble of assembling them. It's a snapshot, to be sure, but it's a crisp one.

Among the survey's more intriguing numbers: Scala was among the JVM languages generating the most interest among Java developers. In fact, 47 percent said they'd like to learn it. Gradle topped the wish list of build tools the respondents would like to learn (58 percent), though only 11 percent reported actually using it. (64 percent said they currently use Maven). And more than a third of respondents said that "getting familiar with" Java 8 was one of their highest priorities in 2015. Also, a huge majority of respondents (71 percent) reported working on Web applications, with 15 percent working on libraries or frameworks, 11 percent working on desktop apps, and on 3 percent working on mobile apps. That last number surprised me, but White explained it in the report this way: "Presumably, the majority of mobile app developers are selecting not Java ME (SE embedded), but rather Dalvik (Android) or iOS."

The cumulative answers to the survey question about which version of Java respondents are using now was edifying: Most reported using Java SE 7 (65 percent), but one in four said they are still using Java SE 6. Adoption of the newly released Java SE 8 came in at 7 percent, but the report authors saw that as surprisingly, given that only a few application servers currently support it.

Most respondents reported using Java EE (68 percent), which confirmed the authors' expectations that the surveyed group was representative of the enterprise Java development segment. Most reported using Java EE 6 (49 percent), and about a third reported using Java EE 7. And here's a surprise: 1 in 6 developers responding to this survey reported that they are still using Java EE 5.

There's lots more in this report, including some fun fact about job titles, more on JVM languages, IDE preferences, and App Server stats. The report also quotes a number of Java jocks and luminaries. My favorite is from German technology consultant Markus Eisele, who, according to his blog bio, works daily with customers and projects dealing with Enterprise level Java and infrastructures:

"Java has been called 'dead' for years. But it's vital and new language versions get adopted with the industry-typical restrained uptake. For both Java SE and Java EE, nearly 2/3 of participants [in the survey] are on the latest two releases. The faster uptake on the EE side clearly expresses how important developer productivity and ease of use are today."

The 2014 RebelLabs 5th Java Tools and Technologies Report is available for download from the RebelLabs Web site. It's worth noting, too, that RebelLabs maintains a collection of over 25 technical publications, also available online.

Posted by John K. Waters on 05/28/2014 at 10:06 AM0 comments

Upcoming Events


Sign up for our newsletter.

I agree to this site's Privacy Policy.