Conversation
Notices
-
The typical pathway of your average soydev. https://social.076.moe/url/196082
- Udon and TRANNYKILLER88 like this.
-
@ryo shame about node. js seems like a perfectly nice language to learn today if you're only gonna do one but it's compromised to the bone
-
What's so nice about it other than it breaking all the time in the weirdest possible ways, having retarded results (like 1 + '1' = 11 instead of a type error), and being a massive chain of dependency hells?
It could have been a better language if it wasn't async by default (which is what causes most of the weird bugs), had a type system (and no, I don't think that TypeScript is the solution here), and its developers having had the mentality of writing their own code rather than having NPM packages make a plate of spaghetti for them.
That last one can also been seen in Python, fake PHP (Laravel, CakePHP, Synphony, Zend, and so on), and Rust, where they just use a package for every single functionality instead of just writing it themselves.
I only don't see this happening in people who write in real PHP, real Javascript, C, C++, Go, and the Java and C# that existed in the early 2000s.
Which is interesting because C, Javascript, and Go by default don't provide much, whereas PHP, C#, C++, and Java are very much stuffed with features so you never have to rely on any 3rd party dependencies ever.
-
@ryo It's just a thought, and I'm talking about personal use, not production. It's nice to be able to read how internet sites you visit work, and stupid userscripts go a long way in liberating your internet experience. And with node you could write real programs too, without losing your mind picking a language for the job! I picture kids being taught basics of js and the knowledge going places, being a net positive to the world. Unfortunately npm is fucked up, and you can't ignore the other stuff you listed either.
> having retarded results (like 1 + '1' = 11 instead of a type error)
Gonna call you a boomer here though. Type coercion definitely resides somewhere above "I can live with this" on my like/dislike spectrum.
-
You can call me a boomer if you want to, but I prefer to define and use variables as "int i32_myage = 65;" → "i32_lifespanwasted += i32_myage;" over "let MyUberDopeAge = 20" → "Number(LegalAge) += Number(MyUberDopeAge)".
And I'd rather have the compiler go like "hey you fucking idiot, you forgot to put a semicolon on this specific line, FIX IT!!" over an interpreter that goes like "meh, I don't care, I'll let the platform just figure out what to do with it TEEHEE.".
It's a preference, but one that really affects your time debugging, user experience, and overal code cleanliness (which on its turn affects security and performance).
I've worked with a Node.JS project that was actually pretty decent, and the only dependency it used was Stripe, which is unavoidable, so that's OK.
But from personal experience, this is an exception rather than the norm, because usually I get hired to fix Node.JS projects that are hopelessly broken, and they're broken because it's a huge pile of dependencies that just don't work together at all (maybe they did at the time the previous freelancers finished it, otherwise I wouldn't have to fix it).
-
@ryo I'm sure it's an informed preference. I don't work with code enough to develop these.
Only vaguely related, but I thought you'd get a kick out of this: npm on debian is almost 400 packages.
-
Oh fuck...
I don't even use Debian anymore (I still have 1 Devuan server left to convert to either FreeBSD or OpenBSD, for now it just exists as a legacy server while I'm still porting over Linux init scripts to BSD rc scripts).