I wish people would stop saying "JavaScript was written in 10 days" with the subtle implication that this is somehow shoddy or half-arsed. GvR wrote the first version of Python in a month in December 1989; the first bit of C was made out of B and NB in a month or two in ~1970. Every single bit of software you've ever used that isn't some enterprise nightmare was first a proof of concept hacked together in a couple of weeks by whoever first did it. This is entirely normal; it's not a bad thing!
@sil ...so long as it gets proper refinements with time. Lest people keep a proof of concept to rot and move on to the next shiny.
@ajinkyapdahale @sil I think it’s important to refine your design sufficiently before a public release. The real issue with JavaScript is that once all the problems were obvious there was no good way to fix them without breaking thousands of web pages.
@mathew @sil as such, my comment was not related to JS at all: I don't use it enough to have any specific opinion. It also didn't imply that a project cannot be released without the refinements. Just that they should keep happening.
@sil Don't they say designed, rather than written? In any case, I think the interesting part of that story is "... because he thought he was going to be implementing Scheme, but then Marketing said it had to look like Java", and we have to try to imagine a world where we're all Lisp programmers, VSCode is considered a straight-up Emacs rip-off, etc.
@mavit @sil The language they were aiming for was Self, not Scheme.
@mavit @sil Designed or written, it doesn't really matter anyway for how false the statement is (or how problematic the implication is). The design process didn't stop after a prototype was made either!
@sil also, with weaponised ADHD hyperfocus, 10 days of work is a *lot* of output.
@sil git is one of my favorite examples, "why can't I understand this thing that Linus pounded out while bored one evening?"
@sil If anything, you should be worried if a totally complete "enterprise-grade" system with all the things emerges in one month. Everything else is normal.
@sil That's usually people who advocate for enterprise nightmares that do that (e.g. Java )

@sil except #JavaScript is a net negative in my experience as it is only good for 3 things:

Tell me i I'm wrong!

#JS #PayOrOkay #Privacy #ITsec #ClownFlare #CloudFlare #Enshittification #bloatware #ads

@kkarhan @sil Okay. You're wrong.

@joepie91 @sil sadly, my experience tells me otherwise.

  • I just don't have sufficient scientific datapoints at hand to make this a qualified statementy

@kkarhan @sil I do have sufficient data, and you're still wrong. And the kind of rhetoric you're posting here is not without its consequences either: https://blog.aurynn.com/2015/12/16-contempt-culture - so I'd suggest putting a bit more thought into those consequences before posting like this.

Speaking of "scientific", there's a reason that proving an absolute negative (eg. "it has no valid usecases besides X") is so hard - because it's usually wrong, as you are required to prove something to the exclusion of everything else that could possibly exist, and you're never going to be aware of all of those possible things. And this should inform the way you speak about topics, if you value a scientific approach.

Contempt Culture - The Particular Finest

So when I started programming in 2001, it was du jour in the communities I participated in to be highly critical of other languages. Other languages

@joepie91 @sil what part of

[…] a net negative in my experience […]

is not clear?

Sorry, but it only takes few things to sour something for people.

Obviously #JS, alongside #Cookies and #Tracking, are mere tools of #Enshittification but that certainly is as much warranted as the shitstain #Blockchain and #NFTs got due to #CryptoBros using #Shitcoins to #PumpAndDump-#scam #TechIlliterates and #FinanceIlliterates that are "#HornyForMoney!"

  • OFC that hurts honest people just like #Shitcoin-Scams hurt #Monero despite being technically incapable to being weaponized for #NFT-Bullshit like #NFTmalware.

Either we say "#Tech is #apolitical!" and accept diverging opinions and experiences to exist as equal

or

We say "#TechIsPolitical!" and ask "Who benefits?" from the rapid onset #Enshittification and purposefully engineered, #PlannedObsolescence due to #Bloatware, regardless if JS or #Windows11 or purposefully bricking support for legacy versions of #iOS.

#QuiBono #bloat

Kevin Karhan :verified: (@[email protected])

@[email protected] except #JavaScript is a *net negative* in my experience as it is only good for 3 things: - making websites #inaccessible to #TextBrowsers, thus #discriminating against #blind users. - Injecting #malware like #Shitcoin #miners for #CryptoJacking. - Violating #consent of users with #tracking and #adware. Tell me i I'm wrong! #JS #PayOrOkay #Privacy #ITsec #ClownFlare #CloudFlare #Enshittification #bloatware #ads

Infosec.Space

@kkarhan @sil Tech is political. That doesn't mean that your personal gripes with a language automatically represent a valid political argument. Or that it should be attached to a post that really has nothing to do with any of it.

I regularly talk with people about how a lot of computer technology is designed to benefit capital. But the emphasis here is on 'a lot'. JS is not special here, and it being singled out like this suggests that you're not so much doing political analysis, as trying to prop up personal opinions and feelings with a more scientific or political-sounding rationale after the fact.

If you genuinely want to approach this from a scientific or political perspective, then you should be doing a lot more listening and reading about eg. the history of JS (and computing more broadly, for that matter), and a lot less making bold claims in other people's threads. Understand the background first before arguing about it.

@joepie91 You're missing the point I was making entirely...

#swoosh

@kkarhan I'm not missing it, I'm choosing not to engage with it. Because it is clear from everything that you have already made up your mind, and you are not willing to reconsider the way you approach the topic.

