Kotlin: Can it compete with Java?

Java has held its position as the dominant programming language for developers for years now, but a new report suggests that Kotlin could be taking the lead for mobile development.

 

The study, released by Skill Up this year, revealed that 71% of its respondents believed Kotlin was a serious competitor to Java, in spite of the fact that it didn’t make the list of top languages favoured by developers overall.

 

Kotlin goes from Strength to Strength

Released back in 2011, Kotlin has been gradually growing its reach, and is today beginning to garner mass appeal among engineers. Last year, Kotlin became fully supported by Google’s Android OS, and the compilers of the Skill Up report predict that it could be competing even more closely with Java by the end of the year. This recent backing from Google seems to have increased programmers’ confidence in Kotlin; the report even suggested that Java should “beware”.

 

The rest of the Report

The report also showed that the most popular programming languages overall were JavaScript, Python, C#, and SQL. Java remains the most popular for mobile development (for now at least) whilst Python seems to be the language of choice for the highest-earning app developers. Meanwhile, C# emerged as the favoured language for developing desktop and enterprise applications.

 

In other areas, though C# took a dive – the report found that, overall, C based languages have declined in popularity “in favour of languages that can write more easily for the web”. The authors went on to suggest that “Only among desktop developers and game scripting does C# still hold the top spot”.

 

The survey also asked its respondents about development tools. Preferred tools for mobile development included: Android Studio, Xcode, macOs, Xamarin and iOS SDK. Of these, Android Studio was the most widely used, with 39% of those asked utilising it. Xcode, on the other hand, was used by only 17% of the survey’s 8,000 respondents. Of developers in the highest-earning category (those making $70,000 dollars or more), however, 50% used Xcode, iOS SDK and/or macOS.

 

For enterprise and desktop applications, the top tools were found to be .NET, Visual Studio and Java EE. The most commonly used databases were MySQL, SQL Server and SQLite. A number of app developers also reported finding uses for Swift besides mobile development.

 

Programming for the Web

The most popular languages for web development overall were JavaScript, HTML/CSS, PhP, Python, and Java. Interestingly, though, the report suggested that app and web development were being thought of less and less as separate categories. In fact, web and app developers were found to use largely the same toolchains. This may be because, more and more, “working in tech also means working with the web”. As more apps migrate to the cloud or browser, knowledge of the web becomes increasingly vital. The increased sophistication of today’s websites has also been a factor leading to greater emphasis being placed on knowledge concerning web development.

 

When it came to front-end web development frameworks and tools, the report found that JQuery, Bootstrap, npm, Angular and Webpack comprised the most widely used. The most popular back-end tools included Node.js, ASP.NET Core, Express.js and Laravel.

 

Security

For systems administration and security, Python and Brash were found to be the most popular scripting languages, followed by JavaScript, Shell, and PowerShell. Wireshark, Nmap, Kali Linux and Metasploit were found to be the most widely used security tools. When it came to virtualization and system administration, the most popular tools were Linux, Windows OS, Docker, Ubuntu Server and Windows Server.

 

Respondents also thought that security was vital to the further development of IoTs, and that most organizations do not treat the cybersecurity threats with enough seriousness.

 

Data

For looking at data, Python continues to be the language of choice, closely followed by JavaScript, R, and SQL. The most popular data tools, frameworks, and libraries were Excel, NumPy, Anaconda, and Pandas.

 

Respondents predicted that the next big developments for data will be TensorFlow, machine learning, and deep learning. Big Data is also expected to inspire new breakthroughs – 83% of respondents said they were excited by the possibilities afforded by quantum computing. As it stands, the top cloud provider for Big Data is AWS.

 

General

Below are some of the report’s more general findings:

  • The majority of respondents to their survey (65%) believed chatbots and UI to have a stable future in web UI space.
  • Developers seem to feel a sense of kinship with one another – 72% felt they were part of a community with other programmers.
  • 60% of developers said they were happy with their jobs.
  • Only 6% of respondents claimed to be very dissatisfied at work.
  • The vast majority of developers – 86% – believed that soft skills, such as communication and teamwork, were vital to their professional development.

