I continue to be baffled and amused by the complete meltdown of the typescript community over the actions of a single man on a single package. The only people who have legitimate gripes are those that had been actively contributing and whose work was erased. The rest of you are acting absurdly childish. The anger and vitriol being thrown at anyone who disagrees on how to write javascript would make me embarrassed if I was associated or involved in the ts community.
They not only removed typescript without implementing an alternative breaking many projects depending on that library but they did it without informing the open source community which means many people who invested their time in making PRs (there was 60+ open PRs) have to basically completely redo their work.
Yes, and the people directly contributing to the project have legitimate gripes. Although, the parable of dhh is if you get on an asshole scorpions back, don’t be surprised if you get stung. Dudes been an unreasonable prick for nearly 20 years now.
My comments directed at the manufactured outrage from the tooling zealots incapable of having a mature conversation. Or even accept a difference of opinion. The number of comments that start with, "never heard of Turbo, but let me weigh in on why you’re an idiot for not liking Typescript. " is very telling…
Which project is this? So, the project owner did this?
Ah, it’s Turbo
To be fair, how could you not believe that he was gonna go Turbo?
Ootl, what’s going on? I haven’t read anything
Start here https://github.com/hotwired/turbo/pull/972 and then https://github.com/hotwired/turbo/pull/973
Tldr someone moved a popular repo from typescript to JavaScript, the negative response was quite overwhelming.
The speed of a single-page web application without having to write any JavaScript
Ahahahahahahaha! 😂
The fact is that I actually rather like JavaScript. I’d go so far as to say it’s my second favorite language after Ruby. Yes, a distant second, but a second none the less. This wasn’t always the case. But after we got proper classes in JavaScript, and all the other improvements that flowed since ES6, it’s become a real joy to write.
Is it just me or is the tone here unnecessarily aggressive?
(Read the PR to understand)
Cheers
It started here: https://world.hey.com/dhh/turbo-8-is-dropping-typescript-70165c01
Sorry, I’m out of the loop. Can you ELI5 what happened/what even is going on with TS?
Nothing is actually going on with typescript. This guy who’s a big name in programming for creating a lot of good things and having a lot of shitty opinions just removed typescript from one of their projects and some folks are desperate to make that be a big news.
They removed typescript because they saw no benefit in using it. Then a lot of folks who can’t deal with typescript got excited because “hey someone is trashing that thing I hate”.
Here is an alternative Piped link(s):
https://piped.video/watch?v=5ChkQKUzDCs
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source, check me out at GitHub.
deleted by creator
Maybe DHH influential and many will follow in his footsteps
deleted by creator
Yeah, hopefully. Because walking around in a foreign country without any kind of navigation is a pure joy.
When I saw “dhh” on the post about this turbo decision that said it all really. Dhh is a tool.
Care to clue me in? I spend my time far, far away from the web dev sphere :p
He became a patron saint because he developed Rails, and he huffed too many of his own farts. His track record can be boiled down to thinking he knows what’s best and the evidence is damning
- https://world.hey.com/dhh/turbo-8-is-dropping-typescript-70165c01 The decision that made the spaghetti flow out of our collective pockets
- https://janeyang.org/2021/04/27/an-open-letter-to-jason-and-david/
- https://www.theverge.com/2021/4/27/22406673/basecamp-political-speech-policy-controversy
- https://tomstu.art/the-dhh-problem
- https://www.youtube.com/watch?v=FnmZhXWohP0&t=430s&pp=ygUJZGhoIHJhaWxz
- https://thenewstack.io/railsconf-and-dhh-go-their-separate-ways/
See also: https://en.wikipedia.org/wiki/Narcissistic_personality_disorder
huh. what was the rationale for removing it in the first place? seems like a waste to throw away a whole codebase worth of perfectly good type annotations
No rationale provided.
They wanted to generate controversy to help market a new set of products they are announcing.
shitposting
JSDoc enjoyers:
I recently made a small pure JS package at my company. It just fucking worked, can you believe it? No setting up compilation and CI/CD for build + release. Just put it in the repo and publish manually, and it just worked, it’s ridiculous
CI/CD is useful regardless of which language you’re using. Sooner or later some customer is going to yell at you because you didn’t discover the fatal error before deploying.
@magic_lobster_party @alphacyberranger @unsaid0415 CI/CD won’t prevent that. I wonder what it is for. Not using the CPU on my laptop for tests? And why would I want to commit before knowing the tests pass?
CICD isn’t an alternative to testing your own work locally. You should always validate your work before committing. But then once you do, the CICD pipeline runs to run the tests on the automation server and kicks off deployments to your dev environment. This shows everyone else that the change is good without everyone having to pull down your changes and validate it themselves. The CICD pipeline also provides operational readiness since a properly set up pipeline can be pointed to a new environment to recreate everything without manual setup. This is essential for timely disaster recovery.
If you’re just working on little projects by yourself, it’s usually not worth the time. But if you’re working in anything approaching enterprise grade software, CICD is a must.
He says as though he’s never had two PR merges conflict logically with each other
@Stumblinbear I only worked on small projects so far, that’s probably why I don’t understand it. But a merge commit is like any other commit and the person pushing this commit has to make sure it works.
When working in teams, merging in two pull requests with seemingly unrelated changes is common practice. If I had to rebase and re-run tests every time another PR got merged in while mine was awaiting reviews, I’d spend most of my time running tests
Did it work? How do you know that? A consumer of your package sends a int when your package expects a string.
What now?
Consumer just needs to write 4x as many unit tests to make up for lack static typing. Hopefully the library author has done the same or you probably shouldn’t use that library.
4x as many unit tests
Well… the people fighting against TS are simply not testing things thoroughly. So they are not writing those tests.
Some times that’s even perfectly ok. But you don’t want to build things over a complex library that has this attitude.
(Except for svelte. It’s meaningless for svelte, as TS was always a really bad fit for it.)
It’s ok, just do what my company does and write no tests at all!
Hey man it passed the CICD. Not my problem
Theoretically, they’ll test and notice that doesn’t work and fix their code before they deploy it to production.
Where can you point to other developers evidence that the code in git matches the code you deployed? Deploying locally built packages to prod is an automatically fireable offense because its not auditable
WTF are you talking about? All I’m saying is that if you write code (that in the context of this discussion passes arguments to a method you didn’t write, that may not be the type the author of the method expected someone to pass, but really, that’s completely beside the point), you should, oh, I don’t know, maybe test that it actually works, and maybe even (gasp) write some automated tests so that if anything changes that breaks the expected behavior, the team immediately knows about it and can make appropriate changes to fix it. You don’t need a strongly typed language to do any of that. You just need to do your job.
deleted by creator
I thought it was clear: they’re implying JS is simpler/faster to write and deploy because transpilation is necessary when using TS (unless you use a modern runtime).
People seems to be riled up by this, but turbo is mostly used with ruby on rails, right? I’m not familiar with ruby on rails, does it actually support some form of static typing it type hints? From the blog post, the dev (which is also the ruby on rails creator) doesn’t seem to be a fan of bolting static typing into dynamic typing language.
RoR is very… specific. Some love it because it comes with magic. Many hate it for the same reason.
You either knows the magic and love it, or you hate it with a passion. You never really know when (not if) your change will break the system because it’s supposed to name in a very specific way that work by, again, magic.
In Ruby, the convention is usually that things are duck-typed (the actual types of your inputs don’t matter as long as they implement whatever you’re expecting of them, if not, we throw an exception). Type hinting could be possible, but it basically runs contrary to the idea.
Now, Ruby on Rails developers are expecting some kind of magic conversion happening at the interfaces. For example, ActiveRecord maps the database datatypes to Ruby classes and will perform automated conversions on, say, date/time values. But from the developer perspective it doesn’t generally matter how this conversion actually happens, as long as there’s something between the layers to do the thing.
It’s also used quite a bit with Symfony framework (PHP) which is strongly typed. I use it for example at https://schedule.lemmings.world. A shame, really.
Repo?
It was for turbo
Got a few minutes into the context video before I head to close it. Do people actually enjoy YouTubers presenting stuff in this manner?
Yes I do.
Found him when learning vim and watched a few of his twitch streams. Quite enjoy his takes on things. Not the biggest fan of this new reaction content but do occasionally watch ones related to the tech I use for the day job
Yeah, sometimes it’s too over the top. But he has some thoughts that are kind of refreshing to hear in this Twitter driven development world.
Do we now have “influencer programmers” now? 🤣
We always have had em, they’re just on YouTube now too 😂
Huh… now that you mention it, I guess that’s what people like Bob Martin and mpj (along many others of course) might classify as. Would any guru fall under this category?
deleted by creator
Here is an alternative Piped link(s): https://piped.video/Bv3YhGku92w?si=uuyb8Cyfn06BLX6o
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source, check me out at GitHub.
I still dont get it why they remove ts??? its dumb in many ways.
Is strange… In the video I linked, he said it apparently broke some repos. He also said that they could have at the very least added in jsdoc comments to keep types without requiring extra tooling.
ok.
What’s with that si parameter?
I think it is share ID. I’ve noticed YouTube started putting them in links made with the share button.
Not sure, I copied the link from the share button on the mobile app
deleted by creator
I’d reject anything from Theo too tbh
shots fired
more like t -3
are browsers and libs good enough to do front end without a build step yet?
you’re perfectly welcome to throw hand rolled html/css/js on an ftp server
I feel that’s something frontend devs deliberately left behind to make them feel like big dogs do /s
Watching Bun 1.0 release closely, as seems to be helping move web development much closer to that goal. Fingers crossed.
#971 is correct
Ts is shit, just use js they even want to add types to vanilla js
There is a reason types exists…
So, they want to incorporate TypeScript into vanilla JS?
No. They want to add syntax which allows browsers to parse typed code, but it would just be ignored - the type checking would still have to be done by e.g. Typescript.