New technologies vs old ones. What stack to choose for your project?

29/05/2019

New technologies vs old ones. What stack to choose for your project?

As a CEO or CTO you have to choose a technology for your project. But how to start and pick the right stack?

Is the most common always the best? Apparently ‘old is gold’ - but does it apply to programming languages? Are new technologies always associated with significant risk? Should you go with PHP, Java, Ruby or Python for your web app? Do Ionic or React Native cross-platform mobile apps compromise quality and performance? What technology should I choose? If you’re a CEO, a CTO or any other stakeholder of a digital product that is about to be built, these questions probably sound familiar. It’s easy to get confused and distinguish the pros and cons of the options that you have if you’re not a developer. Each technology has its strengths and weaknesses and you wouldn’t want to burn your budget on code that is not going to ensure your business with scalability, stability and further development opportunities, would you?

Community behind the language

Obviously, the stronger the community behind a language the better. Strong community means a lot of free resources for developers to learn from and many ready-to-go open source libraries that can easily be implemented to your project saving you from writing everything from scratch. But it depends if strong means large in numbers or active in participation. Obviously, technologies such as Basic or Cobol, that are 50+ years old, gathered a lot of resources over the years of being out there, but what if the community isn’t very active anymore? Trends, standards and problems in programming evolve exponentially. An active network of support is often a huge time saver for developers when they face new complex problems and can count on other programmers’ support on Github, questions and answers sites like StackOverflow, Medium or Reddit. Some old languages, though, keep constantly growing. For example, Python, Java and Ruby have been created a few decades ago, yet, in Github’s recent rating, they are among the top 10 fastest growing languages in the world. The same report also assessed how many developers use each language. The findings state that the most used languages are Javascript with 2.3m programmers working with it, Python - 1m, Java - 986k, Ruby - 870 k and PHP - 559k. The communities of younger technologies like e.g. Rails, Go or JavaScript frameworks like Angular, Node or React are surely active too and programmers keep contributing their work and sharing their solutions. For instance, React Native used to be a library of a set of tools for writing natively rendering mobile applications for iOS and Android but, thanks to the intense engagement of its contributors, it has recently started being considered a framework.

Finding developers for your tech stack

At the end of the day it’s people who write the code for you and you need to find them. According to Triplebite’s recent report the most common languages in terms of the number of developers are Python, Ruby, Javascript and Java but it doesn’t necessarily mean they are the easiest ones to recruit. Before you choose a technology, consider assessing the situation on the IT job market and check the ratio between the demand and the availability of developers specializing in the technology that you want to choose for your project. If you want to hire developers in-house, check your local job market but, if your organization is ready to cope with remote collaboration and time difference, research the opportunities of partnering up with an offshore agency that can often be a more cost-efficient solution.

New always comes from the old

The history of programming started from decimal and binary languages that are only understandable for machines. As languages developed, there was more and more ‘syntactic sugar’ added to them making things easier to read and express. It made them human-readable and ‘sweeter’ to work with. Modern high-level languages are very different from one another and are ruled by completely different standards, but they have a lot in common. At the moment, no matter what problem you’re trying to solve, the logic remains pretty much the same, despite the technology. Therefore, in most cases, you can build your product in whichever popular programming language you want and functionally they will be the same. Although, they will not respond to your business goals the same way. Some languages are more stable than others, some are better to use for certain sectors, like e.g. FinTech, or technologies like AI, machine learning or blockchain. Ruby on Rails, for instance, is a very scalable technology for quick application development. It’s very comfortable to work with (you can read almost like a book), it absorbs changes easily, has really good testing and test automation that assures high quality and lets you develop your product rapidly. That’s why we love it so much!

Old isn’t always outdated and new isn’t always promising

As you can see, it’s not so much about the history of the language itself, but rather its popularity and development. Some new technologies such as Ionic or React Native are very young, but they gain popularity rapidly thanks to the fact that they are a very cost- and time-efficient technologies that allow you to build your mobile app for all major platforms on one code base fast. And, on the other hand, some old technologies, such as Python or C++, never age and are still widely used and persistently developed further.

CEO/CTO & CO-FOUNDER
The Founder and CEO of The Masters.io. He's been sitting in front of his computer since the age of 6. Participant of multiple Hackathons. Passionate about technology and programming. He believes that the only way to achieve great results is hard work. And craft beer.

Want to run your own project?

Contact us