Having competency in at least one programming language is SUPER important for a developer. Developing competency in more than one language gives yo...
For further actions, you may consider blocking this person and/or reporting abuse
Great article,
Most programming challenge sites like leet code let you see other peopleβs solutions once you have solved a problem, this can expose you to aspects of a language that you wouldnβt necessarily see from just solving the problem yourself.
Absolutely! This is particularly helpful for difficult problems.
This Article is Something that I really like to read and it contains all the elements that an Article should have i.e. It was short, it was concise, it was to the point, it was attention-grabbing, it was easy to read and it was easy to understand.
First of all, thank you very much for giving this unique tip of solving the competitive problems in a programming language that we are learning. I will look forward to learning PHP and Laravel or even ruby using this technique as well.
Second, it is really important to know what programming language will solve what kind of problem? The problem is to find the solution to the problem, selecting a programming language or even a technology stack is not a big issue but knowing how to solve the problem is the main point.
In the end, I have heart this post, saved and Marked it as unique as well, and I will share this post with my further colleagues and friends as well.
Thank you for the kind words. I am super happy that you liked it. ππ»
Wish you the best in your learning!
Your Welcome and Looking Forward to More Useful Readings.
I would first create the algorithm in pseudo-code:
And so on. Also, to make understanding each language, I would name all of the variables similarly. So res in Java is max in JavaScript and len in Rust makes it harder to follow the logic.
Mastering a programming language is, to me, knowing how the tooling works, what semantics is attached to what constructs (and their subtleties). It's as well knowing when to use what, depending on what context. And the most difficult: a language invite you to a specific way of thinking about your problems, and grabbing that is HARD, especially if you know already a language.
In short, it takes more than 30 days.
What you can do in 30 days is having a good idea of the syntax and some semantics already, but I wouldn't call that mastering. It's more having a rough idea about a language.
It depends as well if you go into a paradigm you don't know. Try to learn Haskell in 30 days without knowing the basics of functional programming: it will be hard.
Agreed. But these 30 days can give you the needed confidence that can last even 30 years!
I like that your 30 days challenge! Deliberate practice is a sure way to master new skills in no time.
I've experienced something similar by combining Josh Kaufman's 20 hours of learning technique with code katas. Using automated tests during code katas helps you to get instant feedback on your exercises, which I found accelerated the learning even more. I wrote a series of posts on the topic: How to learn a programming language in just 20 hours
One thing I would add to your post is that the more languages you know, and the faster it becomes to pick up a new one. In a way, it's very similar to spoken languages. Once you know 4 or 5, learning the 6th will be a lot faster. Programming languages have many dimensions:
Once you've learned enough languages to experience different flavors in all dimensions, it's a lot easier to place the new 'BLUB' language you are trying to learn in this space. You get an almost immediate gut feeling about this language. From then on, a lot of the learning boils down to syntax and libraries.
Thanks for your post!
I spent a lot of time developing a simple API in Rust, I think there is very little documentation. Maybe I should have taken 2 steps back and did more basic things to learn properly.
I think that's what I'm going to do.
Ironically I don't even understand the solution in any language, but maybe I'm not smart enough. :)
Repetition is the key to being the person you want to be. The more you code the easier it will be to understand :)
It depends on what you're coding.
Maybe itβs time for you to pick it up!
I think you have pretty much cracked the nail on the head here! I would go even more general though and say the overarching advice is regular, repeated practice is the key - in any area. Making sure the practice is good is also important - and in this case, it is met by doing competitive programming questions :)
Yes, this is the core message. Practising is the key. However, I have read that in so many blogs but never found an actionable step, so 'go practice' may be vague. Mentioning an actionable step for the readers is important! But yes, you could master it by cracking competitive programming questions or by building side projects, the choice is yours. :)
You can't master programming language in 30 days. At most you can get a feeling of syntax.
It would set the path and build your confidence
YES!
It is essential to keep up with the cadence.
Where I find a challenge PHP for September? For 30 days
You don't really need to find challenges specific to a given language. Things like Advent of Code and other "kata" tools can be done in any language.
Well, you can log on to platforms like LeetCode or HackerRank and get cracking!
Competitive Programming doesn't really help with using it in production level. You need to know what language to use according to your needs.
Yes I agree.
Correct me if I'm wrong, but all your solutions to the array question seem to only consider sequences that start at the beginning of the array π
Thanks! That's a pretty cool learning approach.