DEV Community

Cover image for Would you contribute to a JavaScript OSS Project that uses static types?
Nick Taylor
Nick Taylor

Posted on • Updated on • Originally published at

Would you contribute to a JavaScript OSS Project that uses static types?

If you wanted to contribute to a large/popular front-end or node project, but discovered it used static types via TypeScript or Flow and you had no experience with either, would it deter you from contributing or would you just dive in?

If you were deterred, would onboarding, e.g. documentation, training potentially via pair programming, live coding sessions change your mind?

And if you're curious about static types, here's some good starting points

Photo courtesy of Flickr user Henadz

Top comments (6)

ben profile image
Ben Halpern

I think as long as the onboarding process is well-explained, the choice is good as long as the tech is stable. I'm against jumping too quickly into these kinds of dependencies, but now that they've been around for a while, I feel like it's reasonable. For everyone turned away by the one more thing idea, there will be someone else excited to learn a new paradigm.

dmfay profile image
Dian Fay

I've never bothered with static types in my own JavaScript code and don't intend to start anytime soon, but I've used other languages that have them so it's not like they're completely foreign to me. If I wanted to make whatever change badly enough, I could probably pick up enough of the syntax just from the existing codebase.

millebi profile image
Bill Miller • Edited

A project depending on a nuanced difference in syntax wouldn't be a problem for me. I already know 30 languages where 30% are just a difference in syntax from the "core", so adding another one isn't a problem.

I do agree with Ben Halpern's comment about stable tech, learning a piece of tech that is currently very unstable can be a waste of my time; unless I'm actually interested in helping the tech become more stable.

I find that many people are too stuck in their current stack and are way too resistant to changing to a new one. Their problem will be that eventually their favorite stack will become "old school" and the new stuff will be in a new stack ... which means that these people will be relegated to doing maintenance or working on the legacy codebase.

Remember: Coding is a large slow moving stream with rapids, you either move with it and adapt, or it washes over you and you drown.

rhymes profile image
rhymes • Edited

I would say to myself "oh well, another JavaScript thing I have to learn" but if I really wanted to contribute to the project I would pick it up. I'm not primarily a frontend dev and I've only seen TypeScript "en passant".

fyodorio profile image

I didn’t understand the question at first glance) I would rather hesitate to contribute to code with dynamic types!) it’s less stable, less clear, less ‘documented’.