New programming languages are born every day. Beating the learning curve can be difficult, but there's some tips that will help you to get through.
Welcome to njanam. A series of talks and tutorials to learn new computer languages and frameworks.
How to learn a new Programming Language or Framework
There are some steps you want to take to accelerate the learning process and increase your fluency in the programming language or framework you are learning.
People often marvel at a star programmer’s ability to pick up any language extremely fast. “This person must be gifted,” they’ll say. This person must be good at science and math. The truth is that becoming a master learner is a practice. The more you practice learning any skill, the more you will understand how to learn any programming language with the speed and agility of a star programmer. Each person is different. People think that there must be some shortest route to this learning problem. But the learning problem is tailored toward the type of thinker you are. Are you a bottom-up thinker, a top-down thinker, a visual learner, or an auditory learner? You are the architect who can design your learning solution. I am here to simply help you get there faster..
Visual Learner
If you are a #visual learner, you love visualizing ideas and concepts. You can create mind maps of the concepts. I am a visual learner. I often use a whiteboard to diagram all the components of the concepts in my #programming books. I also diagram all of the components of the systems I am building. Once I do it once, it’s easier for me to imprint the image into memory.
Tools for learning: YouTube videos, lists-oriented training, diagrams, mind maps
Exercises for remembering: create mind maps, make modules, create Visio diagrams
Auditory Learner
If you are an auditory learner, then you are likely to learn by listening to someone talk about the subject.
Tools for learning: audiobooks, podcasts, TED videos, classroom instruction
Exercises for remembering: teaching the concepts to someone else, coding with a buddy and teaching each other.
Reading/Writing Learner
If you are a reading/writing learner, then you are likely to learn from reading programming books and taking notes.
Tools for learning: programming books, making list, taking notes
Exercises for remembering: writing a blog about concepts learned, creating question/answer lists
Kinesthetic Learner
If you are a Kinesthetic learner, then you learn it best by doing. You like to engage in learning that involves physically acting out what you have learned.
Tools for learning: programming projects, study groups, coding competitions
Exercises for remembering: tracing through mind maps, coding with Visio block diagrams, engaging in different coding projects with a buddy
Master the Language
By internalizing concepts, anyone can become a master learner of programming languages fast. Like a gifted person.
Master the language. Then learn frameworks. Some people tend to learn frameworks, like Ruby on Rails, without getting to know the language, in this case, Ruby. That's a huge problem, specially when talking about Rails, that plays with Ruby as a DSL (domain-specific language).
Solve coding challenges. There are a lot of websites like LeetCode, HackerRank and Project Euler that can help you to reach fluency. You'll learn more about the syntax, libraries and logic. That's a great way to prepare yourself to an interview too.
Use StackOverflow and Code Review as much as you want. When you start solving coding challenges, you'll find problems. To solve them, you can use StackOverflow, a website that needs no introduction.
The ace in the hole is on Code Review, a #StackExchange community, the same network from #StackOverflow. The whole point about Code Review is to get a review of your code from experts in the language you are learning. Take a look at the beginners section and join this awesome community! you can find me there as shaku
Read a lot of code. GitHub is essential to beat the learning curve. There you'll find production code in the language you are learning. If you are confident to contribute, that's even better.
Code idiomatically. When I was learning #Python, I transferred my #Java knowledge to Python. That’s a great way to learn a new programming language, but it’s not enough to reach fluency, because you can’t learn the idiomatic way of programming in that language.hacks that show off your knowledge of the industry. No matter what type of business you have, one thing is for sure - blogging gives your business the opportunity to be heard in a way in a different and unconventional way.
Do not Give up
Beating learning curves can be really hard. You need time and focus to get there. Don't give up because you may be closer than you think. If you are stuck, ask for help. There's a lot of resources here and out there.
Good luck!
Comments