The report concluded that “Only one thing is certain in the world of tech: change”, adding that adaptability is the hallmark of a successful career in the field.

May’s top 10 stories about Java & associated technologies

There is no doubt that May has been a busy month for Java and its associated technologies, and there have been many stories in the media about it. This is largely due to the new Angular v6 framework, as it is going to have a great impact on developers. We have put together a list of the top Java stories from May, to give you plenty of interesting information to read.

 

Implementing a switch case statement in Python

This is a powerful tool when it comes to having as much control as possible in programming. This article discusses exactly how you can make the most of switch-case statements in python.

 

Tricks for SQL

This article discusses a series of ten tricks for SQL that you almost certainly wouldn’t have known about before. The article is incredibly readable thanks to the writer’s humorous take, meaning that this is sure to be an enjoyable as well as educational read.

 

Angular V6, the RC phase

Although the release date for Angular V6 has changed, it is still expected to arrive fairly soon. The closer the release date draws, the more we start to learn about it, leaving us with great anticipation about the phase that is almost here.

 

REST services – a Spring Boot tutorial

Here, users are taught how to create a REST-based microservice on Spring Boot. It is important that platforms are able to support the increasing traffic that the internet age brings with it, and using more than one host is a good way of doing this. Microservices can help with this, and can encourage speedier development cycles.

 

Apache NetBeans

If you currently use NetBeans with JDK, you may be disappointed to hear that IDE 8.2 will not support JDK 9. If you are one of the many people who uses this at present, you will need to take the time to think about a solution and an alternative for your current approach.

 

New developments with Angular 6

There are lots of new developments with the upcoming Angular 6 release, including the ability of the CLI to automate tasks which would have been particularly tedious previously. There is now also the ability to build npm packages.

 

How Java FX can be used effectively in the real world

Back in 2015, a session was held about the real world applications of Java FX. Many different apps were shown here, that had been developed specifically for their customers, and plenty of development news was shared, too. This article provides an effective summary of what was discussed at the event.

 

Be wary if upgrading to Java 10 from 8 or earlier

Java 10 is a seriously recent release, so much so that users are still taking the time to think about what has changed, and what it might mean for them. The change may feel different depending on which version you were upgrading from, and it seems likely that you will struggle more the further back you are in the versions. Those upgrading from version 9 will have the smoothest transition.

 

Angular 5 updates

There are many innovative changes in Angular 5 for you to make the most of. This article takes a look at some of these, and even speculates on what you could expect to see from the next version, too.

 

Java machine learning libraries

Many companies are struggling to find enough people who are able to code for ML. Luckily, there are lots of machine learning libraries, and this article puts together a list of the top 5 for you to peruse.

2018’s Most Popular Programming Languages

The most widely respected rating index for the languages used in programming, TIOBE (The Importance of Being Earnest), has recently released its latest figures for popularity of programming languages in 2018. Like research carried out previously, Java remains at the top of the list, being closely followed by C and C++. Continue reading 2018’s Most Popular Programming Languages

It Started with a Line

Since the dawn of civilisation, humans have communicated in a wide variety of ways.  It is thought that early man (and woman) used a series of grunts to indicate their desires.  This may still be the case!

Then came the art of story-telling through the form of drawing.  Genius!  Not only did it provide entertainment for the Neolithic age, it also gave the archaeological fraternity a reason to get over excited and creative. Continue reading It Started with a Line

Verticality Challenge

We work in a competitive environment.  We don’t compete against each other, but we love a challenge.  And, oh boy, what a challenge.  Grendon, a small village nestled in the glorious Northamptonshire countryside, is the perfect starting point.  Via three alternative routes, we are heading back to our offices in Strixton – an even smaller village still in the Northamptonshire countryside.

Why are we doing this?  Why not?  Each of us will be gifting funds to a pot.  The winner of the challenge can then donate the whole pot to a charity of their choice.

Continue reading Verticality Challenge