There's no possible useful outcome from discussing the subject in that situation. The best case is that each of us leaves the discussion annoyed and exhausted because it didn't get anywhere. Accepting that you may be missing something (and reducing the intensity and certainty of your words correspondingly) is a prerequisite for a useful discussion about anything, really.

@joepie91 then I'll choose not to engage in the blatant dismissal of my experience as a user and sysadmin.

  • Your reply is a waste of traffic!

connection terminated

#thxbye #next #EOD

@kkarhan @sil

The alternative being… what?

There are so many “JavaScript is bad” posts, and, sure, JavaScript is used to add plenty of undesirable behavior to web pages. But JavaScript is the only way to add ANY behavior that isn’t built into HTML or CSS to a web page.

And, again, sure, a lot of “benign” behavior on the web isn’t STRICTLY necessary.

My point is that JavaScript is a tool, and can be used for good or bad. Please don’t blame JavaScript for the ills of human nature.

@inaction_figure @sil maybe certain things shouldn't be implemented on the web to begin with?

But maybe that's me who just wants to be able to use the #Web and not have my CPU rammed to 100% from a single website!

your scientists were so preoccupied

YouTube

@kkarhan @sil

True, but don’t blame the dinosaurs! 🦕

@kkarhan @sil

I think, if we look around, we will find plenty of bad things that have been done with C. Should that language be abolished?

If we follow the thread you’re pulling to its end, we’ll find that maybe we shouldn’t be using the internet or computers at all.

@inaction_figure not abolished, but at least not forced upon people.

@kkarhan

If it wasn’t JS, there would be some other scripting language for web pages.

You could always turn JS off in your browser settings.

But there’s plenty of other shenanigans to be had, like ads & tracking pixels, phishing, etc etc.

The problem, as always, is the people who misuse these tools for their own gain.

“It's a dangerous business, Frodo, going out your door. You step onto the road, and if you don't keep your feet, there's no knowing where you might be swept off to.”

@inaction_figure the problem is that #WebDevs and Corporations using #JavaScript these days go out of their way to be assholes and literally brick shit if #JS is disabled.

It's like refusing to serve a #cyclist in a drive-in!

@kkarhan

That is more a problem with not creating a solution that “degrades gracefully”. Lazy web app development.

I’m not saying there isn’t a problem, but the problem isn’t JavaScript. Well, not all of it.

@sil I believe the original point of the anecdote was to explain some of the weird bits that still exist to this day.
@sil NGL, this isn't in the top 10 reasons I've heard people say javascript is shoddy and half assed.

@sil the biggest thing that everyone hates about JavaScript is implicit type conversions. It’s a feature that is so bad that an entirely new language was eventually built to fix it.

Oh and implicit type conversion was added after launch when users demanded it (i.e. not during those 10 days)

@dandylyons @sil I assume you're referring to Typescript, in which case it definitely does not "fix" implicit type conversations. TS is a language that only exists as a pre-compilation language, it doesn't have any runtime characteristics of its own, and therefore just takes on those of its target language (ie. JS). Implicit type conversion is a runtime characteristic, not a syntactic one.

What TS did was (mostly) replacing dynamic with static typing, but that's something very different from removing implicit type conversion. TS code will still happily result in implicit type conversion if the values being handled would trigger it, and it's very easy for this to happen accidentally when eg. handling structured external input, because you can't statically check that at compile time.

If you rely on TS to prevent implicit type conversion, you're going to have a bad time and a lot of weird bugs, is what I'm saying.

(I do agree that the implicit type conversion is a terrible misfeature, for what it's worth.)

@joepie91 @sil Yes. You're right. The point that I was making is that Microsoft and the JS community devoted a massive amount of resources to create TS in order to bandaid the massive problem of implicit type conversion.
@sil My parents said my MVP took about 4½ minutes.
Then a couple decades of minor and major revs
@sil @whitequark I think it’s that someone sees the comparison truth tables and work backwards to “this was not designed”

@sil fair point but the difference between 10 days and a month for language design and implementation is kinda huge IMO

(or maybe not, I'd be curious to know what brendan eich would say about being given more time in the early days)

@sil I’ve heard that a world was created in seven days.

@sil perhaps the larger problem was Microsoft implementing it as a Netscape competitor, which meant early mistakes (like the many implicit coercions which have lead to countless bugs) were quickly solidified with no opportunity to fix them without breaking the Web.

IIRC Brendan Eich claimed Microsoft reached out to him about the coercions, and Eich said it was too late to fix them. However, he later changed his mind and asked Microsoft if they wanted to fix them. "Too late!" replied Microsoft.

LB 👆 Relatedly, Dolly Parton wrote "Jolene" and "I Will Always Love You" on the same day.
@futzle "the nbn was designed on the back of a coaster!"
When did we stop being allowed to brainstorm things?
@sil it’s not that hard to just make stuff, but management in companies are sold the idea that it’s really hard and dangerous to let your own engineers build stuff, so they pay through the nose for a second rate SaaS solution that does the easy bit poorly, and where their engineers still need to do the hard parts (but now complicated by having to work via the third party thingy).
@sil Many of the features people hate (including implicit conversions, IIRC) were not introduced in the first 10 days, but were later design by committee additions.