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
-
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 -
@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. -
@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 ... -
kamen67681dFirst 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.
-
jestdotty654024h@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) -
jestdotty654024hI 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 -
CaptainRant460111h@jestdotty I created a chat with websockets once; took me a while to grasp,
syncing the right channels and what not.
I read that promises are more annoying to use because of their chains. Oooh, promises crazy. :)
Well, that sounds interesting, the journey you went through with promises. Omg tokens.. I've worked with those for a few weeks too.. that was annoying to get synced. Did user get token, and if not, then refresh, but if null, and then sync that state... Yes, await is amazing.
Well, here are the JavaScript basics based on MDN:
https://developer.mozilla.org/en-US...
And here are the basics according to ExecuteProgram:
https://executeprogram.com/courses/...
I've used TypeScript a while. It can be fun. -
No idea about the timeframe, but it was relatively easy due to my brain immediately spotting the parallels with Perl, which I was already fairly good at.
So how long did it take me to become a journeyman in devilspeak? I think it was somewhere around five or so months doing some 4-6 hours every other day, then maybe 2 years to get to this point, where reality is only a suggestion.
But this, in turn, was done after I already knew C, which would be fair to say took me 5 years to get *good*, something like I started at 16 and by the time I was 21 I actually knew what the fuck I was doing. But part of the reason this took me so long was because I used to do like two hours a day tops then dump all my time into Skyrim, so draw your own conclusions.
Anyway, unless you're programming like a fucking compsci major, javascript is actually alright. -
Not sure, probably around 2014. Back when jQuery was the standard. Always pretty much clicked for me though. A lot of people like to fearmonger with javascripts "quirks" but I've never encountered them in the wild, and with modern js there is even less chance.
Agreed on jade/pug js @jestdotty -
Know JavaScript since it was the thing it should never have tried to outgrow. A DOM manipulating language.
I started dealing with node at around 2014 or so.
Of course, it helped that I know what asynchrony is from way before Promise was a thing, and that I'm way too familiar with V8 and libuv.
I dare say I know all the inner black magics of JavaScript and typescript, and have used them to pull crazy stuff.
Yet still the decisions the ecmascript committee makes will forever keep js as a clown language.
So, all in all, considering that previous to node there wasn't any depth to really explore, I'd say 4 years or so.

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