/ProgrammingLanguages

This Repo is about becoming language agnostic - should be able to code in various programming langagues

Language Agnostic

What does language agnosticism mean?

It may sound scary at first, but all it means is more or less language independence. That is, your ability as a software engineer should not be limited to a very specific set of languages. Instead, you should be able to quickly learn new paradigms which fit your needs and use them effectively. In particular, I argue that software engineering is not simply about writing code: it's about architecting a correct and well-designed solution to a problem. As a result, code is merely an expressive tool for realizing the engineering task you just performed.

Why should you be language agnostic?

  1. You become a complete software engineer rather than simply being a Java developer or C++ developer.
  2. Helps figure out how to use certain language features effectively
  3. Gives rise to nimble thinking.When you know various languages, you tend to get the knack for finding quick solutions to future problems. The reason for this is well justified. Since you can think about your problem in several frameworks, chances are high for you to find a cleaner and effective solution to your problem.
  4. A language agnostic software developer is a happy software developer

How to become language agnostic?

  • Step1 - Code in differnt programming languages.
  • Step2 - Understand and implement differnt programming paradigms.
  • Step3 - Implement different algorithms in various programming languages.
  • Step4 - Implement webapps, webapp internals in different programming languages.
  • Step5 - Implement Best practices in different programming languages.

Approach

This repo contains branches for every language. Every branch will have folders With implementations like

  1. Language Basics
  2. Algorithms.
  3. Programming paradigms
  4. Webapp Internals
  5. Blockchain Internals

Problem statements and their solutions will be defined in separate git repositories like

  1. Language Basics- online compilers - https://www.tutorialspoint.com/codingground.htm
  2. Algorithms. (https://github.com/mankenavenkatesh/algorithms)
  3. Programming Paradigms (https://github.com/mankenavenkatesh/ProgrammingParadigms)
  4. Webapp-internals (https://github.com/mankenavenkatesh/webapp-internals)
  5. Blockchain Internals (https://github.com/mankenavenkatesh/blockchain-internals)

and refered to above folders.