News from the World of Software Development – December 2017

base-1Welcome to the final 2017 edition of our news digest, where we train our eye on a few stories of interest to software developers and QA engineers. If you are interested in checking out last month’s digest, simply click on the following link. Hopefully, this month’s edition offers some inspiration for your own projects in the coming year and beyond.

WebAssembly gets your Browser Close to the Iron

The venerable and versatile JavaScript language continues to drive browser-based user experiences to even higher levels. Software engineers leverage a vast number of JavaScript libraries to add more functionality and otherwise become more productive when building web apps. We previously covered React Native, one of the most popular of these libraries.

Now, a brand new and potentially revolutionary tool is gaining steam in the web application world. Called WebAssembly, it promises to provide a significant performance boost to web apps by adding a compiled byte code binary library written in JavaScript or other languages. News about WebAssembly is percolating within the industry, including this week’s article in DZone.

WebAssembly, or wasm if you prefer, essentially serves a similar role as the JVM or .NET, but within a web browser. It replaces JavaScript’s own browser-based virtual machine with its own, and improved performance is the primary result. Most importantly, every major web browser on the market now supports WebAssembly.

The following statement from the WebAssembly FAQ hints at speed boost provided by this new format:

The kind of binary format being considered for WebAssembly can be natively decoded much faster than JavaScript can be parsed (experiments show more than 20× faster). On mobile, large compiled codes can easily take 20-40 seconds just to parse, so native decoding (especially when combined with other techniques like streaming for better-than-gzip compression) is critical to providing a good cold-load user experience.   

DZone writer, Federico Tomassetti, feels WebAssembly, and its improvement in parsing performance promises to bring formerly native desktop applications – like virtual reality or high-end video games – into the web browser. In some cases, a browser can execute these applications today, but wasm speeds up the parsing process, greatly reducing load times.

If your team is working on large high-end JavaScript applications, or even any other language that compiles to wasm byte code, WebAssembly needs to be on your radar. It just might be the biggest news in web development in the last decade. Perhaps you’ll read more about it in a future article here at the Betica Blog.

Artificial Intelligence becomes a Business Standard in 2017

AI and its related offshoot, machine learning, are now commonplace throughout the business world. This software-based innovation helps companies with a myriad of tasks: everything from data science to automated driving. SD Times published an article this week covering the inroads AI made in 2017.

The software development process also benefits from machine learning routines performing in a QA role. It is able to detect, fix, and even predict the existence of bugs. The biggest players in the tech world – Google, Microsoft, and IBM – are all investing a copious amount of resources in AI research as well as practical applications for the technology.

The fact the two major tech industry analyst groups – Forrester and Gartner – both predict the continued growth of AI in the business world in 2018 means you likely encounter it sooner than later in your own software engineering work. Hopefully, AI makes you a more productive programmer.

Keep returning to the Betica Blog for additional dispatches from the changing world of software development. Thanks for reading!

PostgreSQL is a Hot Database Choice yet Again

It seems the venerable PostgreSQL database is garnering a new wave of buzz across the IT industry. Maybe our series of articles on Postgres earlier this year helped contribute to this newfound hipness? Probably not, but modern tech organizations hoping for a cheaper alternative to Oracle while still getting support for NoSQL consider it to be a worthy option.

Let’s look more closely at some of the reasons why PostgreSQL remains one of the hottest databases – relational or not – on the market. Perhaps it makes sense for your team’s next data-centric web or desktop application?

Postgres is actually growing in Popularity!?

PostgreSQL’s increase in popularity caught the attention of InfoWorld magazine, who recently talked about the database’s hot factor earlier this month. In fact, Postgres now ranks as the 4th most popular database in the industry, according to a study by DB-Engines. Not surprisingly, the only three DBs ranked higher are Oracle, MySQL, and SQL Server.

The reasons for the growing popularity of Postgres – especially with younger developers – are numerous. InfoWorld’s writer, Matt Asay notes the improved performance brought by the support for JSON included in PostgreSQL 9.2 and boosted in version 9.4. Another important reason involves programmers growing tired of trying to fit even hipper NoSQL options like MongoDB into solution where a relational database makes the most sense.

Ultimately, in a situation when an old-school DB works best, PostgreSQL’s open source nature is simply more cost effective than Oracle or SQL Server. In fact, Postgres first earned its mojo as a cheaper alternative to Oracle. Still, could this old school database scale fast enough for use in modern web applications?

