Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
jestdotty652711hI 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 -
CaptainRant458511h@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. -
CaptainRant458511h@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. -
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.
-
@CaptainRant Took me a while to grasp that classes are basically just big closures.
'this' gets fun once you get into .bind ... -
kamen67657hFirst 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.
-
@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) -
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

This never gets old...
Exactly
¯\_(ツ)_/¯
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.
question
proficiency
study-time
javascript