First Steps in Code: Finding the Ideal First Programming Language for You

A Practical Guide for Developers

Agada Truelife
5 min readJul 23, 2023
Photo by Tim van der Kuip on Unsplash

Just like everyone has their strengths and flaws, programming languages do to. However, it’s up to the developer to choose the perfect language, framework or tool for whatever project they embark on.

Sometimes, we feel more at ease working with languages we are more comfortable with but they may not always be the best choice for your use-case.

Let’s look at a few practical examples :

  • Adrian wants a simple application that tells the time but you chose to go with Python for your application. Now your simple application takes an amount of space in the device that wouldn’t normally be used if you used a Native Language like Kotlin or Swift.
  • Your boss wants you to build a simple solution for charting the sales of the company for the year. Python would be probably the best solution but if you went with a language like C++ instead you’d still be able to get the functionality but with double the lines of code.

What am I trying to illustrate? The need to start up your project with the right programming tool.

Knowing the right tool to use for your project enhances performance and reduces development time.

I’ve summarized the guidelines for choosing the right programming language using the acronym PASTEL’S ION (not very intuitive, I know but that’s about the best acronym you can get from a human 🧩.)

P — Performance ⚡

Is your project runtime crucial? Then this should be Nō 1 on your checklist. Performance is everything for most public applications so you should ensure your application doesn’t take up too much memory or take too much time to execute.

A — Availability of Resources 🧺

Don’t choose a programming language just to find out halfway through that the language doesn’t support a feature like plotting graphs or something like that. This is mostly why Python is usually a preferred choice alongside JavaScript because they are two in a few languages that can actually do almost everything and quite efficiently at that.

S — Scalability Potential

Can your programming language reach for the stars 🌟? Imagine if Mr. Zuckerberg had to rebuild Facebook with a different language each time the number of users doubled, that would be a nightmare for everyone involved because a different language is unlikely to give the same look and feel and even if it does it would be very expensive, which is one of the most hated words in the world by the way.

Always make sure your choice language can meet up with your modifications for your application in the future. It should be able to handle larger data, larger server load and everything in between.

T — Time Constraints

Depending on the amount of time you have to develop, you might want to stick with a programming language you know already because some languages have a steep learning curve but if it will make a lot of difference in the end product, you could dedicate a few more hours to get the extra work in to deliver a seamless experience to the end user so it’s a two-way street 🛣️.

E — Ecosystem Maturity

A Totally Unrelated Photo by Vinit Srivastava on Unsplash

Unfortunately, a great programming language can lead to a terrible experience if you don’t chart out the availability of third party tools and libraries and of course an engaged community.

Leaving this out of consideration would make learning quite difficult, getting answers to questions quite tedious and “expensive” would be a word you’d get used to very quickly. That’s why experienced developers wait at least five years before including infant languages in their major projects.

L — Language Suitability

This is quite obvious but I’ll include it anyways. Your programming language should meet industry standards for the application. For example, you can’t be building an application like Instagram and your application takes like five seconds to load up each post.

S — Support Community

I touched this a bit before but I felt it needed more elaboration. Stack Overflow is currently the best developer forum the internet has to offer but if you take enough time to notice, there’s more support for Python and JavaScript than any other language.

Stack Overflow’s 2023 Survey showed that 63.61% of users know JavaScript , 49.28% of users know Python but only 0.99% know Erlang. This might be totally okay for experienced developers but as a beginner, you’ll need all the help you can get.

With about 90,000 developers taking part in the survey, there are about 56,700 developers that may be able to help you with any question you have concerning JavaScript, 44,300 in the case of Python and only 8,900 in the case of Erlang.

Are you beginning to get me now?

I — Integration Possibilities

Photo by Alexas_Fotos on Unsplash

In the world of development today, integration is everything. Whether it’s connecting to a Database System like Firebase or using a Software Development Kit of a service like OpenAI’s ChatGPT, you’re language should be one that’s supported by most developers.

JavaScript, Python, C++, C# and Java are the shining wizards 🧙‍♂️ here since they’re the most common programming languages.

Also, some programming languages are easy to integrate with other languages. For instance, Python can be integrated with C for projects where speed is key 🗝️.

O — Operating System Compatibility ⌨️

Don’t use Swift to develop apps intended for Android. — Me.

It doesn’t take much to explain this point. Some languages are intended for certain operating systems.

Here’s a brief outline to better illustrate my point —

  • Android — Java, Kotlin, JavaScript
  • iOS — Swift, Objective-C
  • Windows — C++, C#
  • Web — HTML/CSS, Python, Go, JavaScript
  • macOS — Swift, Objective-C

N — Non-functional Requirements

This deals with things the programming language should offer but doesn’t add to the overall functionality. For instance, security, reliability and usability.

I’d just explain security because that seems like the least obvious. Ever heard of SQL injection.

SQL injection is a type of web security vulnerability that occurs when an attacker inserts malicious SQL code into a query input field, tricking the application into executing unintended commands.

It was a huge problem that lingered in SQL for years until some third parties were able to solve a few of those problems but not without some caveats.

Rust is what’s known as a “memory-safe” language because it’s designed to make it impossible for a program to pull unintended data from a computer’s memory accidentally.

After a lot of words and an unintuitive use of emojis, I hope you have an idea of your checklist 📋 before choosing the language for your next programming language.

Hola 👋! I hope🤞 you enjoyed this article. If you did, I wouldn’t mind a clap or a comment and a share would be the bomb 💣.

Arigatō🗼

--

--