System Design : Programming language selection

Auto Draft

Programming languages are often considered trivial given their ease of availability. Also, since most programmers are used to choosing frameworks, they take programming language selection for granted.

Before getting started, answering “Why do you need to learn a programming language?” is crucial. There is no correct answer. But a specific one. Based on your goals, you need to decide the value of the venture.

This course takes a deep dive into this language learning process. The set of questions is finite, and the architect must discover the permutation based on the use cases.

For example, a student handed an assignment in Java has no reason to ask any language selection question. A researcher using a framework like Apache Spark has no reason to select a new language other than Scala. But if the research project has data processing and ML backends in python, then the researchers must decide if pySpark is needed. A software engineer working in an IT services company on a maintenance project doesn’t have the luxury of choosing a new language since the product code is already in production. On the other hand, a principal engineer in a product company has all the right reasons to pick a new language for a new service that would be doing something completely different compared to the existing codebase.

Hence language selection is circumstantial. Therefore, the tests focus on a generic decision framework to help you select the suitable language.

Are you an aspiring polyglot? If yes, let’s get started!


“Some of the questions are subjective. There is no background of what book or reference material one must take before signing up for this course. I would rate this course for intermediate level programmers/developers who have had about 6-10 years under their belt, because some of them would not have the context of the questions being asked. Regardless, once you review the test answers, there’s enough and adequate detail with lucid explanations provided that will enrich one’s knowledge. So despite the context not being present, the course is worth taking to enhance your knowledge on language selection, test frameworks and other considerations for your software projects.”

“Amazing course, good feedback with explanations when reviewing questions. I recommend it.”

Who this course is for:

  • C++, Java, Python,Scala, Rust, Golang programmers curious to learn a new language for upskilling
  • Software developers making decision about stack in their projects.
  • Beginner programmers curious about language selection for projects.
  • Job aspirants learning new language only in hope of getting a job.
  • Students from all streams curious to know about how language selection needs to be done.



We will be happy to hear your thoughts

Leave a reply

awsomenews Free Online Courses