2

How long did it take you to become a... JavaScript wizard (so you are completely fluent in it, from beginner to advanced)? :cool_emoji:

A.I. says you would need about 12 months at 15 hours a week.

Comments
  • 5
    Life is too valuable to waste it on becoming advanced in a clown language.
  • 1
    Conincidence?
  • 2
    Nobody is completely fluent in javascript.
  • 0
    @Lensflare Dislikes can be reworded.
  • 3
    I learned it back when callbacks were a thing

    took 6 months to break in my brain on callbacks. was super easy after that (other than my own architectural insanity, but you get that in every language)

    then later I learned a bunch of advanced features playing screeps for 3 months. that really you never need to use. like weird prototype things. nobody uses those and if you do nothing will make sense for anyone else anyway. makes code totally unreadable for anyone. you never encounter it basically anywhere either

    did a library around proxies sometime later. maybe took two weeks if I'm overestimating

    javascript is nice. so free. not sure you need to learn every feature. stuff seems pretty simple

    now... the library ecosystem in js... that I hate. especially what ended up popular and surviving as node js evolved. there were really good libraries that never took off, and big company libraries took off instead even though they're disasters
  • 1
    @jestdotty Thank you @jestdotty for taking the time to provide a nice and thought-out answer.

    Callbacks, yeah... at first I had issues understanding that too, all the async.

    It sounds like you went through the trenches.

    Interesting, interesting... varied topics.

    Ergh, it's just.. it's the advanced stuff that bothers me or gets me stuck sometimes.

    Things like 'this' scope, closures, the exact way and order in which the event loop schedules

    and runs things, weird async bugs, and then they introduced web workers.. it gets to be a lot. I mean, just look at MDN on it.

    Hmm.. you hate the library ecosystem? I thought that was one of the beneficial things they introduced so that devs would have one central library that auto-updates dependencies and could reuse things. I remember reading about a CommunityJS thing that was a precursor of npm. I wonder which disaster libraries we're talking about.
  • 1
    @jestdotty part 2:

    For me, I started learning JavaScript around 1995. Let's see..

    then never touched it until 6 years later.. then used it for a few weeks... then a few months in between nothing... then college, used it for a few semesters... then didn't use it for 5 years. lmfao. My memory and practice is rusty on it. For me, I need to pick up the basics again.
  • 2
    Just mastering it and not having sex before you're 30. I believe in you.
  • 1
    Most cool magical thing about js is proxy class. You can make so much awesome stuff with it. For converting await rpc.contacts.online() automatically to /rpc/contacts/online for example. I like such stuff because I'm backend oriented and prefer not to make some js api clients and hate writing test calls. Original snek has no manual written rest or websocket calls in it. Everything rpc like that. Its very weird how uncreative people are programming.
  • 2
    @CaptainRant Took me a while to grasp that classes are basically just big closures.

    'this' gets fun once you get into .bind ...
  • 0
    Took me 15 years
  • 0
    @Ranchonyx this.bind(() => {}, this); // lol
  • 0
    Looks like the keyword "this" is easier in c++
  • 0
    First started messing around with it in 2005-2006, but I've only been doing it professionally since 2015. Still wouldn't say I'm completely fluent, although I think I know most of the quirks and pitfalls.
  • 0
    @CaptainRant npm is great and when I started using node.js that was already there

    but it's just like. jadejs was a superior templating engine to react for example

    and anything Google is just a disaster

    ---

    I actually haven't done websockets. I mean I think I did but I wasnt very good at it so I don't remember it. definitely a blind spot

    `this` is whatever. async super easy with promises, but I did kind of bastardize stuff into my own framework of sorts when I went promises crazy -- because of the async issues. I don't really remember it now but I ended up figuring out a whole syntax habit to avoid promise collisions/unknowns (think it was like saving a pending promise to this._methodName or something? so then if you need a token for example it does the get token call which checks if there's a pending promise then just awaits on it if there is instead of spawning 20 get token fetchs)
  • 0
    I don't know if JavaScript has much basics. to be fair I still haven't used typescript but I did read the docs for it once and I count that as good enough
Add Comment