I read some introduction, ranging from a few articles to one book.
If I'm learning the language, that means I have already read enough to know what it's used for and what's special about it (otherwise I wouldn't have decided to learn it).
Then get started building something.
The key to learning a new language is to understand its data structures. Thats a hack i use when i try to learn a new language, since data structures (arrays, hashes, array of arrays, hashes of arrays, trees) are different in every programming language and you get a taste for how the language is moulded in order for the programmer to be effective in a particular area of technical implementation, for which the programming language is originally intended.
One can get too comfortable with a programming language and its data structures too and use it to demonstrate the solution to a complex problem (say like a chess engine ) but at the point of scale and performance you can realise its not such a good idea after all.
There is also the matter of 'expressivity'. A Programming Language holds within it the power of technical expression, and you can use it to express a technical solution to various problems the industry faces, and hence your comfort level with a new programming language has to do with how well you can use it to express the problem you are facing.
Way back in 2002, as an unemployed techie beginner i had to learn Java on my own to get a job, and having been used to Perl i found it wierd you have to write five lines of code just to say hello world.
But when i got my first high paying job as an Enterprise Application developer, and worked in a 30 member developer team building an insurance contract engine using Java/J2EE , i realised how important a programming language Java was when it comes to building practical , resilient and performant engines that drive various industry like Insurance and Healthcare.
All the best for your programming language learning experiences.
Trial and error
READ, PRACTICE.
Read: well first you need to know why this language is required. Second read about the language from standard website and learn syntax from doc provided by language developer(There is no best source you can find other than that).
PRACTICE: practice the syntax as much as you can.
After completing the all the concepts try implementing something(An application using the language).
Thats it.
Happy coding :)
The classic Todo app. It's a little CRUD but you get straight to point : show and save data. After i start a lynda courses or reading about this new language.
I use different sites to learn: Codecademy, YouTube, official docs, stackoverflow ...
I try to understand why this programming language was developed.. This would help you to think from the perspective of programming language than a general notion.
Walk over official documentation.
Look to greatest developers of these languages, blogs and their comments and their approach. ( I had watched every videos of Rob Pike when I started learning go)
Look at best Practices for this language(established methodologies).This would make me to avoid common mistakes.
Basically I take up a project with basic skill gained.
Take up some greater courses on Udemy of Udacity. Watch every video on youtube related to this language.
Udemy is my go to place for learning anything new these days. Brad Traversy is also an amazing YouTube channel I love for learning new things, check him out here:
the guy is a total beast.
Once I get the syntax down, which doesn't take long, the next thing is checking out the libraries and understanding ecosystem and building something
A new project :D Usually i have a small app or else in mind, just to use some functionnalities and test it, and if i like it, i search for online classes + official documentation :) So far it worked well :)
Been a while since I did that, but I usually take a course on Udemy. Once, I get hold of the syntax, I request my manager for a feature and started to work on it. Never waited too long to learn a language (a day or two tops), always liked to jump head first into code - of course, this has its own demerits, but I like to hit the ground running fast. Over time, I learnt the language specific nuances.
Daniel Mita
Perl 5 (accidental) / 6 (intentional) Developer
I tend to run through a few exercises on exercism.io to begin getting a grasp on a new language.