The early days of computer programming were quite daunting for everyone. Different types and makes of desktops and PCs had their own unique features and architecture and computing power was expensive. This forced programmers to create specific machine instructions so that different machines could understand and interpret the code. This proved to be slow and tough for programmers. When Object Oriented Programming (OOP) languages came into existence, it helped programmers to solve many problems instead of spending time on writing machine instructions.
The early 2000’s were a period of rapid technological advances. There were major breakthroughs in mobile communication, wireless technology and faster and inexpensive computers. It was around this time that programmers had only a couple of options to choose from to build solutions catering to the rapid changes in technology.
There were two main languages that became quite popular in the early 2000’s – JAVA
Source: https://www.thesoftwareguild.com/blog/history-of-programming-languages/
But it was practically a war between JAVA
Though Java is a much older language, both have a lot of commonalities and both their origins are attached to removing the limitation of earlier programming languages. Both are object oriented, which among other advantages makes the code modular, allowing reusability and even using dependencies from external coders to hasten the development. Both can be used for a wide variety of platforms like web, mobile or desktops.
There were certain advantages in using Java – the fact that it could run on Linux machines made it very popular early on with the open source supporters.
On the other hand, Microsoft has made significant strides over the years
- Performance. With newer versions of the platform, Microsoft continues to make the performance of
NET Core applications faster. In the inner loop where you can change the source code and restart the application, the speeds have reached high standards now. This makes the performance of the solution better.building . - Lower the Barrier of Entry and ReachToday there are shared APIs across
the . NET and Microsoft universe that makes it easy for programmers to share code. It is also making it easier to use new tools, reference other platforms like Linux and their dependencies. The open communities also help in today’s sharing economy. - .NET Core and Cloud. One of the biggest advantages
of . NET today is its easy integration with Microsoft Azure. Cloud today is dominating many businesses and the Microsoft universe is making it easy with better tracking, logging and diagnosing errors in the applications running on the cloud.
Today, Microsoft and its operating systems dominate the world markets that makes it easy to integrate with Microsoft programming platforms
Source: https://www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0
On the client side programming, mostly Javascript is used. The main purpose of scripting languages was to provide client side validation or to write minimum functionality for client side (browser). However modern applications such as single page application using MVVM architecture require greater amounts of JavaScript code. MVVM architecture (Angular JS, KnockOut, Kendo etc.) provides a lot of advantages over the traditional approach but it is based on JavaScript. To address the shortcoming in JavaScript programming, Microsoft came up with TypeScript that creates the JavaScript code and provides type safety and other object oriented programming features that increase the performance, stability, and maintainability. Typescript gives the compile time error rather than runtime.
Relying on technologies presents many challenges, especially when you don’t have a clear roadmap. Programmers might be biased towards using a specific program but good developers out there realize that a programming language is just a means to an end; of getting the maximum business value. So the question in the beginning of choosing a solution or a platform is not what programming it is built on but what business benefits it provides.
In the government industry, we’ve watched the rise and fall of technical platforms, product strategies, communication channels, and – even entire companies. We’ve seen large information technology (IT) investments completely abandoned. Worse – we’ve seen pension and unemployment insurance clients trapped on platforms that don’t scale with no clear path forward. We witnessed frequent shifts in core IT skills, key employee turnover, company-wide layoffs, and new security threats never before imagined.
In our experience, it is better to choose a solution that solves business problems and has a robust framework, on a scalable technology. And a good framework has these fundamental features irrespective of the technology used.
We advise our clients to choose a solution that solves these business challenges and addresses issues like scalability, interoperability, flexibility, agility, and reusability – irrespective of what underlying technology the solution is built on.
Do you think business benefits should be the prime objective to choose a solution? What are your experiences in this regard? Do write in, we would love to hear your views.
If you want to schedule a demo of any of our solutions, click below.