Software Engineering

Rails Creator Removes TypeScript from Turbo Framework, Sparks Backlash

David Heinemeier Hansson's decision to remove TypeScript from his Turbo framework has sparked heated debate in the web dev community over dynamic vs static typing approaches.
Published on
September 8, 2023

David Heinemeier Hansson, creator of the popular Ruby on Rails web development framework, recently made the controversial decision to remove TypeScript support from the upcoming version 8 release of the Turbo framework.

Turbo is a JavaScript framework for building reactive web applications that is sponsored by Hansson's company Basecamp. While not as widely used as Rails, Turbo has an active open source community.

In the pull request where he removed TypeScript from Turbo, Hansson stated he has "never been a fan" of TypeScript and feels it "pollutes the code." He prefers using plain JavaScript instead.

This change has sparked backlash among many Turbo users and contributors. A comment on the pull request expressing disagreement has over 350 upvotes, indicating broad opposition to the change.

Critics argue that removing TypeScript is a step backwards that will break existing code dependent on TypeScript types. They also complain that the decision was made in a rushed manner without considering feedback from the community. Some note this will make IDE auto-completion not work as well for Turbo anymore.

In response, Hansson has defended his position on preferring vanilla JavaScript over TypeScript. He says this change brings Turbo in line with how they write client-side code at Basecamp now.

The debate reflects the contentious divide in the web development community over static versus dynamic typing approaches. While some believe TypeScript's static types provide critical type safety, Hansson feels it overly complicates code.

There are also disagreements around whether this change aligns with open source principles. Some argue the project leader can set the direction, while others feel community input should have been considered.

A few developers point out that other frameworks like Svelte have also moved away from TypeScript recently. However, some counter that Svelte still utilizes type hints while Hansson has removed types entirely.

Some users across Reddit and Twitter also expressed concerns around relying too heavily on JavaScript and TypeScript for web development in the first place. They believe it would be better to have more language options.

This incident highlights the challenges of governing popular open source projects, balancing a project leader's prerogative with community input. It remains to be seen what long-term impact this move will have on Turbo's adoption.

Read next

Coming soon
Feature one
Feature two
Feature three
Backed by Europe's top VCs
Blog
See all ->
Coming Soon: Release & Change Sensors
(Fund)Raising 🙌 Women on International Women’s Day
When done isn’t finished