Live data from Hacker News

Turbo 8 is dropping TypeScript

world.hey.com

21–30 of 88 posts

Re: Turbo 8 is dropping TypeScript

#21
Personally, after working with barely typed Django and typed FastAPI it's not even a contest that typing wins. I get it that rapid delivery of the frontend may shift that, but I did Flutter development as well, and I loved it, because it was typed. Explicit types deliver an ability not to pull hairs off the forehead like nothing else does.

Re: Turbo 8 is dropping TypeScript

#22
So I have been musing on TS this for a while. I put my self in the rare “open minded about types” camp.

My biggest beef with TS is you need to compile it, and JS development has enough complexity with module systems and stuff as it is. Compile to JS languages IMO should take the entire burden away like Elm does, otherwise they add a lot of troubleshooting work.

I wonder if type annotations on plain JS could be the way to go. Lint, but don’t compile. This should work seamlessly with NPM modules etc.

Even with such a system I am sure DHH might still want to forego and that is fair enough. But a little sprinkling of simple types such as “this is a string” goes a long way towards documenting the code.

Re: Turbo 8 is dropping TypeScript

#23
post #3

My least favourite thing about vanilla JS is finding out at runtime that I made a typo. That's an annoying thing that TS completely solves, among many others. I really don't see how you could use TS for any amount of time and wish to revert back. >Things that should be easy become hard, and things that are hard become `any`. No thanks! Denouncing a type system because you refuse to use it correctly seems short sighte…

I often wonder if people who have trouble typing things, or have to us the 'any' type, ever really learned how to program.

any (concept not keyword) is useful when you NPM install something without types and just do a define module in a local .d.ts. You are implicitly any-ifying that package.

Re: Turbo 8 is dropping TypeScript

#24
After using typescript I could never go back. The amount of times it's saved me or got me up to speed quickly is countless. It does come with a cost and god the error messages are just awful sometimes but I'd die before I ever work in a js only project again.

Re: Turbo 8 is dropping TypeScript

#25
I think there is something to say for only having typed libraries. Using a decent code editor, you could write JavaScript with most of the Typescript benefits coming via typings and inference.

It looks like Turbo is a solution where you don't have to write JavaScript. So Turbo maybe Turbo falls into that bucket as well?

But any JavaScript library has to have typings, even for the people who write JavaScript. Because otherwise their autocomplete does not work. I think libraries should have a higher bar anyways in general, for types, but also testing, documentation etcetera.

Re: Turbo 8 is dropping TypeScript

#26

So I have been musing on TS this for a while. I put my self in the rare “open minded about types” camp. My biggest beef with TS is you need to compile it, and JS development has enough complexity with module systems and stuff as it is. Compile to JS languages IMO should take the entire burden away like Elm does, otherwise they add a lot of troubleshooting work. I wonder if type annotations on plain JS could be the wa…

With ts-node or Deno there is no compile step you have to do yourself. For frontend, bundlers can be setup where it is pretty transparent.

Re: Turbo 8 is dropping TypeScript

#27
post #26

So I have been musing on TS this for a while. I put my self in the rare “open minded about types” camp. My biggest beef with TS is you need to compile it, and JS development has enough complexity with module systems and stuff as it is. Compile to JS languages IMO should take the entire burden away like Elm does, otherwise they add a lot of troubleshooting work. I wonder if type annotations on plain JS could be the wa…

With ts-node or Deno there is no compile step you have to do yourself. For frontend, bundlers can be setup where it is pretty transparent.

I have found practically with ts-node or bundlers ... you can get knocked off the happy path, have problems, you need to fiddle with tsconfig.json and you need to spend ages in StackOverflow posts to fix it. This sometimes happen if you want to use a certain library, or doing a mass upgrade of a 2 year old project. I have no experience with Deno.

Re: Turbo 8 is dropping TypeScript

#28

So I have been musing on TS this for a while. I put my self in the rare “open minded about types” camp. My biggest beef with TS is you need to compile it, and JS development has enough complexity with module systems and stuff as it is. Compile to JS languages IMO should take the entire burden away like Elm does, otherwise they add a lot of troubleshooting work. I wonder if type annotations on plain JS could be the wa…

He basically had this option, and it's the way that Rich Harris and the Svelte team went a few months back by adopting JSDoc, and honestly his reasoning for dropping typescript in favor of another typing system is pretty sound and did result in clear benefits for both users and maintainers.

DHH has something specific against types in general which I really don't understand. And that's fine, I'm happy to let him and 37 signals do whatever they want. I probably won't be super duper interested in applying to work on basecamp/hey, but that's his choice and I'm sure there are devs there who do prefer it. It sounds like they've been doing it for a while.

But this is an open source project with users and contributors outside the company. It absolutely can and will impact those people. Types supercharge your IDE with better linking, docs, and error detection. It will be harder to work on and around this project, and many current open PRs now will need to be refactored, and the way people build things will need to change.

And that wouldn't even be so bad if the proposal had come out more than a few hours before the merge. It's clear that no community engagement was even considered.

Re: Turbo 8 is dropping TypeScript

#30

Earlier quoted context omitted.

I often wonder if people who have trouble typing things, or have to us the 'any' type, ever really learned how to program.

any (concept not keyword) is useful when you NPM install something without types and just do a define module in a local .d.ts. You are implicitly any-ifying that package.

I'm referring to people who get frustrated and use 'any' as an escape. Especially in programs they write themselves. That's just incompetence.
Post reply on HN