1

My main language is currently JavaScript, and I'd say I'm fairly proficient in it. That is, when I think "I want to do x", I don't (generally) Google "how to do x", but I think "I know! I will use features/techniques a, b and c to do x".

I am not very familiar with the new ECMAScript 6 features (basically an update to JavaScript), and have decided recently to learn and incorporate them in my code. I found a website showcasing many of them, and read through some of the examples, but I still end up using other, older techniques and features in my code because I am used to them. Because of the large amount of new features, when presented with a problem such as "I want to do x", even if one of the new features would apply to my problem, it doesn't come to mind in the way that a, b and c do because it's not ingrained in my memory well enough, since I've never used it. There lies the paradox: I can't use the features in my code until I learn them well enough for them to spring to mind when I need them, and I can't learn them well without first sufficiently using them in my code.

I'd like to think that this is a more general problem and doesn't just apply to JavaScript, but any major update to any language spec.

How do I learn the new features? What should I do to start using them?

closed as off-topic by gnat, Tulains Córdova, user22815, Jörg W Mittag, Telastyn Aug 26 '16 at 17:38

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic here. They are only meaningful to the asker and do not generate lasting value for the broader community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, Tulains Córdova, Community, Jörg W Mittag
If this question can be reworded to fit the rules in the help center, please edit the question.

  • Where to start? – gnat Aug 26 '16 at 17:03
  • 1
    no that wouldn't fit, because education advice is explicitly off-topic per help center – gnat Aug 26 '16 at 17:11
  • 1
    @Bluefire no, this is also off-topic at SO. – user22815 Aug 26 '16 at 17:15
  • 2
    You are correct that Software Engineering is a good place for an on-topic programming question. However, your question is about learning, not about programming. If you replace every mention of programming in your question with, say, knitting, it still stays the exact same question. That's a very strong indicator that your question is not about programming, but rather that it is a question that only incidentally arose during programming. Note: you probably came here because you were attracted to this site by the high-quality questions and answers by programming experts. This high quality is … – Jörg W Mittag Aug 26 '16 at 17:42
  • 1
    … ensured and the experts are attracted to this site, because of a set of rules we have that guarantee the high quality and make the site a worthwhile place for experts to hang out. You cannot expect that the very rules whose product attracted you to the site now don't also apply to you. – Jörg W Mittag Aug 26 '16 at 17:43
2

Practice.

This isn't something easy to do when under a deadline. This is something to do when coding for fun.

JavaScript likely isn't the only language you know. When switching from one language to another you can make a clean break since you have no choice. If you write visual basic in your javascript it just won't work.

You're really trying to work in another paradigm. Without a static analysis tool the only thing that will tell you no is yourself.

Sit down with a problem and solve it in pure ECMAscript. Do this when you have plenty of time to stop and catch yourself. Keep doing it until it becomes a habit.

I have this same problem now in python. I keep forgetting to solve my problems the more "pythonic" way. Take the time it takes to get your head into it.

Not the answer you're looking for? Browse other questions tagged or ask your own question.