We look at some of the technical trends we have seen in 2023 and how they will impact 2024
05-12-2023
We’ve taken a
look at the technical trends in 2023 and how they will impact
2024.
Data Analytics
The world of Data Analytics has mushroomed out of all recognition over the last few years; with many organisations now including a data analytics group. The commonly used technologies within this area are Python using libraries such as Pandas and Polars and R. However, these are not the only languages used, for example the Spark framework can be used with Python, R as well as Scala or Java (and indeed Kotlin) for data analytics while Julia is another choice which has been growing in interest and even C# can be used (although this is far less common).
There is a trend towards making more use of existing tooling within a data analytics system such as Qlik, Power BI or Google Looker Studio (aka Data Studio), although often with extensions and enhancements implements say in Python or R.
Generative AI
The big news for 2023 has been the huge growth in interest in AI technologies and in particular in the growth of Generative AI systems as exemplified by the prevalence of ChatGPT in so many places. Such systems are being used to help developers within editors / IDEs, to help with learning new languages and frameworks and to help with creating code in the first place. It is interesting to put a search into google for Generative AI and see the results produced; you will find everything from ChatGPT, through links to Adobe, AWS (Amazon Web Services) to Google itself and Nvidia – it seems everyone wants to jump on the Generative AI bandwagon!
Taking the tools that support the developer within IDEs, we have looked at some of the examples of the code that these systems have generated and while for simple examples them seem to produce reasonable results, beyond that they don't really produce code that we would want to put in front of anybody nor would we want to rely on that code for anything.
The technology is of course still at an early stage, although the pace of development is astonishing. However, we still believe that it will be necessary to understand what the code does in order to sign off on the code whether that code is developed wholly or partly by an AI system. At least for the foreseeable future.
Machine Learning
Of course Generative AI systems are not the only area of the AI world that has been and will continue to have an impact on software development. Machine Learning (ML) systems are becoming increasingly important in a range of languages. there are of course several very popular and important libraries available for the Python programming language such as PyTorch, SKLearn (aka SciKitLearn) and TensorFlow. However, although from a Python perspective it might seem like this is the only choice, a wide range of the most commonly used languages are increasingly being used for machine learning applications including Java, C# and newer languages such as Julia. 2024 will see an acceleration of this trend with machine learning being just another toolbox in the developer’s growing toolkit of techniques and technologies.
Programming Languages
Not much changes and things stay the same seems to be the general feature of programming languages in 2023 and probably for 2024. The older, and very widely used languages, such as Python, Java, JavaScript, C++ and C# seem to still rule the roost when it comes to numbers of developers, jobs and opportunities. This is likely to stay the same in 2024.
Looking at which newer programming languages are still gaining traction in 2023 even after the initial excitement of that languages starts fade it is hard to believe that any of them will overtake the big 3 or 4 languages in 2024. That’s not to say that interest in them will decline or fade, but that it takes a great deal of interest and enthusiasm in a language for it to gain enough traction to start being considered in the same league as say Java or C#. Of those languages Functional programming languages still get a lot of interest such as F# (pronounced F sharp) and Clojure, but they still tend to be fairly specialist languages. F# (initially created by Microsoft back in 2005) is an interesting language as it has been influenced by Python as well as functional languages such as Haskell. Interest in it seems to be on the up!
Other languages such as Go have been climbing the popularity charts in 2023 and will probably continue to do so in 2024. Another language to watch is Kotlin, it is a programming language which compiles to the Java Virtual Machine (JVM) and can therefore run on any JVM platform anywhere; it is in many ways a better Java although it also has been influenced by Scala (taking the best bits from Scala and avoiding the confusing syntax). It is of course now the recommended language for all Android development which has certainly helped interest in the language.
Interest in TypeScript is still growing and 2023 saw its popularity increase. This is likely to continue in 2024 with many more JavaScript developers starting to explore, if not adopt, TypeScript. An interesting alternative to TypeScript is PureScript. Like TypeScript it is a strongly typed language which compiles into JavaScript. The difference is that PureScript is inspired by the functional language Haskell, whereas TypeScript is a superset of JavaScript. Currently PureScripts’ popularity is way behind TypeScript; but it is definitely a language to watch in 2024.
Java is an interest case as well; the predicted demise of the language just hasn't emerged. It may not be number one in all the charts and surveys anymore, but to some extent that’s due to the massive increase interest in languages such as Python and due to its ubiquitous nature - it doesn't appear in training lists or search requests as much because so many people already know it.
Keeping Up to Date
If anything is true it is that you need to keep your skills up to date. Back in the early 80s languages tended not to evolve that quickly and few frameworks were used, so that code tended to be built from scratch. nowadays both the languages and the frameworks that are used with those languages are continuing being developed and defined. It is therefore necessary to keep up to date with the new versions of your favourite languages and with the frameworks being used.
Remember there are a huge number of Java developers world-wide, one estimate we saw recently had the number at over 9 million! Over the last few years, the rate of development of the Java language has significantly increased with the six-monthly release schedule of new versions. Within this has come several enhancements to the language (such as Record types) as well as significant improvements in the performance of the JVM (Java Virtual Machine) and its garbage collector. This will only continue into 2024. Again, I recently saw some (admittedly unpublished performance comparisons) that showed a significant (order of magnitude) improvement in performance for the company in questions applications from Java 21 and a beta of Java 22.
Associated with this topic is that back in the 80s we might reasonably expect to work in just one programming language such as PL/1 or C etc. Today developers are often switching between several different languages within a single project, whether that is Java and Kotlin on the JVM, of C# and Java on the backend and JavaScript on the front end, or Python for lightweight RESTful services and JavaScript and / or TypeScript for the front end, or SQL for database access. This of course means that developers need to keep up with developments across several languages; that is not going to change anytime soon!
Frameworks
One trend that has been true for the last few years in languages such as JavaScript and will most probably continue, is that a popular framework tends to only be in vogue for a few years, before another newer, more flexible, more performant or just more popular one comes along.
In 2023 Node.js (if you can refer to the Node environment as a framework) was still extremely popular (with StackOverflow indicating that it is used by 42% of all respondents in their 2023 developer survey. It will continue to be the basis of many JavaScript applications for the next few years. Of course, React.js is also very popular as is Express (a framework that sits on top of Node.js) and Vue.js. However, previously very popular frameworks such as Angular have dropped down the list with only 13% of respondents using it. Interestingly those most admired by developers are the newer, younger framework such as Svelte. Svelte is faster than framework such as React and simpler to use than frameworks such as Angular. It is already being used by organisations such as The New York Times and Nesta – keep an eye on this one in 2014.
Keeping skillsets up to date with these new frameworks is both time consuming and difficult - this is of course where training can come in either in person or online. There of course exceptions to this, the evergreen Spring is still extremely widely used within the Java and Kotlin world; indeed, Spring is the de facto framework for Java application and service development. Spring itself has been transforming over recent years into an easier to use and understand framework; Spring will continue to be predominate in 2024.
Return to the Office
Another trend that has emerged in 2023 is that of the return to the office. More and more companies seem to be requiring their employees to return to the office for at least part of the working week if not the whole working week. Whether this is a retrograde step or not of course depends on your own person preference and position. If you decided to move to a difficult location due to not needing to commute on a daily basis to the office this may be a problem. However, if you feel that you have lost that person contact factor that comes from being in the office for at least part of the week, it may be a benefit. Whatever, you situation or preference of course, the requirement to return to the office (if only part time) will become an ever more important feature in selecting a new role.
WebAssembly
What about WebAssembly - this seemed to be a topic being discussed everywhere not so long ago, so what happened in 2023. The 'State of WebAssembly 2023' report makes for interesting reading. This report explores the languages which users use with WebAssembly as well as looking at how optimistic developers are about the future of the technology. Unsurprisingly it shows that the majority of developers use WebAssembly for web applications although it might be surprising to see that it is only 58% of respondents who said this. 35% of respondents indicated that they sue the technology for data visualization tasks and 32% for the Internet of Things style of applications. According to the report the most commonly used language with WebAssembly is JavaScript with C# and C++ being runner ups. This is mostly due to the potential performance benefit reported by some users with JavaScript.
Cloud Computing
Cloud computing is here to stay; it has been transformational in the way that services are created in many different programming languages including Java, Python, C#, JavaScript and Node.js etc. This trend will only increase in 2024 with many more developers and applications taking advantage of platforms such as Google Cloud, AWS (Amazon Web Services) and Microsoft's Azure.
IDEs
IDEs are of the course the mainstay of the developer’s world. For many years within the Java and related technologies the key player has been JetBrains with their IntelliJ Idea IDE and its related spinoffs (such as PyCharm, WebStorm and GoLand etc.). However, Microsoft's Visual Studio Code has been growing and growing in popularity and performance. This will only continue, and it will be interesting to see how competition between such IDEs benefits the end user - that is the developers themselves.
Summary
2024 is set to be another exciting year which in many ways may be transformational, particularly with the increased integration of AI based technologies into our everyday working environment and toolsets.
To help raise awareness of challenges and vulnerabilities and ways to reduce risk, we've got a bumper crop of cyber security blog articles. We've also got a robust range of hands-on training courses covering security for non-technical staff and IT professionals
We use cookies on our website to provide you with the best user experience. If you're happy with this please continue to use the site as normal. For more information please see our Privacy Policy.