SOLTECH Certified By the Women’s Business Enterprise National Council Learn more
Home » Software Development » What Are The Top Custom Software Development Languages?

What Are The Top Custom Software Development Languages?

If you’ve been around the IT field much, you’ve likely been involved in several debates on the topic of programming languages and tech stacks. These debates can be quite passionate. Even debates where people are open to alternatives can become contentious. It can seem like the passions people have for their favorite sports teams. There are hats, tee shirts, conventions, social groups, etc. That list is identical for sports and programming languages. Though there are probably more laptop stickers for programming languages than sports teams – maybe. There’s nothing wrong with passion, and it makes for great discussion, but for a business, how does one look beyond passion to selecting a programming language or tech stack that will support business, not technical, objectives? With cooler heads prevailing, experienced software engineers and architects presented with the question on language selection will often surprise you as the choice for their business, at that point in time, is likely to be different than the programming language or tech stack where their passion lies. Most businesses are interested in programming language maturity, stability, productivity, support, and future viability. It’s a serious investment. It’s a vehicle for delivering a competitive advantage. It’s not about helping a programming language platform mature.

The Right Programming Language

So, how does one select the “right” programming language for their business? Unfortunately, passionate debate aside, it can still be challenging. The first place you might look is at one of the many reports that rank programming language popularity. Some of the more popular rankings include:

There are others as well. You may already be familiar with these rankings. If not, they each use differing information gathering techniques, so the results vary. Similar to how you might go about searching for the best Crème Brûlée recipe, you learn a bit more by reviewing each programming language survey. The list of programming languages presented in these surveys is quite impressive. However, for most businesses, the trendy or up and comer programming languages, many of whom are in the single percentage digits of use or less, are not the safe bet. You’re running or writing code for a business. You’re not in a university comparative programming language study.

Most of the programming language surveys maintain their reports for years. What’s interesting to note is that the top five to ten spots have generally been held by the same languages. Their positions may fluctuate, but the overall list is relatively consistent. As a starting point, considering one of these programming languages is a reasonable and logical approach. Keep in mind that we’re talking about business applications. There are many niche applications that require very specialized languages. Those applications may use a language much further down the list. For typical business applications, considering one of the top five or ten languages in the survey is a good place to start.

Step one complete. You’ve narrowed it down to five or ten languages. It’s of some help, but it’s far from a final selection. Aside from the technology choice itself there are multiple influential factors that come into play.

programmer-on-computer

Full Stack Engineers

Is a team comprised of full stack engineers important? Here, the definition of full stack means engineers who can code for applications where the front end and back end are separate applications (e.g., a web front end, communicating with one or more back-end services). While there are many very good, mature back-end programming languages, currently there’s one predominant front end programming language platform – JavaScript/TypeScript. If having engineers work in vertical slices, from user interface, through service layer, to database of an application is a top priority, JavaScript/TypeScript may be the best choice. Finding engineers who can handle vertical slices where JavaScript or TypeScript are used on the front end and .NET, Python, Java, etc. are used on the back end is going to be a challenge.

Polyglot Microservices

In this day of microservices, many will state that individual microservices can be developed in any programming language as, if implemented properly, they are completely independent of each other. This is a true statement. In reality, this can be very challenging. If a team is developing microservices in .NET and another in Java, and yet another in TypeScript, i. It becomes a significant challenge to realign those teams to meet business needs. What if the Java-based microservice service is the basis for new features that can advance the business? If necessary to meet the challenge, how effective will the .NET or TypeScript engineers be in aiding their Java teammates? They would likely do an adequate job, but it’s not their strength. Timelines will extend, and a lowest common denominator approach to implementation will become the norm. The guidance here is to stick to as few programming languages as possible. At the very least, one for the front end and one for the back end. There are always exceptions, but minimizing the number of technologies involved always gives a business the flexibility to react to competitive opportunities.

Staying the Course

