Languages have created a boundary between frontend and backend developers. Developers have found themselves a sense of identity with the languages they prefer to work with - markup and scripting languages like HTML and Javascript would mean you work on the frontend of applications. In contrast, programming languages like Java or Python would relegate you to implementing an application’s back-end services. With these boundaries, developers can improve their expertise and focus on the languages they enjoy working with.
Recently though, research has shown that loyalty to one chosen language is no longer the trend.
In 2019, Stack Overflow conducted a developer profile survey, where developers were asked to identify their roles. 51.9% of developers identified themselves as full-stack developers. This year, the number has increased to 55%. What’s worth noting is that in Stack Overflow’s 2018 survey, only 48.2% identified themselves as full-stack developers, with backend beating the numbers at 57.9%.
With this, it’s evident that developers are becoming more flexible with the languages they work with. More people are writing code with more than just one language to integrate the best solutions when building a product. When multiple programming languages, frameworks, services, and databases are being used to develop products and applications, it’s called polyglot programming.
But can developers without time, resources, and expertise to use multiple languages still be capable of polyglot programming?
Yes, they can. Polyglot programming can also be achieved through existing frameworks and platforms that allow developers to do more with a familiar language. For instance, front-end developers who usually work on the design and UI would now create full-stack applications using only front-end languages through low-code platforms. These platforms could also contribute to the growing number of full-stack developers.
Polyglot for Enterprises
Businesses can benefit significantly from a team of polyglot programmers under their wing. Being technology agnostic can make their teams become more creative and pick the right tools for the job. This helps make them more efficient, productive, and build better products for the business organisation as they go along.
What are the ways an enterprise can benefit from a team capable of polyglot programming?
-
Choices When a team is capable of polyglot programming, they are given more than one option to solve a particular problem. An array of different languages are available for them to choose from and can cut the time spent on looking for ways to make one specific language work for the problem.
-
Better Solutions Polyglot programming can give developers a more flexible approach when presented with a problem. Not only do they work with a language they are most comfortable working with, but they will be able to choose the best language that will best suit to work around the problem as well.
-
Increased Performance As time spent on choosing the right stack to solve the problem is reduced, development time is also lessened. When the development time is decreased, the code base is simplified. It becomes easier to maintain, software quality becomes better, friction is reduced, and you get to see an increase in productivity and overall performance.
-
Full-stack Team Polyglot programming helps blur the delineation between frontend and backend developers in your organisation. When you work with polyglot programmers, you work with a full-stack team that is knowledgeable and flexible enough to work with different languages when building products.
Martini and Polyglot
Martini is a low code platform that helps reduce (or even eliminate) repetitive and redundant functions that are often needed when implementing API services, manipulating data, and securing an application. Low-code makes application development more manageable, as developers are presented with a drag-and-drop interface for standard methods and functions.
Still, low-code in itself can only do so much. Low-code doesn’t exist to replace native programming, but it’s there to help developers maximise their time building products. It’s a solution that gives businesses more opportunities to test their products in a shorter time frame. That being said, there will be times when coding would still be needed.
To enhance its low-code capabilities further, Martini now provides support for polyglot programming. With this new integration, Martini v.1.2.0 now supports Java, Groovy, JavaScript, Python, Kotlin, and Bash.
Now, the whole development team can start taking advantage of polyglot development:
-
Mix and match talent on projects using a developers language of choice;
-
Front-end developers can get involved in the full lifecycle of API development, manage and manipulate data, integrate applications or build workflows;
-
DevOps can consume APIs from public cloud providers and automate tasks in Bash;
-
Data scientists can write expressions and functions in Python to analyse and manipulate the data required for data streaming and machine learning application;
-
Developers can use any language they’re comfortable with to execute custom functions.
Conclusion
Polyglot programming is about providing choice rather than dictating a particular programming language. This choice allows flexibility to both the developers working on a project and the IT manager that allocates resources to a project.
With polyglot programming, the IT manager has greater flexibility to select resources from the talent pool available to work on a new project. Meanwhile, the team assigned to the project can choose a programming language that they are familiar with what is best suited to execute a specific function or service.