Ujjwal Chadha

Ujjwal Chadha



How to learn a new programming language the right way:

1. Gather answers to basic questions: Is it interpreted or compiled? Is it statically or dynamically typed? What's the memory model? Is it functional, object oriented or both? Do the functions call by value, reference or something else? Is it multi-threaded or single threaded?

If you don't know what any of those questions mean, you should take a step back, and learn about them. Spend some time on your browser searching about the questions I wrote above and learn. These will help you form a foundation of programming languages.

2. Start with basics: Data Types Variable declarations Operators Conditionals Loops Primary data types

3. Start playing around with these in your favorite code editor. You should be able to code almost any logic with this (though not as elegant, scalable or maintainable). This practice should be done for every step from the next step.

4. Next learn about features that help you modularize and scale the code: Functions Delegates (or Lambdas) Classes Interfaces Methods Other object-oriented features (if present)

5. Now you can move to learning about predefined classes or functions that help you perform basic functions. Like: Collections (Lists, Maps, Sets etc) Strings, Integers and other data type class helpers Collection functions (like map, reduce etc) Math operations and more...

6. Understand the threading model What are the available classes/functions for creating parallel tasks? How to await, fork and join threads? What are available helper classes or functions for synchronization (like semaphores, mutexes and other keywords/ types)

6. Understand intricacies of the language. How are objects/data types compared to each other? How does the in-built hashing calculate the hash values? What is the time complexity and concurrency model of in built collection functions? and more...

7. Learn the conventions and good practices Learn the basic conventions. Read code on github to gain understanding of good industry practices.

8. Learn about common libraries and frameworks that are used in the language. Stackoverflow and open source github projects will tell you a lot about it.

9. Now it's time to use it to actually learn it well. Start using it to build a project, solve a problem or contribute to open source using the language you learnt. The more you use it, the better you get

10. Don't be afraid to search stuff up when stuck. You'll always be in learning mode. I am still learning something new about the language I use every day at work. It's okay not to know everything at once. It's okay to learn a little more every single day.

That's all for this thread. If you find this useful: 1. Retweet and leave a like on the first tweet - it encourages me to write more of similar content. 2. Follow me @ujjwalscript for more useful tips and threads

Follow us on Twitter

to be informed of the latest developments and updates!

You can easily use to @tivitikothread bot for create more readable thread!
Donate 💲

You can keep this app free of charge by supporting 😊

for server charges...