DEV Community


Discussion on: Welcome Thread - v45

edreeseg profile image
Ed Reeseg

First and foremost, I think the most important thing is making sure you feel very confident in your "native" programming language before branching out. My first real language was JavaScript, and when I first began to learn almost a decade ago, I really failed to teach myself well because, as soon as I saw good things being said about languages like Python or Ruby, I switched and tried to learn them as well. This lead to me getting details about the languages and syntax mixed up, which caused a lot of frustration.

When I picked JavaScript up from scratch again, I devoted myself entirely to that language, and knowing that I was at a professional level. Once I felt confident I understood JS enough that I could come back to it after branching out, I began to learn C. My logic with this was, C looks different enough that there's no way I could ever really mix up C code and JS code. I don't think moving on to a lower-level language next was really necessary, but in my case it probably helped me separate the two in my mind.

I also picked up Python shortly thereafter for my education, and I found that Python has little things about the language that differentiate it from JS, and help me remember the different (e.g. no declaration keywords, no curly braces, different function keyword).

The biggest thing is honestly just practice. Building things and completing challenges using the languages you're learning, which force you to abide by its rules and remember its syntax. I find that learning in-situ like that is much more effective.