Live data from Hacker News

How we failed, then succeeded, at migrating to TypeScript

heap.io

51–60 of 60 posts

Re: How we failed, then succeeded, at migrating to TypeScript

#51
post #6

I was looking at some of my old repos today. Enjoyed the nostalgia. Lots of CoffeeScript there. I had to switch to ES and then TypeScript because CoffeeScript was abandoned at the time and I was stretched over other projects to be able to help maintain it. Reading my old code, I was surprised by how clean it looks. How easy it is to digest. There is a certain sense of calm when your brain doesn't have to process all…

> How easy it is to digest I’ve not had this experience. I’ve found the ambiguity in coffeescript a maddening adventure in syntax confusion. - function call syntax doesn’t need parens except if a 0 parameter method - commas are largely optional both in arrays and function parameters. How do you parse: [f, f(), f a b c] - implicit returns are a terrible idea. - the @ syntax refers to either a ‘static’ method or an ins…

Don't forget fat arrow vs. thin arrow. If you're not writing Coffeescript 24/7 you start to forget which is which.

Re: How we failed, then succeeded, at migrating to TypeScript

#52

> The most important realisation we had going into this renewed effort was that a successful migration has to be centered around people, not just tech. Key insight. It’s always people first, code is a far distant second. Love Kent Beck’s series on this, so insightful https://medium.com/@kentbeck_7670/software-design-is-human-r... Great read, Heap team! Thanks for sharing :-D

I routinely bore people with the Abelson quote that programs are written for humans to read and only incidentally for computers to execute.

Re: How we failed, then succeeded, at migrating to TypeScript

#53

Yes, we were adding TypeScript code, but we were adding CoffeeScript at a faster rate So the devs were able to iterate faster with CS than with TS?

Another interpretation would be that a majority still picked Coffeescript out of familiarity and interop issues in their specific codebase. Iteration speed could be comparable or better in Typescript too, we don't know.

Re: How we failed, then succeeded, at migrating to TypeScript

#54
post #3

I was looking at some of my old repos today. Enjoyed the nostalgia. Lots of CoffeeScript there. I had to switch to ES and then TypeScript because CoffeeScript was abandoned at the time and I was stretched over other projects to be able to help maintain it. Reading my old code, I was surprised by how clean it looks. How easy it is to digest. There is a certain sense of calm when your brain doesn't have to process all…

You just gave me an idea.. because we've shared a similar experience. I really miss the elegance of Coffeescript. ES6 is great, Typescript is great, but sometimes I feel like I have to visually parse a lot of static cruft to read the essence of the program. What if one's editor had a toggle hotkey to hide typescript typings. Maybe you could turn it off to visually parse the program real quick, before turning it back…

What about instead maintaining the type definitions in a separate file, and then having the editor add in the type hinting?

Re: How we failed, then succeeded, at migrating to TypeScript

#55
post #50

Earlier quoted context omitted.

So tell me what's constructive in your comment? Oh, and downvoting is about the least constructive you can go, I won't downvote you :) Tell me honestly, what point I made you don't agree on? Try to make your point please.

We've banned this account for breaking the site guidelines. If you don't want to be banned, you're welcome to email hn@ycombinator.com and give us reason to believe that you'll follow the rules in the future. https://news.ycombinator.com/newsguidelines.html

It would definitely help if you tell me which rule I broke that made you ban this throw away account in the first place. Without that I think it's more convenient for me to create a new account instead of sending an email as you suggest.

Re: How we failed, then succeeded, at migrating to TypeScript

#56
post #49
post #33

Earlier quoted context omitted.

CS is what happens when you let Ruby devs write JS. TS is what happens when you let .net devs write JS. Let's see how that turns out in the long run.

The most depressing thing for me as someone who loves F# is how `.net` is nearly synonymous with C# in most people's minds

I have the feeling Reason has more in common with F# than TypeScript, haha.

Re: How we failed, then succeeded, at migrating to TypeScript

#57

Yes, we were adding TypeScript code, but we were adding CoffeeScript at a faster rate So the devs were able to iterate faster with CS than with TS?

Often the reason is as simple as "This file I'm adding to is in coffeescript and I don't want to convert it right now"

Re: How we failed, then succeeded, at migrating to TypeScript

#58
post #50

Earlier quoted context omitted.

We've banned this account for breaking the site guidelines. If you don't want to be banned, you're welcome to email hn@ycombinator.com and give us reason to believe that you'll follow the rules in the future. https://news.ycombinator.com/newsguidelines.html

It would definitely help if you tell me which rule I broke that made you ban this throw away account in the first place. Without that I think it's more convenient for me to create a new account instead of sending an email as you suggest.

Flamewar comments and snark and crossing into personal attack. Example: https://news.ycombinator.com/item?id=21242827.

If you'll commit to not doing those things and to following all the guidelines (most importantly this one: Be kind) when posting here, we'll be happy to unban you.

Re: How we failed, then succeeded, at migrating to TypeScript

#59
post #7

Earlier quoted context omitted.

If you want the quiet syntax of CoffeeScript and even better type safety than TypeScript, you might be interested in Elm. https://guide.elm-lang.org/

Elm is not compatible with js library or at least it's not seamless.

Yeah well, sometimes js library isn’t compatible with js library either

Re: How we failed, then succeeded, at migrating to TypeScript

#60
post #58

Earlier quoted context omitted.

It would definitely help if you tell me which rule I broke that made you ban this throw away account in the first place. Without that I think it's more convenient for me to create a new account instead of sending an email as you suggest.

Flamewar comments and snark and crossing into personal attack. Example: https://news.ycombinator.com/item?id=21242827 . If you'll commit to not doing those things and to following all the guidelines (most importantly this one: Be kind ) when posting here, we'll be happy to unban you.

Thank you for your reply.

My comment was indeed a little edgy, I have my reasons for that. But the intent was not a personal attack, although I now see that some of the words used were indeed on that edge.

I see in the history of your comments that it is not normal for you to ban an account just right away without any warning. I have no clue why you made this exception for me, I see much worse around on HN. My account was never blocked btw, it's still working. Feel free to try to block it again if you wish so, I won't use it anymore anyways.

I truly hoped I was able to shed a light on things many people normally don't see, the intent was positive but apparently I failed to do so rightly. I am human and cannot promise to always be kind. Therefore this better concludes my contribution to HN. Wishing you all the best.

Post reply on HN