<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1843331519326053&amp;ev=PageView&amp;noscript=1">

Sagitec-new-logo-white-orange-RGB 2018

Sagitec Blog

Programming Wars? That’s history

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 and .NET. What these languages did was take memory management off from programmers’ hands unlike earlier where they had to compile the source code and send it to machine code where the processor could then execute the code. Another advantage compared to the basic languages was that programmers could create rules for examining repetitive programming tasks and they could do this by examining the compiled code from within the running code itself. 

Programming languages, history of computer programming, JAVA, .NET, Microsoft

Source: https://www.thesoftwareguild.com/blog/history-of-programming-languages/

But it was practically a war between JAVA and .NET for server side programming. Microsoft released .NET as a direct competition to JAVA. .NET, a combination of VB.NET and C#, became the foundation of most Microsoft applications. These languages are still quite popular for many programmers but a lot of progress has been made in this space and programmers today have much to choose from.

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 with .NET and C#. Here are some clear differentiators when you have a solution based on .NET framework.

  • Performance. With newer versions of the platform, Microsoft continues to make the performance of building .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.
  • 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 like .NET. Considering the similarities in the server side programming, the language you use will depend generally upon the stage you have decided for your venture. Today, C# is utilized fundamentally on the .NET Framework, Mono, and Portable.NET usage of the CLI. On the off chance that your product or web application is being worked for Windows, C# will work best with the .NET suite of innovations.

Microsoft operating system market share, Microsoft Windows, Operating System, Linux

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.

Solution features, applications, scalability, application architecture, interoperability, database 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.

Learn More


Topics: Agile Software Development, IT Projects, software migration, Microsoft, Microsoft Azure Government Cloud