PostgreSQL and its newfound Scalability

The ubiquitous nature of social networks like Facebook and Twitter puts the onus on modern web applications to be extremely scalable. Most RDBMS options generally provide poor scalability, as did Postgres for most of its existence. Asay notes the introduction of Citus, an extension for PostgreSQL, provides a level of scalability rivaling many of the popular NoSQL databases.

Citus supports Postgres instances across multiple nodes, while providing a distributed model for transactions and SQL queries. These features give this veteran relational database the parallelism required for a massively scalable application able to compete in today’s market place. Take that, Cassandra.

While Citus is available as an open source extension, the company that developed it also offers a commercial version with full support. This is a similar model that EnterpriseDB followed with PostgreSQL itself. Citus provides a great option for shops working with Postgres for development and them implementing Citus for extra scalability before going live.

It also lets companies take advantage of their in-house talent’s database skills without spending on training in the latest NoSQL database options. These bonuses are arguably behind the still growing popularity of PostgreSQL.  Elijah Zupancic‏, the Director of Solutions Engineering for Joyent comments on some of the other core reasons.

“From a developer perspective, it is a pleasure to use. The documentation is wonderful, the data types reflect the types developers work with, and there is little surprising.”

Keep coming back to the Betica Blog for additional insights on software development, testing, and occasionally, databases.

News from the World of Software Development – November 2017

Welcome to this month’s edition of the Betica Blog news digest, looking at a few recent stories of interest to the software development community. With the Holidays rapidly approaching, it becomes time to ramp up the effort to successfully reach your organization’s year end goals. Perhaps the stories within provide a measure of insight to inspire your team? If interested in last month’s digest, simply click on the following link.

Is DevOps’ Maturity Level being exaggerated by CIOs?

We regularly talk about DevOps: its growing adoption rate, the advantages it brings to the software development process, strategies on how to implement it, and more. A recent study by the tech industry research group, Forrester, notes that executives exaggerate the maturity level of their DevOps adoption. ZDNet reported on the study findings earlier this week.

In short, Forrester feels CIOs overstate their progress at implementing DevOps. According to the research firm: “[businesses] are gaining some speed, but the primary benefit connecting development and operations for both speed and quality is still elusive for many.” A major issue hampering full adoption involves the large cultural changes that need to happen for a successful implementation.

Increasing the speed of software delivery is one thing, but sometimes additional velocity comes at a cost in overall quality. This appears to be another issue affecting the perception of DevOps maturity. In fact, different perspectives exist between CIOs and DevOps practitioners as far as the overall success of the practice at their business.

Another reason executives exaggerate their organization’s success level with DevOps relates to overestimating the number of automated processes in place in their software development practice. Automation remains a key indicator of DevOps adding value to a company, according to Forrester.

Ultimately, Forrester concludes that “[f]or an enterprise to implement DevOps successfully, both executives and practitioners need to understand the current maturity state. Executives and practitioners differ widely in their perspectives on strategy, customer experience and progress they have made on their DevOps journey. When pros and executives are on the same page, your business wins!”

Microsoft lets F# target .NET Core Projects

Microsoft introduced .NET Core in August, an open source version of its software framework; an example of Redmond’s friendlier stance towards the open source software community. The preview version of Visual Studio, the company’s flagship IDE, allows F# programmers to target .NET Core as well the standard version of the framework. News about this new VS feature appeared this week in Visual Studio Magazine.

F# is Microsoft’s largely functional programming language that includes a measure of object-oriented and imperative methodologies. The F# Software Foundation also contributed to its development and produced an open source compiler for the language.

Microsoft’s Phillip Carter commented on the new F# support for .NET Core. “Finally, we are laying the groundwork for a long-term effort of migrating all F# projects to the new project system that .NET Core and .NET Standard projects use,” said Carter. Microsoft maintains a repository for their open source F# compiler and other related tools on GitHub.

Uses for F# abound; the language is especially known for its brevity and ease of maintenance. For example, Credit Suisse relies on the language for writing quantitative models for the financial industry. Other applications include asset portfolio optimization, machine learning, business intelligence, and more.

Hopefully this edition of the Betica Blog news digest provided some insight to help in your daily duties. As always, thanks for reading!