Typescript is nice in comparison to standard js. Static typing is a blessing.
Have you ever had to refactor something large without static typing? I'd find that unimaginable, but I'm not sure if that's really because it's hell, or because I don't have enough imagination. I never lived in those those woods. I don't know them.
@faun I heard about deno but I'm not really interested in js/ts as backend language. Plenty of better options available. I haven't worked with really big codebases yet. I love refactoring in statically typed languages tho: break stuff -> fix until compiler is happy -> usually everything works
@TeddyDD What're the shortcomings of TS as a backend?
@faun I'd ask what are advantages? Underlying JS is not advantage for sure, NPM ecosystem is huge but JVM, Python and Ruby also have mature set of libs. TS is nothing special in comparison to other back-end languages - not the fastest, not greatest support for concurrency, definitely not safest. It's probably decent option if you don't want learn new technology but personally I wouldn't use it.
@TeddyDD just the fact that browsers support js. Easier to find devs, and sometimes it's useful to share code between server and client. JS engines are also pretty fast for a dynamic language, aren't they?
@faun Kotlin and other languages can transpile to js so that's not unique to TS. Yup, JS engines are crazy fast for dynamic languages (Luajit might be faster but it doesn't got much love recently)
@TeddyDD That doesn't mean you can put Kotlin in any hole where you might have put typescript. It can't easily use JS libraries, it can't be worked in browser consoles, can it?
JS's community size (and potential for growth) seems to outweigh any of the design advantages Ruby or Lua could have over it. It may be that I'm not sensitive to the design differences, I've always been more familiar with static languages... I think a lot of people are going to overstate their importance.
@faun oh you absolutely right. I'll probably be working as js dev pretty soon so I can tell it's used almost everywhere :) I mostly talk about my preferences for backed language - I woudn't be using JS/TS as back-end language for projects I manage
@TeddyDD I mean, I would be glad if it turned out that it makes sense to not use TS as a backend, haha.
I used to do a lot in Scala (it can be js-transpiled). I have an old prototype for a redditlike written in that, somewhere. The only feature I miss is implicit parameters, but they did bamboozle me multiple times in the obvious ways that "implicit" things tend to, so I only miss them a little