Home | Blog (rss) | Zunda Zone | Animals | < shring >

Typescript is a Great Pick for Open Source


There’s two things people want in a programming language. The language must be enjoyable to use and the language must make you feel special. And no, nobody cares about performance. Unfotuneately, Typescript is maybe enjoyable sometimes and is far too accsible to make you a special genius.

This accessibility though, is why it’s a great choice for any open source tools. Finding contributors for you project is the most difficult part of development so, as open source developers, our number one goal is lowering that hurdle. Picking Typescript for your next project will be more of a boon than a burden.

Onboarding new developers

People pick up Typescript quickly. During my time managing Hermitcraft TCG, we gained several contributors wha knew Typescript before joining our project. Some of who went on to become maintainers for parts of the project. There are two big reasons why new Typescript users pick up the language so quickly. First, Typescript is very similar to other popular languages such as Java or Python, which most programmers are familiar with. Second, there is a large amount of questions and answers on the internet.

Although Typescript has many pitfalls and traps, I do not see contributors running into them. Newcommers are very cautious. They will avoid anything that seems a little weird at all costs.

Windows Support

I am a Linux die-hard, and would not like to admit it, but there are many talented developers that work on Windows. My project, Hermitcraft TCG, is actually largly developed by Windows users with me being the “Linux Guy”. Its easy forget that there’s people who love to program who don’t use a unix system.

Many languages, such as Haskell, can be difficult to for Windows users to set up. Typescript on the other hand, is a little easier. Yes, I wish everyone just used WSL and this wouldn’t be an issue, but people don’t use it. That doesn’t mean they can’t be a be an effective member of your team.

Coding styles

Every single person you meet will program a little differently. One method to solve this problem is to use a language such as Go or Haskell that encourages you to program in a specific style. But, by picking one of these languages you will ruin the enjoyment of a large part of your potential contributor pool. If you use Go, functional bros will be too egotistical to touch your project, if you pick Haskell only the functional bros will be able to contribute, and if you pick Rust you are locking off inexperiencd developers from working on your project.

Typescript is disliked a little bit by everyone. For this reason, your contributors can code in their own way most of the time, until they hit the parts of the language they aren’t happy with. I like to see everyone’s personal styles in my projects as well. It gives character to what you are working on.

In conclusion

Picking a language that seems more fun can be a large burden for a project. If you want your open source project to grow and last longer than you could have imagined, you will need to optimize for ease of contribution.