Careertail
About UsCoursesCareer PathsBlogOpportunities
Log In
Courses>Programming Languages>System Design: Programming language selection [PracticeTest]
DevelopmentSystem Design: Programming language selection [PracticeTest]
Price:Paid
Length:42 questions
Content type:video
level:all levels
Updated:20 February 2024
Published:22 August 2022
Similar courses
Opportunities
Courses>Programming Languages>System Design: Programming language selection [PracticeTest]
System Design: Programming language selection [PracticeTest]
3.8 (4.0k)
42 questions
4000 students
What you will learn
1Aspects to consider while learning a new language
2Factors that affect a choice of language for production systems
3Different use cases and their influence on choice of language
4Job market and langauge selection
Target audiences
1C++, Java, Python,Scala, Rust, Golang programmers curious to learn a new language for upskilling
2Software developers making decision about stack in their projects.
3Beginner programmers curious about language selection for projects.
4Job aspirants learning new language only in hope of getting a job.
5Students from all streams curious to know about how language selection needs to be done.
Requirements
1Basic programming in one langauge is sufficient.
2Curiosity to followup in answers.
3An open minded approach to learn a new programming langauge beyond comparing languages.
4Basic understanding of programming fundamentals like types, data structures, toolchains.
FAQ
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
Description

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.


Why so few questions?

The course intends to assist you in becoming self-dependent. The seemingly few questions are enough for you to test the waters and get going on your journey to command line mastery.

-----------------------------  SAMPLE ----------------------------

Q: As someone selecting a language for a project in a software company, would you consider the number of open source projects using the language as a primary factor?

Answer: As mentioned earlier, everyday use cases often take the form of libraries. Therefore, the open-source frameworks and libraries ecosystem is critical for building products quickly without compromising stability. Furthermore, the active OSS projects are a good indicator of a thriving developer community around a language.

For languages like C++ that do not have networking built in, third-party frameworks like seastar, boost, POCO, etc., provide a good fallback. Some organizations are big enough to invest in writing their implementations which they may choose to make open source later. The advantage of open source is constant testing of the framework with various use cases. But the language must be accessible enough for new developers to allow this kind of project ecosystem. Without new developers joining the community continuously, stagnation is imminent. Using a stagnated language in production can soon become a performance bottleneck.

HTTP servers are specific examples of library requirements that became dominant with microservice architecture. Languages like C++ and Python do not have the implicit package HTTP servers in the core language installer packages. So one has to pull the framework using the language package manager. But newer languages like GoLang and Rust or the latest versions of Java have built-in classes in the default language package.

*************************************************************************

Under normal circumstances, one has to memorize such answers, but the course focuses on the process of you getting to the answer and not the answer itself! Of course, you are welcome to suggest additions; remember, you have lifetime access to content. Your suggestion will benefit everyone in the community.


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!


Reviews:

- "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."

Similar courses
Opportunities
Make the most out of your online education
Careertail
Copyright © 2021 Careertail.
All rights reserved
Quick Links
Get StartedLog InAbout UsCourses
Company
BlogContactsPrivacy PolicyCookie PolicyTerms and Conditions
Stay up to date
Trustpilot
Careertail
Courses>Programming Languages>System Design: Programming language selection [PracticeTest]
DevelopmentSystem Design: Programming language selection [PracticeTest]
Price:Paid
Length:42 questions
Content type:video
level:all levels
Updated:20 February 2024
Published:22 August 2022
Similar courses
Opportunities
Courses>Programming Languages>System Design: Programming language selection [PracticeTest]
System Design: Programming language selection [PracticeTest]
3.8 (4.0k)
42 questions
4000 students
What you will learn
1Aspects to consider while learning a new language
2Factors that affect a choice of language for production systems
3Different use cases and their influence on choice of language
4Job market and langauge selection
Target audiences
1C++, Java, Python,Scala, Rust, Golang programmers curious to learn a new language for upskilling
2Software developers making decision about stack in their projects.
3Beginner programmers curious about language selection for projects.
4Job aspirants learning new language only in hope of getting a job.
5Students from all streams curious to know about how language selection needs to be done.
Requirements
1Basic programming in one langauge is sufficient.
2Curiosity to followup in answers.
3An open minded approach to learn a new programming langauge beyond comparing languages.
4Basic understanding of programming fundamentals like types, data structures, toolchains.
FAQ
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
Description

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.


Why so few questions?

The course intends to assist you in becoming self-dependent. The seemingly few questions are enough for you to test the waters and get going on your journey to command line mastery.

-----------------------------  SAMPLE ----------------------------

Q: As someone selecting a language for a project in a software company, would you consider the number of open source projects using the language as a primary factor?

Answer: As mentioned earlier, everyday use cases often take the form of libraries. Therefore, the open-source frameworks and libraries ecosystem is critical for building products quickly without compromising stability. Furthermore, the active OSS projects are a good indicator of a thriving developer community around a language.

For languages like C++ that do not have networking built in, third-party frameworks like seastar, boost, POCO, etc., provide a good fallback. Some organizations are big enough to invest in writing their implementations which they may choose to make open source later. The advantage of open source is constant testing of the framework with various use cases. But the language must be accessible enough for new developers to allow this kind of project ecosystem. Without new developers joining the community continuously, stagnation is imminent. Using a stagnated language in production can soon become a performance bottleneck.

HTTP servers are specific examples of library requirements that became dominant with microservice architecture. Languages like C++ and Python do not have the implicit package HTTP servers in the core language installer packages. So one has to pull the framework using the language package manager. But newer languages like GoLang and Rust or the latest versions of Java have built-in classes in the default language package.

*************************************************************************

Under normal circumstances, one has to memorize such answers, but the course focuses on the process of you getting to the answer and not the answer itself! Of course, you are welcome to suggest additions; remember, you have lifetime access to content. Your suggestion will benefit everyone in the community.


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!


Reviews:

- "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."

Similar courses
Opportunities
Make the most out of your online education
Careertail
Copyright © 2021 Careertail.
All rights reserved
Quick Links
Get StartedLog InAbout UsCourses
Company
BlogContactsPrivacy PolicyCookie PolicyTerms and Conditions
Stay up to date
Trustpilot