It may seem an obvious question, but what programming languages are currently in use? For good or for bad, it takes a lot to justify an application rewrite and more so to replace a programming language and tech stack. That means that whatever is in place is where you’ll likely want to stay. There may be evolutionary plans to rewrite an application but is it worth the investment to either have parallel teams with different skillsets replicating each other’s work or to evolve the application to a later version of the programming language already in use. If you’re looking at the top five or ten programming languages, for most organizations, the best bet will be to ride the evolution of the technology currently in use. As has already been mentioned, it’s rarely about the shiny new technology. It’s about value to the business. If any of the top five to ten programming languages are in use, it would be a difficult business decision to make the switch to any of the others.

track-course

Supply and Demand

The economic laws of supply and demand are very relevant in the IT industry. The more widely a programming language is used, the more likely the pool of available talent is larger. Ubiquity in programming languages stems from their use by many applications. The more applications that are written in a given programming language, the more engineers there are. This doesn’t necessarily mean that developers proficient in one of the top five rated programming languages will be much less costly than others, but the pool of talent is larger, and often that’s a key factor for a business. Can the business ramp up quickly to meet a certain demand? That is the question. At the same time, engineers working in a commonly used programming language for business applications will likely be more affordable than engineers using a niche programming language lower on the rating scale.

Ecosystem

The ecosystems surrounding programming languages can be difficult to navigate, but it is an important aspect in selecting a programming language. There are multiple definitions of a programming language ecosystem. Here, we’re defining a programming language ecosystem as industry and community support of a programming language. This may be beyond the de facto owner of the language (e.g., Microsoft with .NET and Oracle with Java). It may also be those invested in advancing programming languages considered less centrally controlled such as Python or JavaScript. The health of an ecosystem can be measured by support of a language beyond its core feature set. Issues that come into play here are the number of mature support libraries and frameworks developed independently of the language’s originator, local Meetups/Birds of a Feather gatherings, and a sense of community around the technology. These items are all a bit vague in their definition, but gathering this information is important. At the same time, there is a more concrete gauge of ecosystem health. Relevant programming languages and tech stacks have active community involvement. However, underneath the altruistic nature of community involvement, large organizations will invest in community involvement where it suits them. It can be perceived as somewhat disingenuous, but if a large organization is investing in contributing to the community, it sees value in that technology and is willing to advance it in such a way to grow the community. In turn, many who make investments in a specific technology gain from the contributions of those who have a financial interest in the viability of the technology. It’s a bit muddled, but to break it down to its core, follow the money. Ecosystems with heavy involvement by organizations not considered core to the specific programming language are likely to be sustained for some time.

The Challenge of Selecting a Programming Language

It is a challenging task to select a programming language or tech stack. The selection is most often not about a specific technology. It’s about business objectives – as it should be. Debating on the right choice is a worthy exercise. However, that debate should focus on what’s best for your specific business case, not on what language is making it’s way up the hype curve. With all the passion that surrounds programming language and tech stack preferences, the reality is that the wise choice will be one of the top ranked programming languages with their maturity, support, and broad ecosystem. It may feel like an anticlimactic, boring choice, but a key aspect to running a business is stability in its supporting systems, and supporting business goals is the fundamental purpose of a programming language.

ebook-pillars-wide


Ray Elenteny

Solution Architect

ray-elenteny

Ray Elenteny is a seasoned Solution Architect with an impressive career spanning over 35 years in the IT industry. He finds great fulfillment in leveraging his vast experience to guide organizations in delivering top-notch applications that generate substantial business value. Ray’s enthusiasm for software engineering has been a driving force throughout his career, and over the past 10 years or so, Ray has taken a keen interest in the cultural and technical dynamics of efficiently delivering applications.

Drawing from his extensive experience as a Solution Architect, Ray shares his expertise through insightful writings that cover various aspects of software engineering, Kubernetes, application development, and the essential cultural and technical factors that contribute to the successful and streamlined delivery of high-quality applications. His writings provide valuable guidance to individuals and organizations seeking to optimize their application development processes and maximize business impact.

Tell Us About Your Need!

GET A FREE CONSULTATION

GET A FREE CONSULTATION!