As the winds of digital transformation continue to relentlessly blow, across virtually every sector, development technologies are incessantly evolving and adapting. For this reason, it is critical to be aware of the current trends taking place in your company’s industry, as this will allow you to make better plans and gain a leg-up on the competition. But what then do the experts have to say about the fast-approaching year ahead? Join SPG today as we take a candid look:
What are the most promising trends in software development?
AI & Machine LearningAt the top of our list is the ever-appealing artificial intelligence, which for all of its sci-fi allure, should probably be referred to as machine learning (ML). Nonetheless, according to a 2018 survey commissioned by O’Reilly Media, up to 49 percent of American companies and 51 percent of European businesses are currently looking into ML adoption. This should come as no great surprise, as in addition to enabling powerful features such as chatbots, voice commands, facial recognition and automatic search engine suggestions, the rise of Artificial Intelligence as a Service (AIaaS) is bringing machine learning to the masses. On that note, it is also important to mention here that there is no need to reinvent the wheel. Because pre-made platforms and libraries for data analysis are readily available for businesses (e.g. AWS ML services, Theano, Keras and TensorFlow), any competent in-house developer should be able to handle AI and ML with ease — no need for a maths degree! So with this in mind, without a doubt, 2020 is set to empower organisations with the very best of AI-enabled opportunities.
The IoTThe Internet of Things (IoT) continues to dominate consumers’ homes, with smart lights and meters now more widespread than ever. So much so that in 2018, The Telegraph reported that a majority of business owners (up to 58 percent) believe that IoT adoption will be vital for future success. Even more astoundingly, however, that same survey pointed out that by the year 2020, more than 20 billion devices should be connected to the internet. This is up from 8.4 billion devices in 2017! Of course, not everyone will be immediately on board. Despite these figures, it is also worth mentioning that there remains a lack of common standards and protocols that would enable devices from different vendors to communicate with one another. Nonetheless, good tidings we bring, as Google have actually just announced today that they are partnering with Amazon, Apple and others to create a new standard based on IP!
Progressive Web ApplicationsThese apps may be web-based, but they’re also lightning-fast and blend in seamlessly with their native environments. So if you haven’t yet heard of Progressive Web Applications (PWAs), this would definitely be a great time to step outside in your investigative boots! After all, from retail, to hospitality, to the food and beverage industries, PWAs are being embraced with some truly incredible results. In fact, by the end of 2020, a staggering 50 percent of mobile applications could be replaced by them! Keep in mind, however, that although some native features such as NFC and proximity sensors remain currently out of reach, others like camera and bluetooth have recently been added to the arsenal.
Everything as CodeFor the IT sector, DevOps tools and automating scripts are once again predicted to play a crucial role in 2020. Because DevOps is at its core all about facilitating the delivery cycle, there is a need to treat the entire system as code, as this increases the efficiency of our projects. In practice, developers must store configuration settings alongside the application’s source code, in a repository such as git or svn.
What trends are showing slower growth?
The BlockchainWhile certainly displaying great potential, for a variety of different reasons — but primarily due to security concerns — the Blockchain failed to dominate as quickly as had initially been anticipated. According to a recent report by Gartner, for instance, a meagre 3 percent of CIOs are presently making use of the blockchain in some form within their businesses, and large returns are not expected until at least 2025. Above all, this is due to the fact that the blockchain was treated as a panacea for all corporate maladies, but it is now beginning to find its niche among not only cryptocurrency exchanges, but any decentralised application with low credibility in relation to third-parties (and append-only datasets that include change history). At the same time, it is important to bear in mind that the growth of cryptocurrencies will be likely to slow down significantly in the medium to long term by increased regulatory pressure. This does not mean, however, there is little room for experimentation, so for companies who like to think ahead of the game, especially in the fields of accounting and real estate, it may yet be a worthy investment.
Augmented & Virtual Reality (AR/VR)Similarly, in spite of the exciting opportunities — particularly for the fields of advertising, healthcare, education and retail — AR and VR adoption has hit a few snags along the way. The main problems (also identified by Gartner) are a lack of good user experience design, intense smartphone competition and the difficulty to move beyond a niche market. Still, as 5G technology begins to enter the scene, this could all be about to change. This is because the next generation of mobile broadband is set to provide a 1,000 percent increase in throughput, a 1,000 percent decrease in latency and a 10,000 percent increase in traffic capacity, supporting existing applications in both growth and sophistication.
Which programming language should you use in 2020?On a more technical front, the information displayed below is taken from the latest PYPL index, which attests the popularity of programming languages based on how often their tutorials are searched for.
What are the top programming languages in 2020?
1. PythonDue to its incredible simplicity and ease of use, over the years, Python has been able to establish itself as the technology of choice for machine learning applications. As a result — with more than 28 percent of the PYPL share — it currently takes the top spot as the most studied programming language. So if you’re thinking about bringing AI capabilities into your company’s IT ecosystem, you should probably consider adding Python to your tech stack.
2. JavaComing in second with 20 percent of the total share — despite its recent change in licensing terms — Java has been the go-to technology for the enterprise for a number of years. A true veteran of the software community, the language is best poised to serve businesses in search of longevity, as you are just as likely to find Java programmers today as you will be 10 years from now. For this reason, SPG recommend it wholeheartedly for web projects, enterprise resource planning (ERP) software and customer relationship management (CRM) systems. It is also the native programming language for developing Android applications. Even so, it is always worth taking the time to keep an eye out for incoming alternatives (like Kotlin or Flutter), as technology is constantly in motion and this may benefit your long-term strategy.
4. C#The last of the awesome foursome is C#. Thanks to the ever-increasing adoption of .Net Core and its conquest of other platforms, the technology is poised to become a real game changer. In fact, with the impending release of .NET 5 (which is due to come out in November 2020 and will include cross-platform support for machine learning, data science and the Internet of Things), the programming language has recently entered the list of the highest paying technologies for developers.
What are some other reliable programming languages?
SwiftReleased by Apple in 2014 to replace the now-declining Objective-C, Swift is no longer an alternative to the aforementioned technology, as it is actually the native language of iOS, macOS, watchOS and tvOS applications. As a result, in spite of Apple’s repeated attempts to turn it into an all-purpose programming language — and though it is certainly extremely reliable — its use remains somewhat limited. Next year, we expect Swift to continue facing tough competition from emerging hybrid technologies such as React Native and Flutter (see below).
What programming languages are currently trending?
KotlinThanks to the ongoing Google vs. Oracle saga, also currently trending is Kotlin, which is a great alternative to Java when developing Android applications. Not only is it open source, but it is officially supported by Google, is able to utilise all of Java’s libraries and frameworks, may greatly speed up development tasks and can be used to generate better quality code. Even better, we expect version 1.4 to be released later this spring!
GoOn the other hand, Go — or Golang — is actually developed by Google, and aims to strip down programming languages to their most basic, simple components. Go’s disk and memory footprints are remarkably small in size, affording it better performance than most languages listed thus far. For this reason, especially when it comes to microservices, Go would make an exceptional replacement for Java. At the same time, if you lack computational resources or your product could be labelled time-critical — projects making use of the blockchain or cryptocurrencies would be perfect examples — then Go would all but certainly be fully capable of fitting the bill.
RustLargely due to its emphasis on safety, Rust has also emerged as a great replacement for C++. This is why in 2020, we will probably see it increasingly used in embedded systems, the IoT and even in OS development, as these are all areas which were previously dominated by C.
Which technologies are in decline?
RubyCompared to more modern alternatives, Ruby on Rails has fallen considerably behind the competition. Web requests in particular are processed at alarmingly sluggish rates, and to complicate matters even further, both the Ruby language and Rails framework are no longer being actively maintained. For these reasons, aside from MVP development, we may be hesitant to recommend Ruby for a number of our future projects (although the technology has not yet thrown in the towel and remains the backbone of many business’ apps and services).
ScalaAnd finally, over the last few years, Scala has also taken a tumble in popularity. This is due to a variety of different factors, but to name just a few, compiling with Scala is slow, its tooling is somewhat subpar, there is dwindling community support and it is a difficult language to master. Thus, while this is unlikely to have a major impact on any industry, be sure to factor in all of the problems mentioned above, and if they seem in any way significant, consider switching to Kotlin or Java.
SPG Also Recommend
- For newer projects, switching from MySQL to PostgreSQL would probably be a good idea
- Watch WebAssembly closely, as it might just hold the key to the future of web applications
- Have you already implemented microservices and single sign-on on all your systems? It is not too late to start today!
- Most companies are employing “metro style” as the standard for web applications. It could help your users feel right at home!
- Have you heard about Kubernetes? Many companies are starting to see it as the foundation for their future infrastructures, so you might just want to check it out
- If you’re planning on extending your IT department, this would definitely be the right time to do so
- If you’re using free services or licences from a single vendor (e.g. Apple, Google, IBM or Microsoft), this could pose problems in the future, so keep an eye on any changes in policies and perhaps consider diversification
Privacy & Cyber Security
- Given the California Consumer Privacy Act and the GDPR’s “right to be forgotten” clause, to avoid any serious problems, make sure that you are well aware of the data you hold on former candidates and employees
- In the modern world, it is important to keep tabs on your open source libraries that originate from non-trusted environments
- Data privacy, security and protection are already on the radar of international governments and regulators. This means that many companies will be forced to address these issues and have to rethink their current approaches and strategies. Similarly, it is also likely to generate an increased demand for cybersecurity specialists, in addition to training programmes and products